diff --git a/flake.nix b/flake.nix index cfe52c5..7f262c5 100644 --- a/flake.nix +++ b/flake.nix @@ -170,47 +170,47 @@ }; }; }; - outputs = { - self, - nixpkgs, - flake-parts, - flake-utils, - ... - } @ inputs: let - inherit (self) outputs; - rootPath = ./.; - in - flake-parts.lib.mkFlake {inherit inputs;} { + outputs = + { + self, + nixpkgs, + flake-parts, + flake-utils, + ... + }@inputs: + let + inherit (self) outputs; + rootPath = ./.; + in + flake-parts.lib.mkFlake { inherit inputs; } { systems = flake-utils.lib.defaultSystems; imports = [ inputs.home-manager.flakeModules.home-manager ]; - perSystem = { - pkgs, - system, - ... - } @ args: { - _module.args.pkgs = import inputs.nixpkgs { - inherit system; - config = { - allowUnfree = true; + perSystem = + { pkgs, system, ... }@args: + { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + config = { + allowUnfree = true; + }; }; + packages = import ./pkgs ( + args + // { + inherit inputs; + } + ); }; - formatter = pkgs.alejandra; - packages = import ./pkgs ( - args - // { - inherit inputs; - } - ); - }; flake = { nix.settings = { # substituters shared in home-manager and nixos configuration - substituters = let - cachix = x: "https://${x}.cachix.org"; - in + substituters = + let + cachix = x: "https://${x}.cachix.org"; + in nixpkgs.lib.flatten [ (cachix "nix-community") "https://cache.nixos.org" @@ -221,30 +221,30 @@ nixosModules.default = import ./nixos/modules; overlays = { - modifications = import ./overlays/modifications {inherit inputs outputs;}; - additions = import ./overlays/additions {inherit inputs outputs;}; + modifications = (import ./overlays/modifications { inherit inputs outputs; }); + additions = (import ./overlays/additions { inherit inputs outputs; }); }; - nixosConfigurations = let - nixosConfigDir = ./nixos/configurations; - makeNixConfiguration = hostName: - nixpkgs.lib.nixosSystem { - modules = - [outputs.nixosModules.default] - ++ [ - ( - let - dirPath = nixosConfigDir + "/${hostName}"; - filePath = nixosConfigDir + "/${hostName}.nix"; - in - if builtins.pathExists dirPath - then dirPath - else filePath - ) - ]; - specialArgs = {inherit inputs outputs rootPath;}; - }; - in + nixosConfigurations = + let + nixosConfigDir = ./nixos/configurations; + makeNixConfiguration = + hostName: + nixpkgs.lib.nixosSystem { + modules = + [ outputs.nixosModules.default ] + ++ [ + ( + let + dirPath = nixosConfigDir + "/${hostName}"; + filePath = nixosConfigDir + "/${hostName}.nix"; + in + if builtins.pathExists dirPath then dirPath else filePath + ) + ]; + specialArgs = { inherit inputs outputs rootPath; }; + }; + in nixosConfigDir |> builtins.readDir |> builtins.attrNames @@ -257,42 +257,45 @@ } // ( let - mkHomeConfig = { - hostName, - unixName ? "david", - system ? "x86_64-linux", - nixpkgs ? inputs.nixpkgs, - home-manager ? inputs.home-manager, - }: { - "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages."${system}"; - modules = - [ - "${toString ./home}/${unixName}/configurations/${hostName}" - ] - ++ (with outputs.homeModules; [ - default - extra - ]) - ++ [ - outputs.homeModules."${unixName}" - ]; - extraSpecialArgs = { - inherit - inputs - outputs - unixName - hostName - system - rootPath - ; + mkHomeConfig = + { + hostName, + unixName ? "david", + system ? "x86_64-linux", + nixpkgs ? inputs.nixpkgs, + home-manager ? inputs.home-manager, + }: + { + "${unixName}@${hostName}" = home-manager.lib.homeManagerConfiguration { + pkgs = nixpkgs.legacyPackages."${system}"; + modules = + [ + "${toString ./home}/${unixName}/configurations/${hostName}" + ] + ++ (with outputs.homeModules; [ + default + extra + ]) + ++ [ + outputs.homeModules."${unixName}" + ]; + extraSpecialArgs = { + inherit + inputs + outputs + unixName + hostName + system + rootPath + ; + }; }; }; - }; - in { + in + { homeConfigurations = - nixpkgs.lib.foldr (a: b: a // b) {} ( - map (hostName: mkHomeConfig {inherit hostName;}) [ + nixpkgs.lib.foldr (a: b: a // b) { } ( + map (hostName: mkHomeConfig { inherit hostName; }) [ "Tytonidae" "Akun" ] @@ -312,10 +315,10 @@ |> nixpkgs.lib.filterAttrs (key: value: value == "directory") |> nixpkgs.lib.filterAttrs ( key: value: - !builtins.elem key [ - "modules" - "extra" - ] + !builtins.elem key [ + "modules" + "extra" + ] ) |> builtins.attrNames |> map (name: { @@ -328,27 +331,30 @@ ) // ( let - mkDeployNode = { - hostName, - unixName ? "deploy", - system ? "x86_64-linux", - sshName ? hostName, - }: { - "${hostName}" = { - hostname = "${sshName}"; - sshUser = "${unixName}"; - interactiveSudo = true; - profiles = { - system = { - user = "root"; - path = - inputs.deploy-rs.lib."${system}".activate.nixos - self.outputs.nixosConfigurations."${hostName}"; + mkDeployNode = + { + hostName, + unixName ? "deploy", + system ? "x86_64-linux", + sshName ? hostName, + }: + { + "${hostName}" = { + hostname = "${sshName}"; + sshUser = "${unixName}"; + interactiveSudo = true; + profiles = { + system = { + user = "root"; + path = + inputs.deploy-rs.lib."${system}".activate.nixos + self.outputs.nixosConfigurations."${hostName}"; + }; }; }; }; - }; - in { + in + { deploy.nodes = [ "Cape" @@ -356,11 +362,11 @@ ] |> map ( hostName: - mkDeployNode { - inherit hostName; - } + mkDeployNode { + inherit hostName; + } ) - |> nixpkgs.lib.foldr (a: b: a // b) {}; + |> nixpkgs.lib.foldr (a: b: a // b) { }; } ); }; diff --git a/home/alice/configurations/Cape/default.nix b/home/alice/configurations/Cape/default.nix index d42bd6b..4264eaa 100644 --- a/home/alice/configurations/Cape/default.nix +++ b/home/alice/configurations/Cape/default.nix @@ -3,7 +3,8 @@ unixName, config, ... -}: { +}: +{ youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/alice/modules/default.nix b/home/alice/modules/default.nix index 6462967..c915eb0 100644 --- a/home/alice/modules/default.nix +++ b/home/alice/modules/default.nix @@ -1 +1 @@ -{...}: {} +{ ... }: { } diff --git a/home/david/configurations/Akun/default.nix b/home/david/configurations/Akun/default.nix index 6f96f60..f4a9560 100644 --- a/home/david/configurations/Akun/default.nix +++ b/home/david/configurations/Akun/default.nix @@ -4,7 +4,8 @@ config, rootPath, ... -}: { +}: +{ youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/david/configurations/Tytonidae/default.nix b/home/david/configurations/Tytonidae/default.nix index 0607120..b783507 100644 --- a/home/david/configurations/Tytonidae/default.nix +++ b/home/david/configurations/Tytonidae/default.nix @@ -5,7 +5,8 @@ inputs, unixName, ... -}: { +}: +{ youthlic = { xdg-dirs.enable = true; programs = { diff --git a/home/david/modules/default.nix b/home/david/modules/default.nix index 6a20236..49c46bb 100644 --- a/home/david/modules/default.nix +++ b/home/david/modules/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ imports = [ ./wallpaper.nix ./programs diff --git a/home/david/modules/programs/default.nix b/home/david/modules/programs/default.nix index a77c4b6..4d84c73 100644 --- a/home/david/modules/programs/default.nix +++ b/home/david/modules/programs/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ ./openssh.nix ./niri diff --git a/home/david/modules/programs/niri/default.nix b/home/david/modules/programs/niri/default.nix index 17b0286..b9bde1c 100644 --- a/home/david/modules/programs/niri/default.nix +++ b/home/david/modules/programs/niri/default.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.david.programs.niri; -in { +in +{ options = { david.programs.niri = { enable = lib.mkEnableOption "niri"; diff --git a/home/david/modules/programs/openssh.nix b/home/david/modules/programs/openssh.nix index 8ddca81..11e1082 100644 --- a/home/david/modules/programs/openssh.nix +++ b/home/david/modules/programs/openssh.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.david.programs.openssh; -in { +in +{ options = { david.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -33,9 +35,10 @@ in { }; }; }; + }) (lib.mkIf (cfg.enable && config.youthlic.programs.sops.enable) { - programs.ssh.includes = [config.sops.secrets.ssh-config.path]; + programs.ssh.includes = [ config.sops.secrets.ssh-config.path ]; sops.secrets = { "ssh-private-key/tytonidae" = { mode = "0600"; diff --git a/home/david/modules/programs/wluma/default.nix b/home/david/modules/programs/wluma/default.nix index 7c646f2..648ebb5 100644 --- a/home/david/modules/programs/wluma/default.nix +++ b/home/david/modules/programs/wluma/default.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.david.programs.wluma; -in { +in +{ options = { david.programs.wluma = { enable = lib.mkEnableOption "wluma"; diff --git a/home/david/modules/wallpaper.nix b/home/david/modules/wallpaper.nix index bfb869f..10cd699 100644 --- a/home/david/modules/wallpaper.nix +++ b/home/david/modules/wallpaper.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.david.wallpaper; -in { +in +{ options = { david.wallpaper = { enable = lib.mkEnableOption "wallpaper"; diff --git a/home/extra/default.nix b/home/extra/default.nix index 1b62274..fb437ca 100644 --- a/home/extra/default.nix +++ b/home/extra/default.nix @@ -1,4 +1,5 @@ -{inputs, ...}: { +{ inputs, ... }: +{ imports = (with inputs; [ niri-flake.homeModules.niri diff --git a/home/extra/nix.nix b/home/extra/nix.nix index 5540a47..16fea1c 100644 --- a/home/extra/nix.nix +++ b/home/extra/nix.nix @@ -4,12 +4,13 @@ pkgs, inputs, ... -}: { +}: +{ config = { nixpkgs = { config = { allowUnfree = true; - allowUnfreePredicate = _: true; + allowUnfreePredicate = (_: true); }; overlays = [ outputs.overlays.modifications diff --git a/home/modules/default.nix b/home/modules/default.nix index 1ede244..f817748 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,4 +1,8 @@ -{inputs, ...}: { +{ + inputs, + ... +}: +{ imports = (with inputs; [ sops-nix.homeManagerModules.sops diff --git a/home/modules/programs/atuin.nix b/home/modules/programs/atuin.nix index 1a0e037..51bc8c8 100644 --- a/home/modules/programs/atuin.nix +++ b/home/modules/programs/atuin.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.atuin; -in { +in +{ options = { youthlic.programs.atuin = { enable = lib.mkEnableOption "atuin"; diff --git a/home/modules/programs/chromium.nix b/home/modules/programs/chromium.nix index b0a7d85..da740cc 100644 --- a/home/modules/programs/chromium.nix +++ b/home/modules/programs/chromium.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.chromium; -in { +in +{ options = { youthlic.programs.chromium = { enable = lib.mkEnableOption "chromium"; diff --git a/home/modules/programs/default.nix b/home/modules/programs/default.nix index 3c1f93e..dadbcce 100644 --- a/home/modules/programs/default.nix +++ b/home/modules/programs/default.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ imports = [ ./zed.nix ./rustypaste-cli.nix diff --git a/home/modules/programs/espanso.nix b/home/modules/programs/espanso.nix index de11161..9d19bb8 100644 --- a/home/modules/programs/espanso.nix +++ b/home/modules/programs/espanso.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.espanso; -in { +in +{ options = { youthlic.programs.espanso = { enable = lib.mkEnableOption "espanso"; @@ -16,7 +18,7 @@ in { enable = true; package = pkgs.espanso-wayland; configs = { - default = {}; + default = { }; }; matches = { base = { diff --git a/home/modules/programs/firefox.nix b/home/modules/programs/firefox.nix index 17f77dd..79d7e24 100644 --- a/home/modules/programs/firefox.nix +++ b/home/modules/programs/firefox.nix @@ -5,9 +5,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.firefox; -in { +in +{ options = { youthlic.programs.firefox = { enable = lib.mkEnableOption "firefox"; @@ -58,7 +60,7 @@ in { } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = ["@np"]; + definedAliases = [ "@np" ]; }; "Nix Options" = { urls = [ @@ -76,7 +78,7 @@ in { ]; } ]; - definedAliases = ["@no"]; + definedAliases = [ "@no" ]; }; "Home Manager Options" = { urls = [ @@ -94,7 +96,7 @@ in { ]; } ]; - definedAliases = ["hm"]; + definedAliases = [ "hm" ]; }; "NUR Packages" = { urls = [ @@ -102,7 +104,7 @@ in { template = "https://nur.nix-community.org/"; } ]; - definedAliases = ["nu"]; + definedAliases = [ "nu" ]; }; "Nix Flakes" = { urls = [ @@ -120,7 +122,7 @@ in { ]; } ]; - definedAliases = ["nf"]; + definedAliases = [ "nf" ]; }; "NixOS Wiki" = { urls = [ @@ -134,7 +136,7 @@ in { ]; } ]; - definedAliases = ["nw"]; + definedAliases = [ "nw" ]; }; "bing".metaData.hidden = true; "google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias diff --git a/home/modules/programs/foot/default.nix b/home/modules/programs/foot/default.nix index b587d2f..f4920af 100644 --- a/home/modules/programs/foot/default.nix +++ b/home/modules/programs/foot/default.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.foot; -in { +in +{ options = { youthlic.programs.foot = { enable = lib.mkEnableOption "foot"; diff --git a/home/modules/programs/fuzzel.nix b/home/modules/programs/fuzzel.nix index e748925..fc9cb59 100644 --- a/home/modules/programs/fuzzel.nix +++ b/home/modules/programs/fuzzel.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.fuzzel; -in { +in +{ options = { youthlic.programs.fuzzel = { enable = lib.mkEnableOption "fuzzel"; diff --git a/home/modules/programs/ghostty.nix b/home/modules/programs/ghostty.nix index 6fe980c..6d2efda 100644 --- a/home/modules/programs/ghostty.nix +++ b/home/modules/programs/ghostty.nix @@ -3,58 +3,61 @@ config, lib, ... -}: { +}: +{ options = { youthlic.programs.ghostty = { enable = lib.mkEnableOption "ghostty"; }; }; - config = let - cfg = config.youthlic.programs.ghostty; - in (lib.mkIf cfg.enable { - programs.ghostty = lib.mkMerge [ - { - enable = true; - package = pkgs.ghostty; - settings = { - # font-family = "FiraCode Nerd Font"; - # font-feature = [ - # "calt=1" - # "clig=1" - # "liga=1" - # "cv01" - # "cv02" - # "cv06" - # "zero" - # "onum" - # "cv17" - # "ss05" - # "ss03" - # "cv16" - # "cv31" - # "cv29" - # "cv30" - # ]; + config = + let + cfg = config.youthlic.programs.ghostty; + in + (lib.mkIf cfg.enable { + programs.ghostty = lib.mkMerge [ + { + enable = true; + package = pkgs.ghostty; + settings = { + # font-family = "FiraCode Nerd Font"; + # font-feature = [ + # "calt=1" + # "clig=1" + # "liga=1" + # "cv01" + # "cv02" + # "cv06" + # "zero" + # "onum" + # "cv17" + # "ss05" + # "ss03" + # "cv16" + # "cv31" + # "cv29" + # "cv30" + # ]; - # font-family = "Maple Mono SC NF"; - font-feature = [ - "calt" - "zero" - "cv03" - "ss08" - ]; - font-size = lib.mkForce 17; - # theme = "ayu"; - background-opacity = lib.mkForce 0.8; - confirm-close-surface = "false"; - }; - } - (lib.mkIf config.youthlic.programs.fish.enable { - enableFishIntegration = true; - }) - (lib.mkIf config.youthlic.programs.bash.enable { - enableBashIntegration = true; - }) - ]; - }); + # font-family = "Maple Mono SC NF"; + font-feature = [ + "calt" + "zero" + "cv03" + "ss08" + ]; + font-size = lib.mkForce 17; + # theme = "ayu"; + background-opacity = lib.mkForce 0.8; + confirm-close-surface = "false"; + }; + } + (lib.mkIf config.youthlic.programs.fish.enable { + enableFishIntegration = true; + }) + (lib.mkIf config.youthlic.programs.bash.enable { + enableBashIntegration = true; + }) + ]; + }); } diff --git a/home/modules/programs/git.nix b/home/modules/programs/git.nix index c1a82d6..42e0cea 100644 --- a/home/modules/programs/git.nix +++ b/home/modules/programs/git.nix @@ -2,7 +2,8 @@ config, lib, ... -}: { +}: +{ options = { youthlic.programs.git = { email = lib.mkOption { @@ -30,9 +31,10 @@ encrypt-credential = lib.mkEnableOption "encrypt git credential"; }; }; - config = let - cfg = config.youthlic.programs.git; - in + config = + let + cfg = config.youthlic.programs.git; + in lib.mkMerge [ { programs.lazygit = { diff --git a/home/modules/programs/gpg/default.nix b/home/modules/programs/gpg/default.nix index 0700ddd..cb19b47 100644 --- a/home/modules/programs/gpg/default.nix +++ b/home/modules/programs/gpg/default.nix @@ -4,15 +4,17 @@ lib, outputs, ... -}: { +}: +{ options = { youthlic.programs.gpg = { enable = lib.mkEnableOption "gpg"; }; }; - config = let - cfg = config.youthlic.programs.gpg; - in + config = + let + cfg = config.youthlic.programs.gpg; + in lib.mkIf cfg.enable { services.gpg-agent = lib.mkMerge [ { diff --git a/home/modules/programs/helix/default.nix b/home/modules/programs/helix/default.nix index 43113d9..eeafe47 100644 --- a/home/modules/programs/helix/default.nix +++ b/home/modules/programs/helix/default.nix @@ -4,15 +4,17 @@ config, outputs, ... -}: { +}: +{ options = { youthlic.programs.helix = { enable = lib.mkEnableOption "helix"; extraPackages = lib.mkOption { type = lib.types.listOf lib.types.package; - default = []; + default = [ ]; example = ( - with pkgs; [ + with pkgs; + [ deno ] ); @@ -22,232 +24,236 @@ }; }; }; - config = let - cfg = config.youthlic.programs.helix; - in { - stylix.targets.helix.enable = false; - programs.helix = lib.mkIf cfg.enable { - enable = true; - package = outputs.packages."${pkgs.system}".helix; - defaultEditor = true; - extraPackages = cfg.extraPackages; - settings = let - config-file = builtins.readFile ./config.toml; - config = builtins.fromTOML config-file; - in - config; - languages = { - language-server = { - neocmakelsp = { - command = "neocmakelsp"; - args = [ - "stdio" - ]; - }; - fish-lsp = { - command = "fish-lsp"; - args = [ - "start" - ]; + config = + let + cfg = config.youthlic.programs.helix; + in + { + stylix.targets.helix.enable = false; + programs.helix = lib.mkIf cfg.enable { + enable = true; + package = outputs.packages."${pkgs.system}".helix; + defaultEditor = true; + extraPackages = cfg.extraPackages; + settings = + let + config-file = builtins.readFile ./config.toml; + config = builtins.fromTOML config-file; + in + config; + languages = { + language-server = { + neocmakelsp = { + command = "neocmakelsp"; + args = [ + "stdio" + ]; + }; + fish-lsp = { + command = "fish-lsp"; + args = [ + "start" + ]; + }; }; + language = [ + { + name = "cmake"; + language-servers = [ + "neocmakelsp" + "cmake-language-server" + ]; + } + { + name = "kdl"; + formatter = { + command = "kdlfmt"; + args = [ + "format" + "-" + ]; + }; + } + { + name = "just"; + formatter = { + command = "just"; + args = [ + "--dump" + ]; + }; + } + { + name = "nix"; + formatter = { + command = "nixfmt"; + args = [ "-" ]; + }; + } + { + name = "xml"; + formatter = { + command = "xmllint"; + args = [ + "--format" + "-" + ]; + }; + } + { + name = "typst"; + formatter = { + command = "typstyle"; + }; + } + { + name = "c"; + formatter = { + command = "clang-format"; + }; + } + { + name = "cpp"; + formatter = { + command = "clang-format"; + }; + } + { + name = "python"; + formatter = { + command = "ruff"; + args = [ + "format" + "-s" + "--line-length" + "88" + "-" + ]; + }; + language-servers = [ + "pyright" + "ruff" + ]; + } + { + name = "go"; + formatter = { + command = "goimports"; + }; + } + { + name = "awk"; + formatter = { + command = "awk"; + timeout = 5; + args = [ + "--file=/dev/stdin" + "--pretty-print=/dev/stdout" + ]; + }; + } + { + name = "fish"; + language-servers = [ + "fish-lsp" + ]; + } + { + name = "yaml"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "yaml" + ]; + }; + } + { + name = "html"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "html" + ]; + }; + language-servers = [ + "vscode-html-language-server" + ]; + } + { + name = "css"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "css" + ]; + }; + language-servers = [ + "vscode-css-language-server" + ]; + } + { + name = "toml"; + formatter = { + command = "taplo"; + args = [ + "fmt" + "-" + ]; + }; + } + { + name = "markdown"; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "md" + ]; + }; + } + { + name = "json"; + language-servers = [ + "vscode-json-language-server" + ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "json" + ]; + }; + } + { + name = "jsonc"; + language-servers = [ + "vscode-json-language-server" + ]; + formatter = { + command = "deno"; + args = [ + "fmt" + "-" + "--ext" + "jsonc" + ]; + }; + } + ]; }; - language = [ - { - name = "cmake"; - language-servers = [ - "neocmakelsp" - "cmake-language-server" - ]; - } - { - name = "kdl"; - formatter = { - command = "kdlfmt"; - args = [ - "format" - "-" - ]; - }; - } - { - name = "just"; - formatter = { - command = "just"; - args = [ - "--dump" - ]; - }; - } - { - name = "nix"; - formatter = { - command = "alejandra"; - }; - } - { - name = "xml"; - formatter = { - command = "xmllint"; - args = [ - "--format" - "-" - ]; - }; - } - { - name = "typst"; - formatter = { - command = "typstyle"; - }; - } - { - name = "c"; - formatter = { - command = "clang-format"; - }; - } - { - name = "cpp"; - formatter = { - command = "clang-format"; - }; - } - { - name = "python"; - formatter = { - command = "ruff"; - args = [ - "format" - "-s" - "--line-length" - "88" - "-" - ]; - }; - language-servers = [ - "pyright" - "ruff" - ]; - } - { - name = "go"; - formatter = { - command = "goimports"; - }; - } - { - name = "awk"; - formatter = { - command = "awk"; - timeout = 5; - args = [ - "--file=/dev/stdin" - "--pretty-print=/dev/stdout" - ]; - }; - } - { - name = "fish"; - language-servers = [ - "fish-lsp" - ]; - } - { - name = "yaml"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "yaml" - ]; - }; - } - { - name = "html"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "html" - ]; - }; - language-servers = [ - "vscode-html-language-server" - ]; - } - { - name = "css"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "css" - ]; - }; - language-servers = [ - "vscode-css-language-server" - ]; - } - { - name = "toml"; - formatter = { - command = "taplo"; - args = [ - "fmt" - "-" - ]; - }; - } - { - name = "markdown"; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "md" - ]; - }; - } - { - name = "json"; - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "json" - ]; - }; - } - { - name = "jsonc"; - language-servers = [ - "vscode-json-language-server" - ]; - formatter = { - command = "deno"; - args = [ - "fmt" - "-" - "--ext" - "jsonc" - ]; - }; - } - ]; }; }; - }; } diff --git a/home/modules/programs/jujutsu.nix b/home/modules/programs/jujutsu.nix index 939ee2c..b50ff6c 100644 --- a/home/modules/programs/jujutsu.nix +++ b/home/modules/programs/jujutsu.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.jujutsu; -in { +in +{ options = { youthlic.programs.jujutsu = { enable = lib.mkEnableOption "jujutsu"; diff --git a/home/modules/programs/kvm.nix b/home/modules/programs/kvm.nix index 3f6a0de..48728ab 100644 --- a/home/modules/programs/kvm.nix +++ b/home/modules/programs/kvm.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.kvm; -in { +in +{ options = { youthlic.programs.kvm = { enable = lib.mkEnableOption "kvm"; @@ -14,8 +12,8 @@ in { dconf = { settings = { "org/virt-manager/virt-manager/connections" = { - autoconnect = ["qemu:///system"]; - uris = ["qemu:///system"]; + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; }; }; }; diff --git a/home/modules/programs/mpv.nix b/home/modules/programs/mpv.nix index 7c1cc6f..fc36200 100644 --- a/home/modules/programs/mpv.nix +++ b/home/modules/programs/mpv.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.mpv; -in { +in +{ options = { youthlic.programs.mpv = { enable = lib.mkEnableOption "mpv"; diff --git a/home/modules/programs/niri.nix b/home/modules/programs/niri.nix index 11aa765..c6f8757 100644 --- a/home/modules/programs/niri.nix +++ b/home/modules/programs/niri.nix @@ -4,10 +4,12 @@ lib, osConfig ? null, ... -}: let +}: +let cfg = config.youthlic.programs.niri; niri = osConfig.programs.niri.package; -in { +in +{ options = { youthlic.programs.niri = { enable = lib.mkEnableOption "niri"; @@ -30,34 +32,36 @@ in { wl-clipboard cliphist ]) - ++ [niri]; + ++ [ niri ]; qt = { enable = true; }; xdg.portal = { - configPackages = [niri]; + configPackages = [ niri ]; enable = true; extraPortals = lib.mkIf ( !niri.cargoBuildNoDefaultFeatures || builtins.elem "xdp-gnome-screencast" niri.cargoBuildFeatures - ) [pkgs.xdg-desktop-portal-gnome]; + ) [ pkgs.xdg-desktop-portal-gnome ]; }; - xdg.configFile = let - qtctConf = - '' - [Appearance] - standard_dialogs=xdgdesktopportal - '' - + lib.optionalString (config.qt.style ? name) '' - style=${config.qt.style.name} - ''; - in { - "qt5ct/qt5ct.conf" = lib.mkForce { - text = qtctConf; + xdg.configFile = + let + qtctConf = + '' + [Appearance] + standard_dialogs=xdgdesktopportal + '' + + lib.optionalString (config.qt.style ? name) '' + style=${config.qt.style.name} + ''; + in + { + "qt5ct/qt5ct.conf" = lib.mkForce { + text = qtctConf; + }; + "qt6ct/qt6ct.conf" = lib.mkForce { + text = qtctConf; + }; }; - "qt6ct/qt6ct.conf" = lib.mkForce { - text = qtctConf; - }; - }; youthlic.programs = { fuzzel.enable = true; wluma.enable = true; diff --git a/home/modules/programs/obs.nix b/home/modules/programs/obs.nix index 5314ed7..6026d82 100644 --- a/home/modules/programs/obs.nix +++ b/home/modules/programs/obs.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.obs; -in { +in +{ options = { youthlic.programs.obs = { enable = lib.mkEnableOption "obs"; diff --git a/home/modules/programs/rustypaste-cli.nix b/home/modules/programs/rustypaste-cli.nix index 42d432c..82dcba4 100644 --- a/home/modules/programs/rustypaste-cli.nix +++ b/home/modules/programs/rustypaste-cli.nix @@ -3,20 +3,22 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.rustypaste-cli; -in { +in +{ options = { youthlic.programs.rustypaste-cli = { enable = lib.mkEnableOption "rustypaste-cli"; }; }; config = lib.mkIf cfg.enable { - home.packages = [pkgs.rustypaste-cli]; + home.packages = [ pkgs.rustypaste-cli ]; sops = { secrets = { - "rustypaste/auth" = {}; - "rustypaste/delete" = {}; + "rustypaste/auth" = { }; + "rustypaste/delete" = { }; }; templates."rustypaste-config.toml" = { path = "${config.xdg.configHome}/rustypaste/config.toml"; diff --git a/home/modules/programs/shell/default.nix b/home/modules/programs/shell/default.nix index 2478f02..9a88557 100644 --- a/home/modules/programs/shell/default.nix +++ b/home/modules/programs/shell/default.nix @@ -2,11 +2,13 @@ config, lib, ... -}: let +}: +let inherit (lib) mkEnableOption mkIf mkMerge; fish-cfg = config.youthlic.programs.fish; bash-cfg = config.youthlic.programs.bash; - cfg-helper = conf: + cfg-helper = + conf: mkMerge [ conf (mkIf fish-cfg.enable { @@ -16,7 +18,8 @@ enableBashIntegration = true; }) ]; -in { +in +{ options = { youthlic.programs = { fish = { diff --git a/home/modules/programs/sops.nix b/home/modules/programs/sops.nix index 92c0375..452f640 100644 --- a/home/modules/programs/sops.nix +++ b/home/modules/programs/sops.nix @@ -4,7 +4,8 @@ pkgs, rootPath, ... -}: { +}: +{ options = { youthlic.programs.sops = { enable = lib.mkOption { @@ -24,12 +25,14 @@ }; }; }; - config = let - cfg = config.youthlic.programs.sops; - in + config = + let + cfg = config.youthlic.programs.sops; + in lib.mkIf cfg.enable { home.packages = ( - with pkgs; [ + with pkgs; + [ sops age ] diff --git a/home/modules/programs/starship/default.nix b/home/modules/programs/starship/default.nix index ec6d055..4cd547d 100644 --- a/home/modules/programs/starship/default.nix +++ b/home/modules/programs/starship/default.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.starship; -in { +in +{ options = { youthlic.programs.starship = { enable = lib.mkEnableOption "starship"; @@ -14,9 +12,10 @@ in { programs.starship = lib.mkMerge [ { enable = true; - settings = let - config-file = builtins.readFile ./config.toml; - in + settings = + let + config-file = builtins.readFile ./config.toml; + in builtins.fromTOML config-file; } (lib.mkIf config.youthlic.programs.fish.enable { diff --git a/home/modules/programs/swaylock.nix b/home/modules/programs/swaylock.nix index 4955ca5..d69609a 100644 --- a/home/modules/programs/swaylock.nix +++ b/home/modules/programs/swaylock.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.swaylock; -in { +in +{ options = { youthlic.programs.swaylock = { enable = lib.mkEnableOption "swaylock"; diff --git a/home/modules/programs/swaync.nix b/home/modules/programs/swaync.nix index 6327eb2..e5e2286 100644 --- a/home/modules/programs/swaync.nix +++ b/home/modules/programs/swaync.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.swaync; -in { +in +{ options = { youthlic.programs.swaync = { enable = lib.mkEnableOption "swaync"; @@ -18,7 +16,7 @@ in { }; }) (lib.mkIf (!cfg.systemd.enable) { - systemd.user.services.swaync = lib.mkForce {}; + systemd.user.services.swaync = lib.mkForce { }; }) ]; } diff --git a/home/modules/programs/thunderbird.nix b/home/modules/programs/thunderbird.nix index 12cfcb6..5174a63 100644 --- a/home/modules/programs/thunderbird.nix +++ b/home/modules/programs/thunderbird.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.thunderbird; -in { +in +{ options = { youthlic.programs.thunderbird = { enable = lib.mkEnableOption "thunderbird"; diff --git a/home/modules/programs/waybar.nix b/home/modules/programs/waybar.nix index d38e343..eb07712 100644 --- a/home/modules/programs/waybar.nix +++ b/home/modules/programs/waybar.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.waybar; -in { +in +{ options = { youthlic.programs.waybar = { enable = lib.mkEnableOption "waybar"; @@ -24,7 +26,7 @@ in { "niri/workspaces" "wlr/taskbar" ]; - modules-center = ["clock"]; + modules-center = [ "clock" ]; modules-right = [ "tray" "idle_inhibitor" @@ -38,7 +40,7 @@ in { on-click = "activate"; }; - "niri/worksapces" = {}; + "niri/worksapces" = { }; "niri/taskbar" = { icon-size = 15; on-click = "activate"; diff --git a/home/modules/programs/wluma.nix b/home/modules/programs/wluma.nix index 9c3d06a..6c30ea8 100644 --- a/home/modules/programs/wluma.nix +++ b/home/modules/programs/wluma.nix @@ -3,9 +3,11 @@ pkgs, lib, ... -}: let +}: +let cfg = config.youthlic.programs.wluma; -in { +in +{ options = { youthlic.programs.wluma = { enable = lib.mkEnableOption "wluma"; @@ -37,18 +39,18 @@ in { systemd.user.services.wluma = { Unit = { Description = "Adjusting screen brightness based on screen contents and amount of ambient light"; - PartOf = ["graphical-session.target"]; - After = ["graphical-session.target"]; + PartOf = [ "graphical-session.target" ]; + After = [ "graphical-session.target" ]; }; Service = { - ExecStart = ["${lib.getExe cfg.package}"]; + ExecStart = [ "${lib.getExe cfg.package}" ]; Restart = "always"; - EnvironmentFile = ["-%E/wluma/service.conf"]; + EnvironmentFile = [ "-%E/wluma/service.conf" ]; PrivateNetwork = true; PrivateMounts = false; }; Install = { - WantedBy = ["graphical-session.target"]; + WantedBy = [ "graphical-session.target" ]; }; }; }; diff --git a/home/modules/programs/zed.nix b/home/modules/programs/zed.nix index 731d932..b3f0921 100644 --- a/home/modules/programs/zed.nix +++ b/home/modules/programs/zed.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.zed-editor; -in { +in +{ options = { youthlic.programs.zed-editor = { enable = lib.mkEnableOption "zed-editor"; @@ -16,22 +18,11 @@ in { programs.zed-editor = { enable = true; extensions = [ - "Nix" - "HTML" - "Java" - "Git Firely" - "Make" - "Deno" - "Java with Eclipse JDTLS" - "NeoCMake" - "Typst" + "nix" ]; extraPackages = with pkgs; [ nixd nil - neocmakelsp - deno - jdt-language-server ]; userSettings = { autosave = "on_focus_change"; @@ -47,11 +38,8 @@ in { "ss08" = true; }; ui_font_family = "Source Han Sans SC"; - theme = "Gruvbox Dark Hard"; + theme = "Ayu Dark"; vim_mode = true; - vim = { - default_mode = "helix_normal"; - }; }; }; }; diff --git a/home/modules/xdg-dirs.nix b/home/modules/xdg-dirs.nix index 1845999..a84c160 100644 --- a/home/modules/xdg-dirs.nix +++ b/home/modules/xdg-dirs.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.xdg-dirs; -in { +in +{ options = { youthlic.xdg-dirs = { enable = lib.mkEnableOption "xdg-dirs"; diff --git a/nixos/configurations/Akun/default.nix b/nixos/configurations/Akun/default.nix index 6c1788a..beed60d 100644 --- a/nixos/configurations/Akun/default.nix +++ b/nixos/configurations/Akun/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ imports = [ ./hardware-configuration.nix ./stylix.nix diff --git a/nixos/configurations/Akun/disk-config.nix b/nixos/configurations/Akun/disk-config.nix index f10dd5c..2d21e40 100644 --- a/nixos/configurations/Akun/disk-config.nix +++ b/nixos/configurations/Akun/disk-config.nix @@ -49,7 +49,7 @@ ]; content = { type = "btrfs"; - extraArgs = ["-f"]; + extraArgs = [ "-f" ]; subvolumes = { "@root" = { mountpoint = "/"; diff --git a/nixos/configurations/Akun/hardware-configuration.nix b/nixos/configurations/Akun/hardware-configuration.nix index 3692432..aafa58e 100644 --- a/nixos/configurations/Akun/hardware-configuration.nix +++ b/nixos/configurations/Akun/hardware-configuration.nix @@ -1,21 +1,17 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; +{ config, lib, pkgs, modulesPath, ... }: - boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/nixos/configurations/Akun/networking.nix b/nixos/configurations/Akun/networking.nix index c5ec9c0..4212114 100644 --- a/nixos/configurations/Akun/networking.nix +++ b/nixos/configurations/Akun/networking.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ systemd.network = { enable = true; wait-online.enable = false; diff --git a/nixos/configurations/Akun/stylix.nix b/nixos/configurations/Akun/stylix.nix index f635ecc..f508dda 100644 --- a/nixos/configurations/Akun/stylix.nix +++ b/nixos/configurations/Akun/stylix.nix @@ -1,8 +1,5 @@ +{ pkgs, rootPath, ... }: { - pkgs, - rootPath, - ... -}: { stylix = { enable = true; image = rootPath + "/assets/wallpaper/01.png"; diff --git a/nixos/configurations/Akun/users/default.nix b/nixos/configurations/Akun/users/default.nix index 33847ac..7c04dd4 100644 --- a/nixos/configurations/Akun/users/default.nix +++ b/nixos/configurations/Akun/users/default.nix @@ -1,8 +1,5 @@ +{ lib, pkgs, ... }: { - lib, - pkgs, - ... -}: { users = { mutableUsers = true; users.david = { diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 6271f80..688ad0f 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + pkgs, + ... +}: +{ imports = [ ./forgejo.nix ./networking.nix diff --git a/nixos/configurations/Cape/disko-config.nix b/nixos/configurations/Cape/disko-config.nix index 2956283..8214982 100644 --- a/nixos/configurations/Cape/disko-config.nix +++ b/nixos/configurations/Cape/disko-config.nix @@ -15,7 +15,7 @@ size = "100%"; content = { type = "btrfs"; - extraArgs = ["-f"]; + extraArgs = [ "-f" ]; subvolumes = { "@root" = { mountpoint = "/"; diff --git a/nixos/configurations/Cape/forgejo.nix b/nixos/configurations/Cape/forgejo.nix index 74d4778..4c3d515 100644 --- a/nixos/configurations/Cape/forgejo.nix +++ b/nixos/configurations/Cape/forgejo.nix @@ -1,11 +1,12 @@ -{config, ...}: { +{ config, ... }: +{ youthlic.containers.forgejo = { enable = true; domain = "forgejo.youthlic.fun"; sshPort = 2222; httpPort = 8480; }; - networking.firewall.allowedTCPPorts = [2222]; + networking.firewall.allowedTCPPorts = [ 2222 ]; services.caddy.virtualHosts = { "forgejo.${config.youthlic.programs.caddy.baseDomain}" = { extraConfig = '' diff --git a/nixos/configurations/Cape/hardware-configuration.nix b/nixos/configurations/Cape/hardware-configuration.nix index cb5ce86..12adf63 100644 --- a/nixos/configurations/Cape/hardware-configuration.nix +++ b/nixos/configurations/Cape/hardware-configuration.nix @@ -1,21 +1,17 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; +{ config, lib, pkgs, modulesPath, ... }: - boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk"]; - boot.initrd.kernelModules = []; - boot.kernelModules = []; - boot.extraModulePackages = []; +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/nixos/configurations/Cape/miniflux.nix b/nixos/configurations/Cape/miniflux.nix index a106d53..0fc92b4 100644 --- a/nixos/configurations/Cape/miniflux.nix +++ b/nixos/configurations/Cape/miniflux.nix @@ -1,4 +1,5 @@ -{config, ...}: { +{ config, ... }: +{ sops.secrets."miniflux" = { }; youthlic.containers.miniflux = { diff --git a/nixos/configurations/Cape/networking.nix b/nixos/configurations/Cape/networking.nix index 2c876e2..50d604c 100644 --- a/nixos/configurations/Cape/networking.nix +++ b/nixos/configurations/Cape/networking.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ systemd.network = { enable = true; wait-online.enable = true; diff --git a/nixos/configurations/Cape/stylix.nix b/nixos/configurations/Cape/stylix.nix index 7730b4b..d2b5e6f 100644 --- a/nixos/configurations/Cape/stylix.nix +++ b/nixos/configurations/Cape/stylix.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ stylix = { enable = false; }; diff --git a/nixos/configurations/Cape/users/default.nix b/nixos/configurations/Cape/users/default.nix index 7e89291..5eb47ab 100644 --- a/nixos/configurations/Cape/users/default.nix +++ b/nixos/configurations/Cape/users/default.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ users.users.alice = { initialHashedPassword = "$y$j9T$eS5zCi4W.4IPpf3P8Tb/o1$xhumXY1.PJKmTguNi/zlljLbLemNGiubWoUEc878S36"; isNormalUser = true; diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index 5bcc8e8..8eb925d 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -3,7 +3,8 @@ pkgs, inputs, ... -}: { +}: +{ imports = (with inputs; [ nixos-hardware.nixosModules.asus-fx506hm diff --git a/nixos/configurations/Tytonidae/disk-config.nix b/nixos/configurations/Tytonidae/disk-config.nix index a1c5c88..6549e97 100644 --- a/nixos/configurations/Tytonidae/disk-config.nix +++ b/nixos/configurations/Tytonidae/disk-config.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ disko.devices = { disk = { disk1 = { diff --git a/nixos/configurations/Tytonidae/hardware-configuration.nix b/nixos/configurations/Tytonidae/hardware-configuration.nix index f81150a..ae9c32a 100644 --- a/nixos/configurations/Tytonidae/hardware-configuration.nix +++ b/nixos/configurations/Tytonidae/hardware-configuration.nix @@ -1,21 +1,17 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; +{ config, lib, pkgs, modulesPath, ... }: - boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"]; - boot.initrd.kernelModules = []; - boot.kernelModules = ["kvm-intel"]; - boot.extraModulePackages = []; +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/nixos/configurations/Tytonidae/hardware.nix b/nixos/configurations/Tytonidae/hardware.nix index 8fd23ca..448d99a 100644 --- a/nixos/configurations/Tytonidae/hardware.nix +++ b/nixos/configurations/Tytonidae/hardware.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ nixpkgs.config.cudaSupport = true; services = { hardware.bolt.enable = true; diff --git a/nixos/configurations/Tytonidae/networking.nix b/nixos/configurations/Tytonidae/networking.nix index 5c335b0..56fcb1e 100644 --- a/nixos/configurations/Tytonidae/networking.nix +++ b/nixos/configurations/Tytonidae/networking.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ systemd.network = { enable = true; wait-online.enable = false; diff --git a/nixos/configurations/Tytonidae/stylix.nix b/nixos/configurations/Tytonidae/stylix.nix index 512d754..f64e4ae 100644 --- a/nixos/configurations/Tytonidae/stylix.nix +++ b/nixos/configurations/Tytonidae/stylix.nix @@ -1,8 +1,5 @@ +{ pkgs, rootPath, ... }: { - pkgs, - rootPath, - ... -}: { stylix = { enable = true; image = rootPath + "/assets/wallpaper/01.png"; diff --git a/nixos/configurations/Tytonidae/users/default.nix b/nixos/configurations/Tytonidae/users/default.nix index d7722a5..a1d9132 100644 --- a/nixos/configurations/Tytonidae/users/default.nix +++ b/nixos/configurations/Tytonidae/users/default.nix @@ -1,8 +1,5 @@ +{ lib, pkgs, ... }: { - lib, - pkgs, - ... -}: { users.users.david = { initialHashedPassword = "$y$j9T$eS5zCi4W.4IPpf3P8Tb/o1$xhumXY1.PJKmTguNi/zlljLbLemNGiubWoUEc878S36"; isNormalUser = true; diff --git a/nixos/modules/containers/default.nix b/nixos/modules/containers/default.nix index 7a4e588..6f9de8e 100644 --- a/nixos/modules/containers/default.nix +++ b/nixos/modules/containers/default.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.containers; -in { +in +{ imports = [ ./forgejo.nix ./miniflux.nix diff --git a/nixos/modules/containers/forgejo.nix b/nixos/modules/containers/forgejo.nix index 92dc034..913213d 100644 --- a/nixos/modules/containers/forgejo.nix +++ b/nixos/modules/containers/forgejo.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.containers.forgejo; -in { +in +{ options = { youthlic.containers.forgejo = { enable = lib.mkEnableOption "forgejo container"; @@ -54,62 +56,64 @@ in { } ]; - config = {lib, ...}: { - imports = [ - ./../programs/forgejo.nix - ./../programs/postgresql.nix - ]; + config = + { lib, ... }: + { + imports = [ + ./../programs/forgejo.nix + ./../programs/postgresql.nix + ]; - nixpkgs.pkgs = pkgs; + nixpkgs.pkgs = pkgs; - systemd.tmpfiles.rules = [ - "d /var/lib/forgejo 770 forgejo forgejo -" - "d /var/lib/postgresql 770 postgres postgres -" - ]; + systemd.tmpfiles.rules = [ + "d /var/lib/forgejo 770 forgejo forgejo -" + "d /var/lib/postgresql 770 postgres postgres -" + ]; - youthlic.programs = { - forgejo = { - enable = true; - domain = cfg.domain; - sshPort = cfg.sshPort; - httpPort = cfg.httpPort; - database = { - user = "forgejo"; + youthlic.programs = { + forgejo = { + enable = true; + domain = cfg.domain; + sshPort = cfg.sshPort; + httpPort = cfg.httpPort; + database = { + user = "forgejo"; + }; + }; + postgresql = { + enable = true; + database = "forgejo"; + auth_method = "peer"; + version = "17"; }; }; - postgresql = { - enable = true; - database = "forgejo"; - auth_method = "peer"; - version = "17"; - }; - }; - systemd.services.forgejo = { - wants = ["postgresql.service"]; - requires = ["postgresql.service"]; - after = ["postgresql.service"]; - wantedBy = ["default.target"]; - }; - - networking = { - defaultGateway = "192.168.111.1"; - firewall = { - enable = true; - allowedTCPPorts = [ - cfg.httpPort - cfg.sshPort - ]; - allowedUDPPorts = [ - cfg.httpPort - cfg.sshPort - ]; + systemd.services.forgejo = { + wants = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + wantedBy = [ "default.target" ]; }; - useHostResolvConf = lib.mkForce false; + + networking = { + defaultGateway = "192.168.111.1"; + firewall = { + enable = true; + allowedTCPPorts = [ + cfg.httpPort + cfg.sshPort + ]; + allowedUDPPorts = [ + cfg.httpPort + cfg.sshPort + ]; + }; + useHostResolvConf = lib.mkForce false; + }; + services.resolved.enable = true; + system.stateVersion = "24.11"; }; - services.resolved.enable = true; - system.stateVersion = "24.11"; - }; }; }; } diff --git a/nixos/modules/containers/miniflux.nix b/nixos/modules/containers/miniflux.nix index e9bb5d0..43516b3 100644 --- a/nixos/modules/containers/miniflux.nix +++ b/nixos/modules/containers/miniflux.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.containers.miniflux; -in { +in +{ options = { youthlic.containers.miniflux = { enable = lib.mkEnableOption "miniflux container"; @@ -36,55 +38,57 @@ in { }; }; - config = {lib, ...}: { - imports = [ - ./../programs/miniflux.nix - ./../programs/postgresql.nix - ]; + config = + { lib, ... }: + { + imports = [ + ./../programs/miniflux.nix + ./../programs/postgresql.nix + ]; - nixpkgs.pkgs = pkgs; + nixpkgs.pkgs = pkgs; - systemd.tmpfiles.rules = [ - "d /var/lib/miniflux 770 miniflux miniflux -" - "d /var/lib/postgresql 770 postgres postgres -" - "d /run/secrets 770 root miniflux -" - ]; + systemd.tmpfiles.rules = [ + "d /var/lib/miniflux 770 miniflux miniflux -" + "d /var/lib/postgresql 770 postgres postgres -" + "d /run/secrets 770 root miniflux -" + ]; - youthlic.programs = { - miniflux = { - enable = true; - database = { - user = "miniflux"; + youthlic.programs = { + miniflux = { + enable = true; + database = { + user = "miniflux"; + }; + adminCredentialsFile = cfg.adminCredentialsFile; + }; + postgresql = { + enable = true; + database = "miniflux"; + auth_method = "peer"; + version = "17"; }; - adminCredentialsFile = cfg.adminCredentialsFile; }; - postgresql = { - enable = true; - database = "miniflux"; - auth_method = "peer"; - version = "17"; - }; - }; - systemd.services.miniflux = { - wants = ["postgresql.service"]; - requires = ["postgresql.service"]; - after = ["postgresql.service"]; - wantedBy = ["default.target"]; - }; - - networking = { - defaultGateway = "192.168.111.1"; - firewall = { - enable = true; - allowedTCPPorts = [8485]; - allowedUDPPorts = [8485]; + systemd.services.miniflux = { + wants = [ "postgresql.service" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + wantedBy = [ "default.target" ]; }; - useHostResolvConf = lib.mkForce false; + + networking = { + defaultGateway = "192.168.111.1"; + firewall = { + enable = true; + allowedTCPPorts = [ 8485 ]; + allowedUDPPorts = [ 8485 ]; + }; + useHostResolvConf = lib.mkForce false; + }; + services.resolved.enable = true; + system.stateVersion = "24.11"; }; - services.resolved.enable = true; - system.stateVersion = "24.11"; - }; }; }; } diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index 2712376..aaa71ca 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -3,7 +3,8 @@ inputs, outputs, ... -}: { +}: +{ imports = (with inputs; [ niri-flake.nixosModules.niri diff --git a/nixos/modules/deploy/default.nix b/nixos/modules/deploy/default.nix index f84ae2a..cbc1559 100644 --- a/nixos/modules/deploy/default.nix +++ b/nixos/modules/deploy/default.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.users.deploy; -in { +in +{ options = { youthlic.users.deploy = { enable = lib.mkEnableOption "deploy"; diff --git a/nixos/modules/gui/cosmic.nix b/nixos/modules/gui/cosmic.nix index ffed1dc..ef4d0b7 100644 --- a/nixos/modules/gui/cosmic.nix +++ b/nixos/modules/gui/cosmic.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ config = lib.mkIf (cfg.enabled == "cosmic") { # Enable the X11 windowing system. # You can disable this if you're only using the Wayland session. diff --git a/nixos/modules/gui/default.nix b/nixos/modules/gui/default.nix index f2904ab..6ea87f4 100644 --- a/nixos/modules/gui/default.nix +++ b/nixos/modules/gui/default.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ imports = [ ./niri.nix ./cosmic.nix @@ -64,7 +66,7 @@ in { monospace = [ "Maple Mono NF CN" ]; - emoji = ["Noto Color Emoji"]; + emoji = [ "Noto Color Emoji" ]; }; }; diff --git a/nixos/modules/gui/kde.nix b/nixos/modules/gui/kde.nix index 38b2c29..bf3b78d 100644 --- a/nixos/modules/gui/kde.nix +++ b/nixos/modules/gui/kde.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ config = lib.mkIf (cfg.enabled == "kde") { stylix.targets.qt.platform = "kde"; services = { diff --git a/nixos/modules/gui/niri.nix b/nixos/modules/gui/niri.nix index dc42cda..77e1aa7 100644 --- a/nixos/modules/gui/niri.nix +++ b/nixos/modules/gui/niri.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.gui; -in { +in +{ config = lib.mkIf (cfg.enabled == "niri") { qt = { enable = true; @@ -21,7 +23,7 @@ in { terminal-exec = { enable = true; settings = { - default = ["com.mitchellh.ghostty.desktop"]; + default = [ "com.mitchellh.ghostty.desktop" ]; }; }; mime = { @@ -50,7 +52,7 @@ in { "firefox.desktop" "chromium-browser.desktop" ]; - "x-scheme-handler/tg" = ["telegramdesktop.desktop"]; + "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ]; "x-scheme-handler/unknown" = [ "firefox.desktop" "chromium-browser.desktop" diff --git a/nixos/modules/home.nix b/nixos/modules/home.nix index 9e0f7cb..d44bfa9 100644 --- a/nixos/modules/home.nix +++ b/nixos/modules/home.nix @@ -6,7 +6,8 @@ pkgs, rootPath, ... -}: { +}: +{ options.youthlic.home-manager = { enable = lib.mkOption { type = lib.types.bool; @@ -32,17 +33,19 @@ ''; }; }; - config = let - cfg = config.youthlic.home-manager; - unixName = cfg.unixName; - hostName = cfg.hostName; - in + config = + let + cfg = config.youthlic.home-manager; + unixName = cfg.unixName; + hostName = cfg.hostName; + in lib.mkIf cfg.enable { home-manager = { useGlobalPkgs = true; useUserPackages = true; users."${cfg.unixName}" = ( - {...}: { + { ... }: + { imports = [ outputs.homeModules."${unixName}" (rootPath + "/home/${unixName}/configurations/${hostName}") @@ -55,7 +58,7 @@ inherit (pkgs) system; }; backupFileExtension = "backup"; - sharedModules = [outputs.homeModules.default]; + sharedModules = [ outputs.homeModules.default ]; }; }; } diff --git a/nixos/modules/i18n.nix b/nixos/modules/i18n.nix index a871fd3..aa226ef 100644 --- a/nixos/modules/i18n.nix +++ b/nixos/modules/i18n.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.i18n; -in { +in +{ options = { youthlic.i18n = { enable = lib.mkEnableOption "zh env"; diff --git a/nixos/modules/nix.nix b/nixos/modules/nix.nix index 2694ac5..2de491c 100644 --- a/nixos/modules/nix.nix +++ b/nixos/modules/nix.nix @@ -5,12 +5,14 @@ pkgs, lib, ... -}: { +}: +{ config = { nixpkgs = { config = { allowUnfree = true; - allowInsecurePredicate = p: + allowInsecurePredicate = + p: builtins.elem (lib.getName p) [ # for fluffychat and neochat "olm" @@ -23,7 +25,7 @@ mode = "0444"; }; nix = { - nixPath = ["nixpkgs=${inputs.nixpkgs}"]; + nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; extraOptions = '' !include ${config.sops.secrets."access-tokens".path} ''; diff --git a/nixos/modules/programs/asusd.nix b/nixos/modules/programs/asusd.nix index cd8e042..7627478 100644 --- a/nixos/modules/programs/asusd.nix +++ b/nixos/modules/programs/asusd.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.asusd; -in { +in +{ options = { youthlic.programs.asusd = { enable = lib.mkEnableOption "asusd"; diff --git a/nixos/modules/programs/caddy.nix b/nixos/modules/programs/caddy.nix index ad88774..5404b87 100644 --- a/nixos/modules/programs/caddy.nix +++ b/nixos/modules/programs/caddy.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.caddy; -in { +in +{ options = { youthlic.programs.caddy = { enable = lib.mkEnableOption "caddy"; @@ -19,7 +17,7 @@ in { enable = true; }; networking.firewall = { - allowedTCPPorts = [443]; + allowedTCPPorts = [ 443 ]; }; }; } diff --git a/nixos/modules/programs/conduwuit.nix b/nixos/modules/programs/conduwuit.nix index 4a5f1d2..a5dc846 100644 --- a/nixos/modules/programs/conduwuit.nix +++ b/nixos/modules/programs/conduwuit.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.conduwuit; -in { +in +{ options = { youthlic.programs.conduwuit = { enable = lib.mkEnableOption "conduwuit"; @@ -26,7 +24,7 @@ in { enable = true; settings = { global = { - port = [8481]; + port = [ 8481 ]; address = [ "0.0.0.0" "::" diff --git a/nixos/modules/programs/dae/default.nix b/nixos/modules/programs/dae/default.nix index 2556b73..1f369e2 100644 --- a/nixos/modules/programs/dae/default.nix +++ b/nixos/modules/programs/dae/default.nix @@ -4,9 +4,11 @@ pkgs, lib, ... -}: let +}: +let cfg = config.youthlic.programs.dae; -in { +in +{ options = { youthlic.programs.dae = { enable = lib.mkEnableOption "dae"; @@ -28,100 +30,102 @@ in { mode = "0444"; sopsFile = rootPath + "/secrets/general.yaml"; }; - systemd.services = let - update = '' - head="user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" - new_proxy=/etc/dae/proxy.d.new - num=0 - check=1 - urls="$(cat ${config.sops.secrets.url.path})" - mkdir -p ''${new_proxy} - for url in ''${urls}; do - txt=''${new_proxy}/''${num}.txt - config="''${new_proxy}/''${num}.dae" - echo \'curl -LH \""''${head}"\" \""''${url}"\" -o \""''${txt}"\"\' - curl -LH "''${head}" "''${url}" -o "''${txt}" - echo End curl - echo "" > ''${config} - { - echo 'subscription {' - echo \ \ wget:\ \"file://proxy.d/''${num}.txt\" - echo "}" - } >> ''${config} - if [[ ! -s ''${txt} ]]; then - check=0 - fi - chmod 0640 ''${txt} - chmod 0640 ''${config} - num=$((num+1)) + systemd.services = + let + update = '' + head="user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" + new_proxy=/etc/dae/proxy.d.new + num=0 + check=1 + urls="$(cat ${config.sops.secrets.url.path})" + mkdir -p ''${new_proxy} + for url in ''${urls}; do + txt=''${new_proxy}/''${num}.txt + config="''${new_proxy}/''${num}.dae" + echo \'curl -LH \""''${head}"\" \""''${url}"\" -o \""''${txt}"\"\' + curl -LH "''${head}" "''${url}" -o "''${txt}" + echo End curl + echo "" > ''${config} + { + echo 'subscription {' + echo \ \ wget:\ \"file://proxy.d/''${num}.txt\" + echo "}" + } >> ''${config} + if [[ ! -s ''${txt} ]]; then + check=0 + fi + chmod 0640 ''${txt} + chmod 0640 ''${config} + num=$((num+1)) - if [[ ''${check} -eq 0 ]]; then - echo "''${txt}" is empty - exit 103 + if [[ ''${check} -eq 0 ]]; then + echo "''${txt}" is empty + exit 103 + fi + done + if [[ -d /etc/dae/proxy.d ]]; then + rm -rf /etc/proxy.d.old + mv /etc/dae/proxy.d /etc/dae/proxy.d.old fi - done - if [[ -d /etc/dae/proxy.d ]]; then - rm -rf /etc/proxy.d.old - mv /etc/dae/proxy.d /etc/dae/proxy.d.old - fi - mv ''${new_proxy} /etc/dae/proxy.d - ''; - updateScript = pkgs.writeShellApplication { - name = "update.sh"; - runtimeInputs = with pkgs; [ - coreutils - curl - ]; - text = '' - mkdir -p /etc/proxy.d - if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then - echo "No subscription file found in /etc/dae/proxy.d. Update now..." + mv ''${new_proxy} /etc/dae/proxy.d + ''; + updateScript = pkgs.writeShellApplication { + name = "update.sh"; + runtimeInputs = with pkgs; [ + coreutils + curl + ]; + text = '' + mkdir -p /etc/proxy.d + if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then + echo "No subscription file found in /etc/dae/proxy.d. Update now..." + ${update} + else + echo "Found existing subscription files. Skipping immediate update." + fi + ''; + }; + updateForceScript = pkgs.writeShellApplication { + name = "update-force.sh"; + runtimeInputs = with pkgs; [ + coreutils + curl + ]; + text = '' ${update} - else - echo "Found existing subscription files. Skipping immediate update." - fi - ''; - }; - updateForceScript = pkgs.writeShellApplication { - name = "update-force.sh"; - runtimeInputs = with pkgs; [ - coreutils - curl - ]; - text = '' - ${update} - ''; - }; - in { - "update-dae-subscription-immediate" = { - after = ["network-online.target"]; - wants = ["network-online.target"]; - before = ["dae.service"]; - serviceConfig = { - Type = "oneshot"; - User = "root"; - ExecStart = [ - "${updateScript}/bin/update.sh" - ]; + ''; }; - wantedBy = ["multi-user.target"]; - }; - "update-dae-subscription-force" = { - serviceConfig = { - Type = "oneshot"; - User = "root"; - ExecStartPre = [ - "-${pkgs.systemd}/bin/systemctl stop dae.service" - ]; - ExecStartPost = [ - "-${pkgs.systemd}/bin/systemctl start dae.service" - ]; - ExecStart = [ - "${updateForceScript}/bin/update-force.sh" - ]; + in + { + "update-dae-subscription-immediate" = { + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + before = [ "dae.service" ]; + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStart = [ + "${updateScript}/bin/update.sh" + ]; + }; + wantedBy = [ "multi-user.target" ]; + }; + "update-dae-subscription-force" = { + serviceConfig = { + Type = "oneshot"; + User = "root"; + ExecStartPre = [ + "-${pkgs.systemd}/bin/systemctl stop dae.service" + ]; + ExecStartPost = [ + "-${pkgs.systemd}/bin/systemctl start dae.service" + ]; + ExecStart = [ + "${updateForceScript}/bin/update-force.sh" + ]; + }; }; }; - }; }) (lib.mkIf (cfg.enable && config.youthlic.programs.juicity.client.enable) { environment.etc."dae/local.d/0.dae" = { diff --git a/nixos/modules/programs/default.nix b/nixos/modules/programs/default.nix index f9901ad..c0a27c9 100644 --- a/nixos/modules/programs/default.nix +++ b/nixos/modules/programs/default.nix @@ -1,8 +1,5 @@ +{ config, lib, ... }: { - config, - lib, - ... -}: { imports = [ ./transfer-sh.nix ./rustypaste diff --git a/nixos/modules/programs/forgejo.nix b/nixos/modules/programs/forgejo.nix index 72e90a8..b0fc2e9 100644 --- a/nixos/modules/programs/forgejo.nix +++ b/nixos/modules/programs/forgejo.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.forgejo; -in { +in +{ options = { youthlic.programs.forgejo = { enable = lib.mkEnableOption "forgejo"; @@ -90,15 +92,15 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.caddy.virtualHosts = { - "forgejo.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:${cfg.httpPort} - ''; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "forgejo.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:${cfg.httpPort} + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/programs/guix.nix b/nixos/modules/programs/guix.nix index 4059d03..e2082b8 100644 --- a/nixos/modules/programs/guix.nix +++ b/nixos/modules/programs/guix.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.guix; -in { +in +{ options = { youthlic.programs.guix = { enable = lib.mkEnableOption "guix"; diff --git a/nixos/modules/programs/juicity/default.nix b/nixos/modules/programs/juicity/default.nix index 2543c9e..09047f3 100644 --- a/nixos/modules/programs/juicity/default.nix +++ b/nixos/modules/programs/juicity/default.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.juicity; -in { +in +{ imports = [ ./template.nix ]; @@ -21,12 +23,12 @@ in { }; config = lib.mkMerge [ (lib.mkIf cfg.client.enable { - users.groups.juicity.members = ["root"]; + users.groups.juicity.members = [ "root" ]; sops = { secrets = { - "juicity/serverIp" = {}; - "juicity/sni" = {}; - "juicity/certchainSha256" = {}; + "juicity/serverIp" = { }; + "juicity/sni" = { }; + "juicity/certchainSha256" = { }; }; templates."juicity-client-config.json" = { group = "juicity"; @@ -56,7 +58,7 @@ in { }; }) (lib.mkIf cfg.server.enable { - users.groups.juicity.members = ["root"]; + users.groups.juicity.members = [ "root" ]; sops = { secrets = { "juicity/certificate" = { @@ -96,8 +98,8 @@ in { }) (lib.mkIf (cfg.server.enable || cfg.client.enable) { sops.secrets = { - "juicity/uuid" = {}; - "juicity/password" = {}; + "juicity/uuid" = { }; + "juicity/password" = { }; }; }) ]; diff --git a/nixos/modules/programs/juicity/template.nix b/nixos/modules/programs/juicity/template.nix index 50ae4fe..1d3cefc 100644 --- a/nixos/modules/programs/juicity/template.nix +++ b/nixos/modules/programs/juicity/template.nix @@ -3,23 +3,27 @@ lib, pkgs, ... -}: let +}: +let cfg = config.services.juicity; - settingsFormat = pkgs.formats.json {}; + settingsFormat = pkgs.formats.json { }; clientConfigFile = - if (cfg.client.configFile != null) - then cfg.client.configFile - else settingsFormat cfg.client.settings; + if (cfg.client.configFile != null) then + cfg.client.configFile + else + settingsFormat cfg.client.settings; serverConfigFile = - if (cfg.server.configFile != null) - then cfg.server.configFile - else settingsFormat cfg.server.settings; -in { + if (cfg.server.configFile != null) then + cfg.server.configFile + else + settingsFormat cfg.server.settings; +in +{ options = { services.juicity = { client = { enable = lib.mkEnableOption "juicity-client"; - package = lib.mkPackageOption pkgs "juicity" {}; + package = lib.mkPackageOption pkgs "juicity" { }; group = lib.mkOption { type = lib.types.nullOr lib.types.str; example = "juicity"; @@ -27,7 +31,7 @@ in { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; example = { listen = ":1000"; server = "112.32.62.11:23182"; @@ -55,7 +59,7 @@ in { }; allowedOpenFirewallPorts = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.port); - example = [23182]; + example = [ 23182 ]; default = null; description = '' the ports should be open @@ -64,7 +68,7 @@ in { }; server = { enable = lib.mkEnableOption "juicity-server"; - package = lib.mkPackageOption pkgs "juicity" {}; + package = lib.mkPackageOption pkgs "juicity" { }; group = lib.mkOption { type = lib.types.nullOr lib.types.str; example = "juicity"; @@ -72,7 +76,7 @@ in { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Juicity server configuration, for configuration options see example of [server](https://github.com/juicity/juicity/blob/main/install/example-server.json) on github. @@ -100,7 +104,7 @@ in { }; allowedOpenFirewallPorts = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.port); - example = [23182]; + example = [ 23182 ]; default = null; description = '' the ports should be open diff --git a/nixos/modules/programs/kanata.nix b/nixos/modules/programs/kanata.nix index 09d973c..e5ff8e2 100644 --- a/nixos/modules/programs/kanata.nix +++ b/nixos/modules/programs/kanata.nix @@ -3,16 +3,18 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.kanata; -in { +in +{ options = { youthlic.programs.kanata = { enable = lib.mkEnableOption "kanata"; }; }; config = lib.mkIf cfg.enable { - boot.kernelModules = ["uinput"]; + boot.kernelModules = [ "uinput" ]; hardware.uinput.enable = true; services.kanata = { enable = true; diff --git a/nixos/modules/programs/kvm.nix b/nixos/modules/programs/kvm.nix index a72510b..9686ee6 100644 --- a/nixos/modules/programs/kvm.nix +++ b/nixos/modules/programs/kvm.nix @@ -3,9 +3,11 @@ lib, pkgs, ... -}: let +}: +let cfg = config.youthlic.programs.kvm; -in { +in +{ options = { youthlic.programs.kvm = { enable = lib.mkEnableOption "kvm"; @@ -22,7 +24,7 @@ in { programs.virt-manager = { enable = true; }; - users.groups.libvirtd.members = [cfg.unixName]; + users.groups.libvirtd.members = [ cfg.unixName ]; virtualisation = { libvirtd = { enable = true; diff --git a/nixos/modules/programs/mautrix-telegram.nix b/nixos/modules/programs/mautrix-telegram.nix index 5e90e05..37daf7c 100644 --- a/nixos/modules/programs/mautrix-telegram.nix +++ b/nixos/modules/programs/mautrix-telegram.nix @@ -1,22 +1,21 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.mautrix-telegram; -in { +in +{ options = { youthlic.programs.mautrix-telegram = { enable = lib.mkEnableOption "mautrix-telegram"; }; }; - config = let - conduwuit-cfg = config.youthlic.programs.conduwuit; - caddy-cfg = config.youthlic.programs.caddy; - in + config = + let + conduwuit-cfg = config.youthlic.programs.conduwuit; + caddy-cfg = config.youthlic.programs.caddy; + in lib.mkMerge [ (lib.mkIf cfg.enable { - sops.secrets.matrix-telegram-bot = {}; + sops.secrets.matrix-telegram-bot = { }; services.mautrix-telegram = { enable = true; environmentFile = "${config.sops.secrets.matrix-telegram-bot.path}"; diff --git a/nixos/modules/programs/miniflux.nix b/nixos/modules/programs/miniflux.nix index da1a106..5dc701f 100644 --- a/nixos/modules/programs/miniflux.nix +++ b/nixos/modules/programs/miniflux.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.miniflux; -in { +in +{ options = { youthlic.programs.miniflux = { enable = lib.mkEnableOption "miniflux"; diff --git a/nixos/modules/programs/minio.nix b/nixos/modules/programs/minio.nix index 5cf0e5c..a25a4a6 100644 --- a/nixos/modules/programs/minio.nix +++ b/nixos/modules/programs/minio.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.minio; -in { +in +{ options = { youthlic.programs.minio = { enable = lib.mkEnableOption "minio"; diff --git a/nixos/modules/programs/nh.nix b/nixos/modules/programs/nh.nix index ce07c10..a8958fd 100644 --- a/nixos/modules/programs/nh.nix +++ b/nixos/modules/programs/nh.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ config = { programs.nh = { enable = true; diff --git a/nixos/modules/programs/nix-ld.nix b/nixos/modules/programs/nix-ld.nix index 70594dd..2625592 100644 --- a/nixos/modules/programs/nix-ld.nix +++ b/nixos/modules/programs/nix-ld.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.nix-ld; -in { +in +{ options = { youthlic.programs.nix-ld = { enable = lib.mkEnableOption "nix-ld"; diff --git a/nixos/modules/programs/open-webui.nix b/nixos/modules/programs/open-webui.nix index 1770e5f..bacd7e2 100644 --- a/nixos/modules/programs/open-webui.nix +++ b/nixos/modules/programs/open-webui.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.open-webui; -in { +in +{ options = { youthlic.programs.open-webui = { enable = lib.mkEnableOption "open-webui"; @@ -25,15 +23,15 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.caddy.virtualHosts = { - "open-webui.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:8083 - ''; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "open-webui.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:8083 + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/programs/openssh.nix b/nixos/modules/programs/openssh.nix index eaa0b1c..86ade4c 100644 --- a/nixos/modules/programs/openssh.nix +++ b/nixos/modules/programs/openssh.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.openssh; -in { +in +{ options = { youthlic.programs.openssh = { enable = lib.mkEnableOption "openssh"; @@ -44,7 +42,7 @@ in { "diffie-hellman-group-exchange-sha256" ]; }; - ports = [3022]; + ports = [ 3022 ]; }; }; } diff --git a/nixos/modules/programs/owncast.nix b/nixos/modules/programs/owncast.nix index d60eeb8..dc25db2 100644 --- a/nixos/modules/programs/owncast.nix +++ b/nixos/modules/programs/owncast.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.owncast; -in { +in +{ options = { youthlic.programs.owncast = { enable = lib.mkEnableOption "owncast"; diff --git a/nixos/modules/programs/postgresql.nix b/nixos/modules/programs/postgresql.nix index ba075eb..2d66235 100644 --- a/nixos/modules/programs/postgresql.nix +++ b/nixos/modules/programs/postgresql.nix @@ -3,9 +3,11 @@ config, lib, ... -}: let +}: +let cfg = config.youthlic.programs.postgresql; -in { +in +{ options = { youthlic.programs.postgresql = { enable = lib.mkEnableOption "postgresql"; @@ -27,7 +29,7 @@ in { # default socket: /var/lib/postgresql services.postgresql = { enable = true; - ensureDatabases = [cfg.database]; + ensureDatabases = [ cfg.database ]; ensureUsers = [ { name = "${cfg.database}"; diff --git a/nixos/modules/programs/rustypaste/default.nix b/nixos/modules/programs/rustypaste/default.nix index dd7536c..98eef2a 100644 --- a/nixos/modules/programs/rustypaste/default.nix +++ b/nixos/modules/programs/rustypaste/default.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.rustypaste; -in { +in +{ imports = [ ./template.nix ]; diff --git a/nixos/modules/programs/rustypaste/template.nix b/nixos/modules/programs/rustypaste/template.nix index 475bf58..2cf4d9b 100644 --- a/nixos/modules/programs/rustypaste/template.nix +++ b/nixos/modules/programs/rustypaste/template.nix @@ -3,18 +3,20 @@ lib, config, ... -}: let +}: +let cfg = config.services.rustypaste; - settingsFormat = pkgs.formats.toml {}; + settingsFormat = pkgs.formats.toml { }; configFile = settingsFormat.generate "rustypaste-config.toml" cfg.settings; -in { +in +{ options = { services.rustypaste = { enable = lib.mkEnableOption "rustypaste"; - package = lib.mkPackageOption pkgs "rustypaste" {}; + package = lib.mkPackageOption pkgs "rustypaste" { }; settings = lib.mkOption { type = settingsFormat.type; - default = {}; + default = { }; description = '' Rustypaste configuration ''; @@ -61,7 +63,7 @@ in { isSystemUser = true; }; groups = lib.optionalAttrs (cfg.group == "rustypaste") { - rustypaste = {}; + rustypaste = { }; }; }; systemd.services.rustypaste = { @@ -86,8 +88,8 @@ in { Type = "simple"; Restart = "on-failure"; Home = "/var/lib/rustypaste"; - ReadWritePaths = ["/var/lib/rustypaste"]; - StateDirectory = ["rustypaste"]; + ReadWritePaths = [ "/var/lib/rustypaste" ]; + StateDirectory = [ "rustypaste" ]; ExecStart = '' ${lib.getExe cfg.package} ''; diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 65ac04a..930f8dd 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -3,9 +3,11 @@ lib, config, ... -}: let +}: +let cfg = config.youthlic.programs.steam; -in { +in +{ options = { youthlic.programs.steam = { enable = lib.mkEnableOption "steam"; diff --git a/nixos/modules/programs/tailscale.nix b/nixos/modules/programs/tailscale.nix index 1055e9c..7932268 100644 --- a/nixos/modules/programs/tailscale.nix +++ b/nixos/modules/programs/tailscale.nix @@ -1,10 +1,8 @@ -{ - config, - lib, - ... -}: let +{ config, lib, ... }: +let cfg = config.youthlic.programs.tailscale; -in { +in +{ options = { youthlic.programs.tailscale = { enable = lib.mkEnableOption "tailscale"; diff --git a/nixos/modules/programs/transfer-sh.nix b/nixos/modules/programs/transfer-sh.nix index 468054e..a861fe3 100644 --- a/nixos/modules/programs/transfer-sh.nix +++ b/nixos/modules/programs/transfer-sh.nix @@ -1,10 +1,8 @@ -{ - lib, - config, - ... -}: let +{ lib, config, ... }: +let cfg = config.youthlic.programs.transfer-sh; -in { +in +{ options = { youthlic.programs.transfer-sh = { enable = lib.mkEnableOption "transfer.sh"; diff --git a/nixos/modules/programs/transmission.nix b/nixos/modules/programs/transmission.nix index 9cd8297..ddc40ac 100644 --- a/nixos/modules/programs/transmission.nix +++ b/nixos/modules/programs/transmission.nix @@ -5,9 +5,11 @@ inputs, rootPath, ... -}: let +}: +let cfg = config.youthlic.programs.transmission; -in { +in +{ options = { youthlic.programs.transmission = { enable = lib.mkEnableOption "transmission"; @@ -41,21 +43,21 @@ in { let caddy-cfg = config.youthlic.programs.caddy; in - lib.mkIf (cfg.enable && caddy-cfg.enable) { - services.transmission = { - openRPCPort = lib.mkForce false; - settings = { - rpc-bind-address = lib.mkForce "127.0.0.1"; - }; + lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.transmission = { + openRPCPort = lib.mkForce false; + settings = { + rpc-bind-address = lib.mkForce "127.0.0.1"; }; - services.caddy.virtualHosts = { - "transmission.${caddy-cfg.baseDomain}" = { - extraConfig = '' - reverse_proxy 127.0.0.1:9091 - ''; - }; + }; + services.caddy.virtualHosts = { + "transmission.${caddy-cfg.baseDomain}" = { + extraConfig = '' + reverse_proxy 127.0.0.1:9091 + ''; }; - } + }; + } ) ]; } diff --git a/nixos/modules/sops.nix b/nixos/modules/sops.nix index 4b78e6c..664bf65 100644 --- a/nixos/modules/sops.nix +++ b/nixos/modules/sops.nix @@ -2,12 +2,13 @@ rootPath, config, ... -}: { +}: +{ config = { sops.defaultSopsFile = rootPath + "/secrets/general.yaml"; sops.age = { keyFile = "/var/sops/key.txt"; - sshKeyPaths = []; + sshKeyPaths = [ ]; generateKey = false; }; }; diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index e971d33..adc922a 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -1,8 +1,10 @@ -{...} @ args: final: prev: let +{ ... }@args: +final: prev: +let inherit (prev) lib; in - [ - ./rime-ice.nix - ] - |> map (file: import file args) - |> (overlays: (lib.composeManyExtensions overlays) final prev) +[ + ./rime-ice.nix +] +|> map (file: import file args) +|> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/overlays/additions/rime-ice.nix b/overlays/additions/rime-ice.nix index da0c133..1547370 100644 --- a/overlays/additions/rime-ice.nix +++ b/overlays/additions/rime-ice.nix @@ -1,6 +1,9 @@ -{outputs, ...}: final: prev: let +{ outputs, ... }: +final: prev: +let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in { +in +{ rime-ice = outputs.packages."${system}".rime-ice; } diff --git a/overlays/modifications/dae.nix b/overlays/modifications/dae.nix index 3ee2db2..3921d25 100644 --- a/overlays/modifications/dae.nix +++ b/overlays/modifications/dae.nix @@ -1,6 +1,9 @@ -{inputs, ...}: final: prev: let +{ inputs, ... }: +final: prev: +let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in { +in +{ dae = inputs.dae.packages."${system}".dae-unstable; } diff --git a/overlays/modifications/default.nix b/overlays/modifications/default.nix index c5054ec..82bba99 100644 --- a/overlays/modifications/default.nix +++ b/overlays/modifications/default.nix @@ -1,13 +1,15 @@ -{...} @ args: final: prev: let +{ ... }@args: +final: prev: +let inherit (prev) lib; in - [ - ./spotify.nix - ./niri.nix - ./ghostty.nix - ./juicity.nix - ./dae.nix - ./jujutsu.nix - ] - |> map (file: import file args) - |> (overlays: (lib.composeManyExtensions overlays) final prev) +[ + ./spotify.nix + ./niri.nix + ./ghostty.nix + ./juicity.nix + ./dae.nix + ./jujutsu.nix +] +|> map (file: import file args) +|> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/overlays/modifications/ghostty.nix b/overlays/modifications/ghostty.nix index c0a5615..dbc8773 100644 --- a/overlays/modifications/ghostty.nix +++ b/overlays/modifications/ghostty.nix @@ -1,6 +1,9 @@ -{inputs, ...}: final: prev: let +{ inputs, ... }: +final: prev: +let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in { +in +{ ghostty = inputs.ghostty.packages."${system}".default; } diff --git a/overlays/modifications/juicity.nix b/overlays/modifications/juicity.nix index 52f5127..c1bbc69 100644 --- a/overlays/modifications/juicity.nix +++ b/overlays/modifications/juicity.nix @@ -1,6 +1,9 @@ -{outputs, ...}: final: prev: let +{ outputs, ... }: +final: prev: +let inherit (final) stdenv; inherit (stdenv.hostPlatform) system; -in { +in +{ juicity = outputs.packages."${system}".juicity; } diff --git a/overlays/modifications/jujutsu.nix b/overlays/modifications/jujutsu.nix index 69708a2..f661b51 100644 --- a/overlays/modifications/jujutsu.nix +++ b/overlays/modifications/jujutsu.nix @@ -1,5 +1,8 @@ -{inputs, ...}: final: prev: let +{ inputs, ... }: +final: prev: +let inherit (final.stdenv.hostPlatform) system; -in { - jujutsu = inputs.jj.packages."${system}".jujutsu.overrideAttrs {doCheck = false;}; +in +{ + jujutsu = inputs.jj.packages."${system}".jujutsu.overrideAttrs { doCheck = false; }; } diff --git a/overlays/modifications/niri.nix b/overlays/modifications/niri.nix index 200914b..5ba2cf6 100644 --- a/overlays/modifications/niri.nix +++ b/overlays/modifications/niri.nix @@ -1 +1 @@ -{inputs, ...}: inputs.niri-flake.overlays.niri +{ inputs, ... }: inputs.niri-flake.overlays.niri diff --git a/overlays/modifications/spotify.nix b/overlays/modifications/spotify.nix index 1501605..6f92c03 100644 --- a/overlays/modifications/spotify.nix +++ b/overlays/modifications/spotify.nix @@ -1 +1 @@ -{inputs, ...}: import "${inputs.oskars-dotfiles}/overlays/spotx.nix" +{ inputs, ... }: import "${inputs.oskars-dotfiles}/overlays/spotx.nix" diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index 42df88b..e8936d6 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -1,10 +1,6 @@ # This file was generated by nvfetcher, please do not modify it manually. +{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }: { - fetchgit, - fetchurl, - fetchFromGitHub, - dockerTools, -}: { dioxionary = { pname = "dioxionary"; version = "4db80d458ff7494967c94ebb1db596abba0775b2"; @@ -14,12 +10,13 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = []; + sparseCheckout = [ ]; sha256 = "sha256-H5uMTtDX9hBV36MtiPPlHPaL//WM11J5kdtEhyJBZIU="; }; cargoLock."./Cargo.lock" = { lockFile = ./dioxionary-4db80d458ff7494967c94ebb1db596abba0775b2/./Cargo.lock; outputHashes = { + }; }; date = "2025-04-07"; @@ -33,7 +30,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = []; + sparseCheckout = [ ]; sha256 = "sha256-s/OYlW66mu/3MHwhZCxvQv8f/rNuCB4SLZ2jYPO5UQQ="; }; date = "2025-02-20"; @@ -48,7 +45,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = ["Sans/OTC"]; + sparseCheckout = [ "Sans/OTC" ]; sha256 = "sha256-UxbwdY2w3u6i1kBWwr5vMKvsnD3eCllN+kBrCH38KlY="; }; }; @@ -62,7 +59,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = ["Serif/OTC"]; + sparseCheckout = [ "Serif/OTC" ]; sha256 = "sha256-mfbBSdJrUCZiUUmsmndtEW6H3z6KfBn+dEftBySf2j4="; }; }; @@ -87,7 +84,7 @@ fetchSubmodules = false; deepClone = false; leaveDotGit = false; - sparseCheckout = []; + sparseCheckout = [ ]; sha256 = "sha256-aOAxb0KjhSwlNX/IDvGwEysYvImgUEIDeNDOWRl1qNk="; }; name = "idris"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 0c57ffa..3969f44 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,23 +2,25 @@ pkgs, inputs, ... -}: let - srcs = pkgs.callPackage ./_sources/generated.nix {}; - callPackage = fn: args: pkgs.lib.callPackageWith (pkgs // {inherit inputs srcs callPackage;}) fn args; +}: +let + srcs = pkgs.callPackage ./_sources/generated.nix { }; + callPackage = + fn: args: pkgs.lib.callPackageWith (pkgs // { inherit inputs srcs callPackage; }) fn args; in - { - pinentry-selector = callPackage ./pinentry-selector.nix {}; - helix = callPackage ./helix {}; - juicity = callPackage ./juicity.nix {}; - rime-ice = callPackage ./rime-ice.nix {}; - dioxionary = callPackage ./dioxionary.nix {}; +{ + pinentry-selector = callPackage ./pinentry-selector.nix { }; + helix = callPackage ./helix { }; + juicity = callPackage ./juicity.nix { }; + rime-ice = callPackage ./rime-ice.nix { }; + dioxionary = callPackage ./dioxionary.nix { }; - noto-serif-cjk = callPackage ./noto-serif-cjk.nix {}; - noto-sans-cjk = callPackage ./noto-sans-cjk.nix {}; - } - // ( - let - firefox-addons = callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" {}; - in - pkgs.lib.genAttrs ["immersive-translate" "tridactyl"] (name: firefox-addons."${name}") - ) + noto-serif-cjk = callPackage ./noto-serif-cjk.nix { }; + noto-sans-cjk = callPackage ./noto-sans-cjk.nix { }; +} +// ( + let + firefox-addons = (callPackage "${inputs.nur-rycee}/pkgs/firefox-addons/default.nix" { }); + in + pkgs.lib.genAttrs [ "immersive-translate" "tridactyl" ] (name: firefox-addons."${name}") +) diff --git a/pkgs/dioxionary.nix b/pkgs/dioxionary.nix index a89ea19..73a6d8e 100644 --- a/pkgs/dioxionary.nix +++ b/pkgs/dioxionary.nix @@ -6,31 +6,32 @@ installShellFiles, lib, ... -}: let +}: +let src = srcs.dioxionary; in - rustPlatform.buildRustPackage { - inherit (src) pname src; - version = "${src.version}"; - cargoLock = src.cargoLock."./Cargo.lock"; - nativeBuildInputs = [ - pkg-config - installShellFiles - ]; - buildInputs = [openssl.dev]; - doCheck = false; - postInstall = '' - installShellCompletion --cmd dioxionary \ - --bash <($out/bin/dioxionary completion bash) \ - --zsh <($out/bin/dioxionary completion zsh) \ - --fish <($out/bin/dioxionary completion fish) - ''; - meta = { - description = "Rusty stardict. Enables terminal-based word lookup and vocabulary memorization using offline or online dictionaries"; - homepage = "https://github.com/vaaandark/dioxionary"; - changelog = "https://github.com/vaaandark/dioxionary/releases/tag/${src.version}"; - license = lib.licenses.gpl2Only; - maintainers = with lib.maintainers; [ulic-youthlic]; - mainProgram = "dioxionary"; - }; - } +rustPlatform.buildRustPackage { + inherit (src) pname src; + version = "${src.version}"; + cargoLock = src.cargoLock."./Cargo.lock"; + nativeBuildInputs = [ + pkg-config + installShellFiles + ]; + buildInputs = [ openssl.dev ]; + doCheck = false; + postInstall = '' + installShellCompletion --cmd dioxionary \ + --bash <($out/bin/dioxionary completion bash) \ + --zsh <($out/bin/dioxionary completion zsh) \ + --fish <($out/bin/dioxionary completion fish) + ''; + meta = { + description = "Rusty stardict. Enables terminal-based word lookup and vocabulary memorization using offline or online dictionaries"; + homepage = "https://github.com/vaaandark/dioxionary"; + changelog = "https://github.com/vaaandark/dioxionary/releases/tag/${src.version}"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ ulic-youthlic ]; + mainProgram = "dioxionary"; + }; +} diff --git a/pkgs/helix/default.nix b/pkgs/helix/default.nix index eb9489f..6d2abc1 100644 --- a/pkgs/helix/default.nix +++ b/pkgs/helix/default.nix @@ -4,11 +4,13 @@ inputs, callPackage, ... -}: let +}: +let inherit (inputs.helix.packages."${pkgs.system}") helix; - runtime = callPackage ./runtime.nix {}; + runtime = callPackage ./runtime.nix { }; runtimeInputs = ( - with pkgs; [ + with pkgs; + [ idris2Packages.idris2Lsp lua-language-server bash-language-server @@ -28,7 +30,7 @@ marksman nixd deno - alejandra + nixfmt-rfc-style vscode-langservers-extracted fish-lsp gopls @@ -43,16 +45,16 @@ ] ); in - pkgs.symlinkJoin { - name = "helix-wrapped"; - paths = [helix]; - inherit (helix) meta; - buildInputs = [ - pkgs.makeWrapper - ]; - postBuild = '' - wrapProgram $out/bin/hx \ - --suffix PATH : ${lib.makeBinPath runtimeInputs} \ - --set HELIX_RUNTIME ${runtime} - ''; - } +pkgs.symlinkJoin { + name = "helix-wrapped"; + paths = [ helix ]; + inherit (helix) meta; + buildInputs = [ + pkgs.makeWrapper + ]; + postBuild = '' + wrapProgram $out/bin/hx \ + --suffix PATH : ${lib.makeBinPath runtimeInputs} \ + --set HELIX_RUNTIME ${runtime} + ''; +} diff --git a/pkgs/helix/runtime.nix b/pkgs/helix/runtime.nix index 9d57637..93aa5fb 100644 --- a/pkgs/helix/runtime.nix +++ b/pkgs/helix/runtime.nix @@ -4,8 +4,10 @@ stdenv, runCommandNoCCLocal, ... -}: let - buildGrammar = grammar: +}: +let + buildGrammar = + grammar: stdenv.mkDerivation { pname = "helix-tree-sitter-${grammar.name}"; version = grammar.version; @@ -79,20 +81,20 @@ } ) |> lib.mapAttrsToList (_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so"); - grammarDir = runCommandNoCCLocal "helix-grammars" {} '' + grammarDir = runCommandNoCCLocal "helix-grammars" { } '' mkdir -p $out ${builtins.concatStringsSep "\n" grammarLinks} ''; - queryDir = runCommandNoCCLocal "helix-query" {} '' + queryDir = runCommandNoCCLocal "helix-query" { } '' mkdir -p $out ${builtins.concatStringsSep "\n" queries} ''; in - runCommandNoCCLocal "helix-runtime" {} '' - mkdir -p $out +runCommandNoCCLocal "helix-runtime" { } '' + mkdir -p $out - ln -s ${grammarDir} $out/grammars - ln -s ${queryDir} $out/queries - '' + ln -s ${grammarDir} $out/grammars + ln -s ${queryDir} $out/queries +'' diff --git a/pkgs/juicity.nix b/pkgs/juicity.nix index d3140a5..5fa50c1 100644 --- a/pkgs/juicity.nix +++ b/pkgs/juicity.nix @@ -1,8 +1,4 @@ -{ - buildGoModule, - srcs, - ... -}: +{ buildGoModule, srcs, ... }: buildGoModule rec { name = "juicity"; version = "unstable-${srcs.juicity.date}.${srcs.juicity.version}"; diff --git a/pkgs/noto-sans-cjk.nix b/pkgs/noto-sans-cjk.nix index 26a6a15..1ddeef2 100644 --- a/pkgs/noto-sans-cjk.nix +++ b/pkgs/noto-sans-cjk.nix @@ -3,18 +3,19 @@ srcs, stdenvNoCC, ... -}: let +}: +let source = srcs.noto-sans-cjk; in - stdenvNoCC.mkDerivation (finalAttrs: { - pname = "noto-sans-cjk"; - version = source.version; +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "noto-sans-cjk"; + version = source.version; - src = source.src; + src = source.src; - installPhase = '' - install -m444 -Dt $out/share/fonts/opentype/noto-sans-cjk Sans/OTC/*.ttc - ''; + installPhase = '' + install -m444 -Dt $out/share/fonts/opentype/noto-sans-cjk Sans/OTC/*.ttc + ''; - passthru.tests.noto-fonts = nixosTests.noto-fonts; - }) + passthru.tests.noto-fonts = nixosTests.noto-fonts; +}) diff --git a/pkgs/noto-serif-cjk.nix b/pkgs/noto-serif-cjk.nix index 0c07bee..143b30a 100644 --- a/pkgs/noto-serif-cjk.nix +++ b/pkgs/noto-serif-cjk.nix @@ -3,18 +3,19 @@ srcs, stdenvNoCC, ... -}: let +}: +let source = srcs.noto-serif-cjk; in - stdenvNoCC.mkDerivation (finalAttrs: { - pname = "noto-serif-cjk"; - version = source.version; +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "noto-serif-cjk"; + version = source.version; - src = source.src; + src = source.src; - installPhase = '' - install -m444 -Dt $out/share/fonts/opentype/noto-serif-cjk Serif/OTC/*.ttc - ''; + installPhase = '' + install -m444 -Dt $out/share/fonts/opentype/noto-serif-cjk Serif/OTC/*.ttc + ''; - passthru.tests.noto-fonts = nixosTests.noto-fonts; - }) + passthru.tests.noto-fonts = nixosTests.noto-fonts; +}) diff --git a/pkgs/pinentry-selector.nix b/pkgs/pinentry-selector.nix index d44c418..a8b04c4 100644 --- a/pkgs/pinentry-selector.nix +++ b/pkgs/pinentry-selector.nix @@ -1,4 +1,4 @@ -{pkgs}: +{ pkgs }: pkgs.writeShellApplication { name = "pinentry"; runtimeInputs = with pkgs; [ diff --git a/pkgs/rime-ice.nix b/pkgs/rime-ice.nix index f6ffeca..384ad8b 100644 --- a/pkgs/rime-ice.nix +++ b/pkgs/rime-ice.nix @@ -1,19 +1,16 @@ -{ - srcs, - stdenvNoCC, - ... -}: let +{ srcs, stdenvNoCC, ... }: +let source = srcs.rime-ice; in - stdenvNoCC.mkDerivation { - inherit (source) pname version src; +stdenvNoCC.mkDerivation { + inherit (source) pname version src; - installPhase = '' - runHook preInstall + installPhase = '' + runHook preInstall - mkdir -p $out/share/rime-data - cp -r * $out/share/rime-data/ + mkdir -p $out/share/rime-data + cp -r * $out/share/rime-data/ - runHook postInstall - ''; - } + runHook postInstall + ''; +}