diff --git a/hosts/jupiter/default.nix b/hosts/jupiter/default.nix index 7271d00e..0f4db580 100644 --- a/hosts/jupiter/default.nix +++ b/hosts/jupiter/default.nix @@ -17,5 +17,5 @@ deployment.targetHost = "5ce:969c:40d1:9575:f5e:591d:c377:a20b"; - jovian.steam.enable = true; + #jovian.steam.enable = true; } diff --git a/modules/system/default.nix b/modules/system/default.nix index e2c3b9d7..6040e075 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -11,5 +11,4 @@ ]; networking.hostName = name; - deployment.tags = config.system.nixos.tags; } diff --git a/modules/system/settings/colmena/default.nix b/modules/system/settings/colmena/default.nix new file mode 100644 index 00000000..33e99c23 --- /dev/null +++ b/modules/system/settings/colmena/default.nix @@ -0,0 +1,7 @@ +{ config, ... }: +{ + deployment = { + allowLocalDeployment = true; + tags = config.system.nixos.tags; + }; +} diff --git a/modules/system/settings/default.nix b/modules/system/settings/default.nix index 12467a0c..0cea70d4 100644 --- a/modules/system/settings/default.nix +++ b/modules/system/settings/default.nix @@ -1,6 +1,7 @@ { ... }: { imports = [ + ./colmena ./font ./locale ./logind diff --git a/modules/system/settings/nix/cache/default.nix b/modules/system/settings/nix/cache/default.nix new file mode 100644 index 00000000..3041a621 --- /dev/null +++ b/modules/system/settings/nix/cache/default.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + nix.settings = { + substituters = [ + "https://colmena.cachix.org" + "https://nix-community.cachix.org" + ]; + trusted-public-keys = [ + "colmena.cachix.org-1:7BzpDnjjH8ki2CT3f6GdOk7QAzPOl+1t3LvTLXqYcSg=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; +} diff --git a/modules/system/settings/nix/default.nix b/modules/system/settings/nix/default.nix index aaf08ea3..8f4eda56 100644 --- a/modules/system/settings/nix/default.nix +++ b/modules/system/settings/nix/default.nix @@ -1,21 +1,19 @@ { pkgs, ... }: { imports = [ + ./cache ./channels ./distributed - ./gc + ./maintenence ./unfree ]; nix = { package = pkgs.lix; - settings = { - auto-optimise-store = true; - experimental-features = [ - "nix-command" - "flakes" - ]; - }; + settings.experimental-features = [ + "flakes" + "nix-command" + ]; }; # Use a newer implementation of nixos-rebuild diff --git a/modules/system/settings/nix/distributed/default.nix b/modules/system/settings/nix/distributed/default.nix index 210ba399..cd128b1a 100644 --- a/modules/system/settings/nix/distributed/default.nix +++ b/modules/system/settings/nix/distributed/default.nix @@ -1,39 +1,59 @@ -{ nodes, ... }: +{ config, lib, nodes, ... }: { nix = { buildMachines = with nodes; [ { - hostName = midas.config.deployment.targetHost; - system = midas.config.nixpkgs.localSystem.system; - publicHostKey = "AAAAC3NzaC1lZDI1NTE5AAAAIFcFMvrx9/iUZ1mEubf+QF1i3LNTxFhaU/1zFSjdo0kK"; + hostName = "midas"; + system = midas.config.nixpkgs.hostPlatform.system; + supportedFeatures = midas.config.nix.settings.system-features; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUZjRk12cng5L2lVWjFtRXViZitRRjFpM0xOVHhGaGFVLzF6RlNqZG8wa0sgcm9vdEBraXR0eQo="; protocol = "ssh-ng"; + sshKey = "/root/.ssh/buildkey"; + maxJobs = 8; } { - hostName = kitty.config.deployment.targetHost; - system = kitty.config.nixpkgs.localSystem.system; - publicHostKey = "AAAAC3NzaC1lZDI1NTE5AAAAIIrGmsya5DXKuXO6jNjUlrYHqk49KLzxM/60GXtLRLrL"; + hostName = "kitty"; + system = kitty.config.nixpkgs.hostPlatform.system; + supportedFeatures = kitty.config.nix.settings.system-features; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUlyR21zeWE1RFhLdVhPNmpOalVscllIcWs0OUtMenhNLzYwR1h0TFJMckwgcm9vdEBraXR0eQo="; protocol = "ssh-ng"; + sshKey = "/root/.ssh/buildkey"; + maxJobs = 8; } { - hostName = detritus.config.deployment.targetHost; - system = detritus.config.nixpkgs.localSystem.system; - publicHostKey = "AAAAC3NzaC1lZDI1NTE5AAAAIN+GvLro4DVmlvmXcasU1gctIX9qct7mZtElpB735AoL"; + hostName = "detritus"; + system = detritus.config.nixpkgs.hostPlatform.system; + supportedFeatures = detritus.config.nix.settings.system-features; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU4rR3ZMcm80RFZtbHZtWGNhc1UxZ2N0SVg5cWN0N21adEVscEI3MzVBb0wgcm9vdEBkZXRyaXR1cwo="; protocol = "ssh-ng"; + sshKey = "/root/.ssh/buildkey"; + maxJobs = 8; } { - hostName = elder.config.deployment.targetHost; - system = elder.config.nixpkgs.localSystem.system; - publicHostKey = "AAAAC3NzaC1lZDI1NTE5AAAAIFjmJ6bkuO57gp6GZDEfR1O7krdf5wiqrOBC5pzTDl91"; + hostName = "elder"; + system = elder.config.nixpkgs.hostPlatform.system; + supportedFeatures = elder.config.nix.settings.system-features; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUZqbUo2Ymt1TzU3Z3A2R1pERWZSMU83a3JkZjV3aXFyT0JDNXB6VERsOTEgcm9vdEBlbGRlcgo="; protocol = "ssh-ng"; + sshKey = "/root/.ssh/buildkey"; + maxJobs = 8; } { - hostName = prophet.config.deployment.targetHost; - system = prophet.config.nixpkgs.localSystem.system; - publicHostKey = "AAAAC3NzaC1lZDI1NTE5AAAAICrp3Y/X2BRUENx+0GMTmB1VDA6SiwkGgdJMHSdMMepM"; + hostName = "prophet"; + system = prophet.config.nixpkgs.hostPlatform.system; + supportedFeatures = prophet.config.nix.settings.system-features; + publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUNycDNZL1gyQlJVRU54KzBHTVRtQjFWREE2U2l3a0dnZEpNSFNkTU1lcE0gcm9vdEBwcm9waGV0Cg=="; protocol = "ssh-ng"; + sshKey = "/root/.ssh/buildkey"; + maxJobs = 8; } ]; + distributedBuilds = true; - settings.trusted-users = [ "root" ]; + + settings = { + max-jobs = if builtins.elem "server" config.system.nixos.tags then "auto" else 0; + trusted-users = [ "root" ]; + }; }; } diff --git a/modules/system/settings/nix/gc/default.nix b/modules/system/settings/nix/gc/default.nix deleted file mode 100644 index 0ec262af..00000000 --- a/modules/system/settings/nix/gc/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ ... }: -{ - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 7d"; - }; -} diff --git a/modules/system/settings/nix/maintenence/default.nix b/modules/system/settings/nix/maintenence/default.nix new file mode 100644 index 00000000..f1b190c0 --- /dev/null +++ b/modules/system/settings/nix/maintenence/default.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + nix = let + common = { + automatic = true; + persistent = true; + }; + in { + gc = common; + optimise = common; + settings.auto-optimise-store = true; + }; +}