diff --git a/flake.lock b/flake.lock index 53c1ad17..d3e72ee5 100644 --- a/flake.lock +++ b/flake.lock @@ -229,7 +229,8 @@ "nix-darwin": "nix-darwin", "nixos-flake": "nixos-flake", "nixpkgs": "nixpkgs", - "terranix": "terranix" + "terranix": "terranix", + "unstable": "unstable" } }, "terranix": { @@ -271,6 +272,22 @@ "type": "github" } }, + "unstable": { + "locked": { + "lastModified": 1698318101, + "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "63678e9f3d3afecfeafa0acead6239cdb447574c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1667395993, diff --git a/flake.nix b/flake.nix index 8bf23e9b..2703a1a5 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ inputs = { # Track channels with commits tested and built by hydra nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nix-darwin.url = "github:lnl7/nix-darwin/master"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; @@ -91,6 +92,8 @@ }; }; + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib; + nixosModules = { # Common nixos/nix-darwin configuration shared between Linux and macOS. common = { pkgs, ... }: { diff --git a/hosts/nachtigall/apps/caddy.nix b/hosts/nachtigall/apps/caddy.nix index 887d5ec2..1c0876ca 100644 --- a/hosts/nachtigall/apps/caddy.nix +++ b/hosts/nachtigall/apps/caddy.nix @@ -2,7 +2,7 @@ config, lib, pkgs, - self, + flake, ... }: let maintenanceMode = { @@ -40,6 +40,14 @@ ''; }; in { + disabledModules = [ + "services/web-servers/caddy/default.nix" + ]; + + imports = [ + "${flake.inputs.unstable}/nixos/modules/services/web-servers/caddy/default.nix" + ]; + systemd.tmpfiles.rules = [ "d '/data/srv/www/os/download/' 0750 hakkonaut hakkonaut - -" ]; diff --git a/lib/deploy.nix b/lib/deploy.nix index 5e9f6418..2ed7eaee 100644 --- a/lib/deploy.nix +++ b/lib/deploy.nix @@ -6,6 +6,16 @@ */ { lib, inputs }: let + # https://github.com/serokell/deploy-rs#overall-usage + system = "x86_64-linux"; + pkgs = import inputs.nixpkgs { inherit system; }; + deployPkgs = import inputs.nixpkgs { + inherit system; + overlays = [ + inputs.deploy-rs.overlay + (self: super: { deploy-rs = { inherit (pkgs) deploy-rs; lib = super.deploy-rs.lib; }; }) + ]; + }; getFqdn = c: let net = c.config.networking; fqdn = @@ -53,7 +63,7 @@ in { hostname = getFqdn c; profiles.system = { user = "root"; - path = inputs.deploy-rs.lib.${c.pkgs.stdenv.hostPlatform.system}.activate.nixos c; + path = deployPkgs.deploy-rs.lib.activate.nixos c; }; } )