diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/deploy.nix | 23 | ||||
-rw-r--r-- | lib/hosts.nix | 80 |
2 files changed, 0 insertions, 103 deletions
diff --git a/lib/deploy.nix b/lib/deploy.nix deleted file mode 100644 index 1b8d1f2..0000000 --- a/lib/deploy.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ pkgs, hosts, groups }: - -with pkgs.lib; - -( - mapAttrs (name: hosts: pkgs.writeScript "deploy-group-${name}" '' - #!${pkgs.runtimeShell} - export PATH= - ${concatMapStrings (host: '' - echo "deploying ${host.config.networking.hostName}..." - ${host.config.system.build.deployScript} $1 & - PID_LIST+=" $!" - '') hosts} - # FIXME: remove jobs from PIDLIST once they finish - trap "kill $PID_LIST" SIGINT - wait $PID_LIST - '') groups -) // ( - mapAttrs - (name: host: host.config.system.build.deployScript) - (filterAttrs (_: host: host.config.hexchen.deploy.enable) hosts) -) - diff --git a/lib/hosts.nix b/lib/hosts.nix deleted file mode 100644 index 91b6b40..0000000 --- a/lib/hosts.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - pkgs, - hostsDir ? ../hosts, - commonImports ? [], - pkgsPath ? ../pkgs, - modules ? {}, - overlays ? {}, - profiles ? {}, - users ? {}, - sources ? {} -}: - -with pkgs.lib; - -rec { - hostNames = attrNames ( - filterAttrs ( - name: type: type == "directory" - ) ( - builtins.readDir hostsDir - ) - ); - - hostConfig = hostName: { config, ... }: { - _module.args = { - inherit hosts groups; - }; - imports = [ - (import (hostsDir + "/${hostName}/configuration.nix")) - # urgh, yes, we still need to manually import the deploy module for now - # at least if i want to keep my thing reusable. - ../modules/deploy - ] ++ commonImports; - networking = { - inherit hostName; - }; - nixpkgs.pkgs = - let pkgs = import pkgsPath { - inherit (config.nixpkgs) config system; - }; - in if pkgs ? nixpkgs then pkgs.nixpkgs else pkgs; - }; - - hosts = listToAttrs ( - map ( - hostName: nameValuePair hostName ( - import (pkgs.path + "/nixos/lib/eval-config.nix") { - modules = [ - (hostConfig hostName) - (if sources ? home-manager then sources.home-manager + "/nixos" else {}) - ]; - specialArgs = { inherit modules overlays profiles users sources; }; - } - ) - ) hostNames - ); - - groupNames = unique ( - concatLists ( - mapAttrsToList ( - name: host: host.config.hexchen.deploy.groups - ) hosts - ) - ); - - groups = listToAttrs ( - map ( - groupName: nameValuePair groupName ( - filter ( - host: elem groupName host.config.hexchen.deploy.groups - ) ( - attrValues ( - filterAttrs (_: h: h.config.hexchen.deploy.enable) hosts - ) - ) - ) - ) groupNames - ); -} - |