diff --git a/flake.lock b/flake.lock index daaff8e..dee8d09 100644 --- a/flake.lock +++ b/flake.lock @@ -36,6 +36,85 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1627913399, + "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "type": "github" + }, + "original": { + "id": "flake-compat", + "type": "indirect" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1631561581, + "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, + "gitignore-nix": { + "flake": false, + "locked": { + "lastModified": 1611672876, + "narHash": "sha256-qHu3uZ/o9jBHiA3MEKHJ06k7w4heOhA+4HCSIvflRxo=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "211907489e9f198594c0eb0ca9256a1949c9d412", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1632468475, + "narHash": "sha256-NNOm9CbdA8cuwbvaBHslGbPTiU6bh1Ao+MpEPx4rSGo=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "6bd668af3fd098bdd07a1bedd399564141e275da", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1633098935, + "narHash": "sha256-UtuBczommNLwUNEnfRI7822z4vPA7OoRKsgAZ8zsHQI=", + "owner": "nixos", + "repo": "nix", + "rev": "4f496150eb4e0012914c11f0a3ff4df2412b1d09", + "type": "github" + }, + "original": { + "id": "nix", + "type": "indirect" + } + }, "nixpkgs": { "locked": { "lastModified": 1632086102, @@ -68,10 +147,62 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1632864508, + "narHash": "sha256-d127FIvGR41XbVRDPVvozUPQ/uRHbHwvfyKHwEt5xFM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "82891b5e2c2359d7e58d08849e4c89511ab94234", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-21.05-small", + "type": "indirect" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1632495107, + "narHash": "sha256-4NGE56r+FJGBaCYu3CTH4O83Ys4TrtnEPXrvdwg1TDs=", + "owner": "serokell", + "repo": "nixpkgs", + "rev": "be220b2dc47092c1e739bf6aaf630f29e71fe1c4", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "root": { "inputs": { "deploy-rs": "deploy-rs", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "serokell-nix": "serokell-nix" + } + }, + "serokell-nix": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "gitignore-nix": "gitignore-nix", + "nix": "nix", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1637273221, + "narHash": "sha256-ByBCiWlVprVgYGGy2ma7W0DKbtp4Xmj7S5whFrIzO3Q=", + "owner": "serokell", + "repo": "serokell.nix", + "rev": "1649eceabbe6e148b3c1b322b716e873d312599f", + "type": "github" + }, + "original": { + "owner": "serokell", + "repo": "serokell.nix", + "type": "github" } }, "utils": { diff --git a/flake.nix b/flake.nix index dbd4f70..6bdbd29 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,9 @@ inputs.deploy-rs.url = "github:serokell/deploy-rs"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.serokell-nix.url = "github:serokell/serokell.nix"; - outputs = { self, nixpkgs, deploy-rs }@inputs: + outputs = { self, nixpkgs, deploy-rs, serokell-nix }@inputs: let # Add default system system = "x86_64-linux"; @@ -34,7 +35,7 @@ }; # art starts here :D - hosts' = import ./common/hosts.nix; + hosts' = import ./hosts; # we only want nix hosts for this part, not all of the defined ones... nixHosts = (builtins.filter ({ nix ? true, ... }: nix) hosts'); @@ -65,6 +66,16 @@ deploy.nodes = nodes; + devShell.${system} = let + pkgs = serokell-nix.lib.pkgsWith nixpkgs.legacyPackages.${system} [ ]; + in pkgs.mkShell { + buildInputs = [ + deploy-rs.packages.${system}.deploy-rs + pkgs.vault + pkgs.nixUnstable + ]; + }; + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; diff --git a/common/hosts.nix b/hosts/default.nix similarity index 100% rename from common/hosts.nix rename to hosts/default.nix diff --git a/hosts/dns/configuration.nix b/hosts/dns/configuration.nix index a040783..67bfda7 100644 --- a/hosts/dns/configuration.nix +++ b/hosts/dns/configuration.nix @@ -1,5 +1,6 @@ { config, pkgs, ... }: -let hosts = import ../../common/hosts.nix; +# can i just say that i hate this +let hosts = import ../.; in { imports = [ # Import common config @@ -7,9 +8,7 @@ in { ../../common ]; - networking = { - hostName = "dns"; - }; + networking.hostName = "dns"; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions