summaryrefslogtreecommitdiff
path: root/modules/deploy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/deploy/default.nix')
-rw-r--r--modules/deploy/default.nix50
1 files changed, 0 insertions, 50 deletions
diff --git a/modules/deploy/default.nix b/modules/deploy/default.nix
deleted file mode 100644
index e8bc827..0000000
--- a/modules/deploy/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-with lib;
-
-let
- cfg = config.hexchen.deploy;
-
-in {
- options = {
- hexchen.deploy = {
- enable = mkOption {
- type = types.bool;
- default = true;
- };
- ssh.host = mkOption {
- type = types.str;
- default = "${config.networking.hostName}.${config.networking.domain}";
- };
- ssh.port = mkOption {
- type = types.int;
- default = head config.services.openssh.ports;
- };
- substitute = mkOption {
- type = types.bool;
- default = true;
- };
- groups = mkOption {
- type = with types; listOf str;
- default = [];
- };
- };
- };
-
- config = mkIf cfg.enable {
- hexchen.deploy.groups = [ "all" ];
-
- system.build.deployScript = let
- superuser = if config.security.sudo.enable then "sudo" else "";
- in pkgs.writeScript "deploy-${config.networking.hostName}" ''
- #!${pkgs.runtimeShell}
- set -xeo pipefail
- export PATH=${with pkgs; lib.makeBinPath [ coreutils openssh nix ]}
- export NIX_SSHOPTS="$NIX_SSHOPTS -p${toString cfg.ssh.port}"
- nix copy ${if cfg.substitute then "-s" else ""} --no-check-sigs --to ssh://${cfg.ssh.host} ${config.system.build.toplevel}
- ssh $NIX_SSHOPTS ${cfg.ssh.host} "${superuser} nix-env -p /nix/var/nix/profiles/system -i ${config.system.build.toplevel}"
- ssh $NIX_SSHOPTS ${cfg.ssh.host} "${superuser} /nix/var/nix/profiles/system/bin/switch-to-configuration $1"
- '';
- };
-}
-