diff options
Diffstat (limited to 'system-profiles')
-rw-r--r-- | system-profiles/core/default.nix | 41 | ||||
-rw-r--r-- | system-profiles/default-locale.nix | 27 | ||||
-rw-r--r-- | system-profiles/nfsroot.nix | 2 | ||||
-rw-r--r-- | system-profiles/niri-flake.nix | 4 | ||||
-rw-r--r-- | system-profiles/niri-unstable.nix | 11 | ||||
-rw-r--r-- | system-profiles/rebuild-machines/default.nix | 20 | ||||
-rw-r--r-- | system-profiles/zfs.nix | 4 |
7 files changed, 61 insertions, 48 deletions
diff --git a/system-profiles/core/default.nix b/system-profiles/core/default.nix index 71d0619a..229a007e 100644 --- a/system-profiles/core/default.nix +++ b/system-profiles/core/default.nix | |||
@@ -127,36 +127,16 @@ in { | |||
127 | 127 | ||
128 | flake-registry = "${flakeInputs.flake-registry}/flake-registry.json"; | 128 | flake-registry = "${flakeInputs.flake-registry}/flake-registry.json"; |
129 | }; | 129 | }; |
130 | nixPath = [ | 130 | nixPath = map (flake: "${flake}=flake:${flake}") (attrNames config.nix.registry); |
131 | "nixpkgs=${pkgs.runCommand "nixpkgs" {} '' | ||
132 | mkdir $out | ||
133 | ln -s ${./nixpkgs.nix} $out/default.nix | ||
134 | ln -s /run/nixpkgs/lib $out/lib | ||
135 | ''}" | ||
136 | ]; | ||
137 | registry = | 131 | registry = |
138 | let override = { self = "nixos"; }; | 132 | let override = { self = "nixos"; }; |
139 | in mapAttrs' (inpName: inpFlake: nameValuePair | 133 | in mapAttrs' (inpName: inpFlake: nameValuePair |
140 | (override.${inpName} or inpName) | 134 | (override.${inpName} or inpName) |
141 | { flake = inpFlake; } ) flakeInputs; | 135 | { to = { type = "path"; path = inpFlake; }; } ) flakeInputs; |
142 | }; | 136 | }; |
143 | 137 | ||
144 | systemd.tmpfiles.rules = [ | 138 | systemd.tmpfiles.rules = [ |
145 | "L+ /run/nixpkgs - - - - ${flakeInputs.${config.nixpkgs.flakeInput}.outPath}" | 139 | "L+ /run/nixpkgs - - - - ${flakeInputs.${config.nixpkgs.flakeInput}.outPath}" |
146 | "L+ /run/nixpkgs-overlays.nix - - - - ${pkgs.writeText "overlays.nix" '' | ||
147 | with builtins; | ||
148 | |||
149 | attrValues (import | ||
150 | ( | ||
151 | let lock = fromJSON (readFile ${flake + "/flake.lock"}); in | ||
152 | fetchTarball { | ||
153 | url = "https://github.com/edolstra/flake-compat/archive/''${lock.nodes.flake-compat.locked.rev}.tar.gz"; | ||
154 | sha256 = lock.nodes.flake-compat.locked.narHash; | ||
155 | } | ||
156 | ) | ||
157 | { src = ${flake}; } | ||
158 | ).defaultNix.overlays | ||
159 | ''}" | ||
160 | "L+ /etc/nixos - - - - ${flake}" | 140 | "L+ /etc/nixos - - - - ${flake}" |
161 | ] ++ map (input: "L+ /run/flake-inputs/${input} - - - - ${flakeInputs.${input}.outPath}") (attrNames flakeInputs); | 141 | ] ++ map (input: "L+ /run/flake-inputs/${input} - - - - ${flakeInputs.${input}.outPath}") (attrNames flakeInputs); |
162 | 142 | ||
@@ -177,11 +157,9 @@ in { | |||
177 | { | 157 | { |
178 | manual.manpages.enable = true; | 158 | manual.manpages.enable = true; |
179 | systemd.user.startServices = "sd-switch"; | 159 | systemd.user.startServices = "sd-switch"; |
180 | |||
181 | programs.ssh.internallyManaged = mkForce true; | ||
182 | } | 160 | } |
183 | ]; | 161 | ]; |
184 | extraSpecialArgs = { inherit flake flakeInputs path; }; | 162 | extraSpecialArgs = { inherit flake flakeInputs path; hostConfig = config; }; |
185 | }; | 163 | }; |
186 | 164 | ||
187 | sops = mkIf hasSops { | 165 | sops = mkIf hasSops { |
@@ -208,11 +186,22 @@ in { | |||
208 | enableNg = true; | 186 | enableNg = true; |
209 | }; | 187 | }; |
210 | }) | 188 | }) |
189 | ++ (optional (options ? system.rebuild.enableNg) { | ||
190 | system.rebuild.enableNg = lib.mkDefault true; | ||
191 | }) | ||
192 | ++ (optional (options ? services.userborn) { | ||
193 | services.userborn = { | ||
194 | enable = lib.mkDefault true; | ||
195 | passwordFilesLocation = lib.mkDefault "/var/lib/nixos"; | ||
196 | }; | ||
197 | }) | ||
198 | ++ (optional (!(options ? services.userborn) && (options ? system.etc)) { | ||
199 | systemd.sysusers.enable = lib.mkDefault true; | ||
200 | }) | ||
211 | ++ (optional (options ? system.etc) { | 201 | ++ (optional (options ? system.etc) { |
212 | boot.initrd.systemd.enable = lib.mkDefault true; | 202 | boot.initrd.systemd.enable = lib.mkDefault true; |
213 | system.etc.overlay.enable = lib.mkDefault true; | 203 | system.etc.overlay.enable = lib.mkDefault true; |
214 | system.etc.overlay.mutable = lib.mkDefault (!config.systemd.sysusers.enable); | 204 | system.etc.overlay.mutable = lib.mkDefault (!config.systemd.sysusers.enable); |
215 | systemd.sysusers.enable = lib.mkDefault true; | ||
216 | 205 | ||
217 | # Random perl remnants | 206 | # Random perl remnants |
218 | system.disableInstallerTools = lib.mkDefault true; | 207 | system.disableInstallerTools = lib.mkDefault true; |
diff --git a/system-profiles/default-locale.nix b/system-profiles/default-locale.nix index 2d483f04..60d338cb 100644 --- a/system-profiles/default-locale.nix +++ b/system-profiles/default-locale.nix | |||
@@ -1,16 +1,23 @@ | |||
1 | { lib, ... }: | 1 | { lib, options, ... }: |
2 | 2 | ||
3 | with lib; | 3 | with lib; |
4 | 4 | ||
5 | { | 5 | { |
6 | i18n = { | 6 | config = foldr recursiveUpdate {} ([ |
7 | defaultLocale = "en_DK.UTF-8"; | 7 | { |
8 | extraLocaleSettings = { | 8 | i18n = { |
9 | "TIME_STYLE" = "long-iso"; | 9 | defaultLocale = "en_DK.UTF-8"; |
10 | }; | 10 | extraLocaleSettings = { |
11 | supportedLocales = [ "C.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" "en_DK.UTF-8/UTF-8" ]; | 11 | "TIME_STYLE" = "long-iso"; |
12 | }; | 12 | }; |
13 | console.keyMap = mkDefault "dvorak-programmer"; | 13 | }; |
14 | console.keyMap = mkDefault "dvorak-programmer"; | ||
14 | 15 | ||
15 | time.timeZone = mkDefault "Europe/Berlin"; | 16 | time.timeZone = mkDefault "Europe/Berlin"; |
17 | } | ||
18 | ] ++ (optional (options ? i18n.extraLocales) { | ||
19 | i18n.extraLocales = [ "C.UTF-8" "en_US.UTF-8" "en_DK.UTF-8" ]; | ||
20 | }) ++ (optional (!(options ? i18n.extraLocales)) { | ||
21 | i18n.supportedLocales = [ "C.UTF-8/UTF-8" "en_US.UTF-8/UTF-8" "en_DK.UTF-8/UTF-8" ]; | ||
22 | })); | ||
16 | } | 23 | } |
diff --git a/system-profiles/nfsroot.nix b/system-profiles/nfsroot.nix index 1cd930d9..b0116d61 100644 --- a/system-profiles/nfsroot.nix +++ b/system-profiles/nfsroot.nix | |||
@@ -48,7 +48,7 @@ in { | |||
48 | fileSystems."/nix/.ro-store" = mkImageMediaOverride | 48 | fileSystems."/nix/.ro-store" = mkImageMediaOverride |
49 | { fsType = "nfs4"; | 49 | { fsType = "nfs4"; |
50 | device = cfg.storeDevice; | 50 | device = cfg.storeDevice; |
51 | options = [ "ro" ]; | 51 | options = [ "ro" "nfsvers=4.2" ]; |
52 | neededForBoot = true; | 52 | neededForBoot = true; |
53 | }; | 53 | }; |
54 | 54 | ||
diff --git a/system-profiles/niri-flake.nix b/system-profiles/niri-flake.nix new file mode 100644 index 00000000..b28d51ff --- /dev/null +++ b/system-profiles/niri-flake.nix | |||
@@ -0,0 +1,4 @@ | |||
1 | { ... }: | ||
2 | { | ||
3 | config.niri-flake.cache.enable = false; | ||
4 | } | ||
diff --git a/system-profiles/niri-unstable.nix b/system-profiles/niri-unstable.nix new file mode 100644 index 00000000..3a8b393d --- /dev/null +++ b/system-profiles/niri-unstable.nix | |||
@@ -0,0 +1,11 @@ | |||
1 | { config, pkgs, lib, ... }: | ||
2 | { | ||
3 | config = { | ||
4 | programs.niri.package = lib.mkDefault pkgs.niri-unstable; | ||
5 | home-manager.sharedModules = [ | ||
6 | { | ||
7 | programs.niri.package = lib.mkDefault config.programs.niri.package; | ||
8 | } | ||
9 | ]; | ||
10 | }; | ||
11 | } | ||
diff --git a/system-profiles/rebuild-machines/default.nix b/system-profiles/rebuild-machines/default.nix index 544f47e1..de86cd74 100644 --- a/system-profiles/rebuild-machines/default.nix +++ b/system-profiles/rebuild-machines/default.nix | |||
@@ -25,16 +25,18 @@ let | |||
25 | 25 | ||
26 | phases = [ "buildPhase" "installPhase" ]; | 26 | phases = [ "buildPhase" "installPhase" ]; |
27 | 27 | ||
28 | inherit (pkgs) zsh coreutils openssh; | ||
29 | inherit (cfg) scriptName; | ||
30 | inherit (cfg.flake) flakeOutput; | ||
31 | flake = cfg.flake.name; | ||
32 | nixosRebuild = config.system.build.nixos-rebuild; | ||
33 | inherit (config.security) wrapperDir; | ||
34 | inherit sshConfig; | ||
35 | |||
36 | buildPhase = '' | 28 | buildPhase = '' |
37 | substituteAll $src rebuild-machine.zsh | 29 | substitute $src rebuild-machine.zsh \ |
30 | --subst-var-by zsh ${pkgs.zsh} \ | ||
31 | --subst-var-by coreutils ${pkgs.coreutils} \ | ||
32 | --subst-var-by openssh ${pkgs.openssh} \ | ||
33 | --subst-var-by wrapperDir ${config.security.wrapperDir} \ | ||
34 | --subst-var-by sshConfig ${sshConfig} \ | ||
35 | --subst-var-by out "$out" \ | ||
36 | --subst-var-by nixosRebuild ${config.system.build.nixos-rebuild} \ | ||
37 | --subst-var-by flake ${cfg.flake.name} \ | ||
38 | --subst-var-by scriptName ${cfg.scriptName} \ | ||
39 | --subst-var-by flakeOutput ${cfg.flake.flakeOutput} | ||
38 | ''; | 40 | ''; |
39 | 41 | ||
40 | installPhase = '' | 42 | installPhase = '' |
diff --git a/system-profiles/zfs.nix b/system-profiles/zfs.nix index 149decee..a93dddd2 100644 --- a/system-profiles/zfs.nix +++ b/system-profiles/zfs.nix | |||
@@ -1,8 +1,8 @@ | |||
1 | { pkgs, lib, ... } : { | 1 | { pkgs, lib, ... } : { |
2 | config = { | 2 | config = { |
3 | boot = { | 3 | boot = { |
4 | kernelPackages = pkgs.linuxPackages_6_11; | 4 | kernelPackages = pkgs.linuxPackages_6_12; |
5 | zfs.package = pkgs.zfs_unstable; | 5 | zfs.package = pkgs.zfs_2_3; |
6 | 6 | ||
7 | supportedFilesystems.zfs = true; | 7 | supportedFilesystems.zfs = true; |
8 | }; | 8 | }; |