diff --git a/hosts/dunamis/misc/default.nix b/hosts/dunamis/misc/default.nix index ebef8d5..9e1fcd5 100644 --- a/hosts/dunamis/misc/default.nix +++ b/hosts/dunamis/misc/default.nix @@ -1,6 +1,6 @@ { imports = [ # ./minecraft.nix - ./nix-ssh-serve.nix + # ./nix-ssh-serve.nix ]; } diff --git a/hosts/dunamis/misc/nix-ssh-serve.nix b/hosts/dunamis/misc/nix-ssh-serve.nix deleted file mode 100644 index 05235cf..0000000 --- a/hosts/dunamis/misc/nix-ssh-serve.nix +++ /dev/null @@ -1,15 +0,0 @@ -{config, ...}: { - nix = let - inherit (builtins) readFile; - inherit (config.users.users) user; - in { - sshServe = { - enable = true; - keys = map (f: readFile f) user.openssh.authorizedKeys.keyFiles; - # protocol = "ssh-ng"; - trusted = true; - write = true; - }; - }; - security.pam.sshAgentAuth.enable = true; -} diff --git a/hosts/eldrid/misc/default.nix b/hosts/eldrid/misc/default.nix index cc8d3bd..cbbe9ef 100644 --- a/hosts/eldrid/misc/default.nix +++ b/hosts/eldrid/misc/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./distributed-build.nix + # ./distributed-build.nix ]; } diff --git a/hosts/eldrid/misc/distributed-build.nix b/hosts/eldrid/misc/distributed-build.nix deleted file mode 100644 index b093581..0000000 --- a/hosts/eldrid/misc/distributed-build.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - inputs, - ... -}: let - inherit (builtins) readFile; - inherit (config.networking) hostName; - inherit (config.sops) secrets; - inherit (inputs) mysecrets; - pubHost = readFile "${mysecrets}/ssh/ssh_host_ed25519_dunamis.base64"; -in { - nix = { - distributedBuilds = true; - buildMachines = [ - { - hostName = "dunamis"; - publicHostKey = pubHost; - sshKey = secrets."ssh-${hostName}-user".path; - sshUser = "nix-ssh"; - supportedFeatures = [ - "benchmark" - "big-parallel" - "kvm" - "nixos-test" - ]; - system = "x86_64-linux"; - } - ]; - }; -} diff --git a/hosts/legion/misc/default.nix b/hosts/legion/misc/default.nix index cc8d3bd..cbbe9ef 100644 --- a/hosts/legion/misc/default.nix +++ b/hosts/legion/misc/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./distributed-build.nix + # ./distributed-build.nix ]; } diff --git a/hosts/legion/misc/distributed-build.nix b/hosts/legion/misc/distributed-build.nix deleted file mode 100644 index b093581..0000000 --- a/hosts/legion/misc/distributed-build.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - inputs, - ... -}: let - inherit (builtins) readFile; - inherit (config.networking) hostName; - inherit (config.sops) secrets; - inherit (inputs) mysecrets; - pubHost = readFile "${mysecrets}/ssh/ssh_host_ed25519_dunamis.base64"; -in { - nix = { - distributedBuilds = true; - buildMachines = [ - { - hostName = "dunamis"; - publicHostKey = pubHost; - sshKey = secrets."ssh-${hostName}-user".path; - sshUser = "nix-ssh"; - supportedFeatures = [ - "benchmark" - "big-parallel" - "kvm" - "nixos-test" - ]; - system = "x86_64-linux"; - } - ]; - }; -} diff --git a/hosts/morphius/misc/default.nix b/hosts/morphius/misc/default.nix index cc8d3bd..cbbe9ef 100644 --- a/hosts/morphius/misc/default.nix +++ b/hosts/morphius/misc/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./distributed-build.nix + # ./distributed-build.nix ]; } diff --git a/hosts/morphius/misc/distributed-build.nix b/hosts/morphius/misc/distributed-build.nix deleted file mode 100644 index cba37f5..0000000 --- a/hosts/morphius/misc/distributed-build.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - config, - inputs, - ... -}: let - inherit (builtins) readFile; - inherit (config.networking) hostName; - inherit (config.sops) secrets; - inherit (inputs) mysecrets; - pubHost = readFile "${mysecrets}/ssh/ssh_host_ed25519_dunamis.base64"; -in { - nix = { - distributedBuilds = true; - buildMachines = [ - { - hostName = "dunamis"; - publicHostKey = pubHost; - sshKey = secrets."ssh-${hostName}-user".path; - sshUser = "nix-ssh"; - supportedFeatures = [ - "benchmark" - "big-parallel" - "kvm" - "nixos-test" - "uid-range" - ]; - system = "x86_64-linux"; - } - ]; - }; -} diff --git a/hosts/sarien/misc/default.nix b/hosts/sarien/misc/default.nix index cc8d3bd..cbbe9ef 100644 --- a/hosts/sarien/misc/default.nix +++ b/hosts/sarien/misc/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./distributed-build.nix + # ./distributed-build.nix ]; } diff --git a/hosts/sarien/misc/distributed-build.nix b/hosts/sarien/misc/distributed-build.nix deleted file mode 100644 index b093581..0000000 --- a/hosts/sarien/misc/distributed-build.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - inputs, - ... -}: let - inherit (builtins) readFile; - inherit (config.networking) hostName; - inherit (config.sops) secrets; - inherit (inputs) mysecrets; - pubHost = readFile "${mysecrets}/ssh/ssh_host_ed25519_dunamis.base64"; -in { - nix = { - distributedBuilds = true; - buildMachines = [ - { - hostName = "dunamis"; - publicHostKey = pubHost; - sshKey = secrets."ssh-${hostName}-user".path; - sshUser = "nix-ssh"; - supportedFeatures = [ - "benchmark" - "big-parallel" - "kvm" - "nixos-test" - ]; - system = "x86_64-linux"; - } - ]; - }; -} diff --git a/modules/nixos/config/nix/default.nix b/modules/nixos/config/nix/default.nix index 8337c0f..398a988 100644 --- a/modules/nixos/config/nix/default.nix +++ b/modules/nixos/config/nix/default.nix @@ -1,6 +1,7 @@ { imports = [ ./common.nix + ./distibuted-build.nix ./substituters.nix ]; } diff --git a/modules/nixos/config/nix/distibuted-build.nix b/modules/nixos/config/nix/distibuted-build.nix new file mode 100644 index 0000000..5af6877 --- /dev/null +++ b/modules/nixos/config/nix/distibuted-build.nix @@ -0,0 +1,47 @@ +{ + config, + inputs, + lib, + ... +}: let + isBuildHost = config.networking.hostName == "dunamis"; +in { + config = lib.mkMerge [ + (lib.mkIf isBuildHost { + nix = let + inherit (builtins) readFile; + inherit (config.users.users) user; + in { + sshServe = { + enable = true; + keys = map (f: readFile f) user.openssh.authorizedKeys.keyFiles; + # protocol = "ssh-ng"; + trusted = true; + write = true; + }; + }; + security.pam.sshAgentAuth.enable = true; + }) + (lib.mkIf (!isBuildHost) { + nix = let + inherit (builtins) readFile; + inherit (config.networking) hostName; + inherit (config.sops) secrets; + inherit (inputs) mysecrets; + pubHost = readFile "${mysecrets}/ssh/ssh_host_ed25519_dunamis.base64"; + in { + distributedBuilds = true; + buildMachines = [ + { + hostName = "dunamis"; + system = "x86_64-linux"; + publicHostKey = pubHost; + sshKey = secrets."ssh-${hostName}-user".path; + sshUser = "nix-ssh"; + supportedFeatures = ["benchmark" "big-parallel" "kvm" "nixos-test"]; + } + ]; + }; + }) + ]; +}