diff --git a/flake.lock b/flake.lock index a2aec8f..824d51c 100644 --- a/flake.lock +++ b/flake.lock @@ -16,27 +16,6 @@ "type": "gitlab" } }, - "dns": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1635273082, - "narHash": "sha256-EHiDP2jEa7Ai5ZwIf5uld9RVFcV77+2SUxjQXwJsJa0=", - "owner": "kirelagin", - "repo": "dns.nix", - "rev": "c7b9645da9c0ddce4f9de4ef27ec01bb8108039a", - "type": "github" - }, - "original": { - "owner": "kirelagin", - "repo": "dns.nix", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -54,21 +33,6 @@ } }, "flake-utils": { - "locked": { - "lastModified": 1614513358, - "narHash": "sha256-LakhOx3S1dRjnh0b5Dg3mbZyH0ToC9I8Y2wKSkBaTzU=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5466c5bbece17adaab2d82fae80b46e807611bf3", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "locked": { "lastModified": 1629481132, "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", @@ -121,7 +85,7 @@ }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" }, "locked": { @@ -240,7 +204,6 @@ }, "root": { "inputs": { - "dns": "dns", "home-manager": "home-manager", "homepage": "homepage", "neovim-nightly-overlay": "neovim-nightly-overlay", diff --git a/flake.nix b/flake.nix index 1a9258b..74e019a 100644 --- a/flake.nix +++ b/flake.nix @@ -8,11 +8,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - dns = { - url = "github:kirelagin/dns.nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "unstable"; diff --git a/modules/homepage/default.nix b/modules/homepage/default.nix index 8b0c1e6..2f6d1e6 100644 --- a/modules/homepage/default.nix +++ b/modules/homepage/default.nix @@ -23,6 +23,7 @@ in root = inputs.homepage; }; + nix.gcRoots = [ inputs.homepage ]; }; } diff --git a/modules/mailserver/default.nix b/modules/mailserver/default.nix index 2de3680..d11c88e 100644 --- a/modules/mailserver/default.nix +++ b/modules/mailserver/default.nix @@ -39,5 +39,8 @@ with lib; sops.secrets.malkash-pw = { }; sops.secrets.ensmailmalka-pw = { }; sops.secrets.ensmailmondon-pw = { }; + + nix.gcRoots = [ inputs.simple-nixos-mailserver ]; + }; } diff --git a/modules/nix/default.nix b/modules/nix/default.nix index e51c92b..7b96984 100644 --- a/modules/nix/default.nix +++ b/modules/nix/default.nix @@ -8,6 +8,12 @@ with lib; enable = mkEnableOption "Enable nix experimental"; }; + options.nix.gcRoots = mkOption { + description = "A list of garbage collector roots."; + type = with types; listOf path; + default = []; + }; + config = mkIf cfg.enable { nixpkgs.config.allowUnfree = true; @@ -17,7 +23,7 @@ with lib; automatic = true; dates = "weekly"; }; - package = pkgs.nixUnstable; + package = pkgs.unstable.nix; extraOptions = '' experimental-features = nix-command flakes narinfo-cache-negative-ttl = 0 @@ -33,8 +39,9 @@ with lib; "bin.julienmalka.me:y0uADfX8ZQ6Pthofm8Pj7v+hED3m2cY0d+Sg6/Jm+s8=" ]; + gcRoots = [ inputs.neovim-nightly-overlay inputs.nixpkgs inputs.unstable inputs.home-manager ]; }; - + environment.etc.gc-roots.text = concatMapStrings (x: x + "\n") config.nix.gcRoots; }; } diff --git a/modules/secrets/default.nix b/modules/secrets/default.nix index d8f649d..3e44b59 100644 --- a/modules/secrets/default.nix +++ b/modules/secrets/default.nix @@ -15,14 +15,16 @@ with lib; path = "/home/julien/.config/ens-mail-passwd"; }; - sops.secrets.sendinblue-mail-passwd = {}; + sops.secrets.sendinblue-mail-passwd = { }; sops.secrets.git-gpg-private-key = { owner = "julien"; mode = "0440"; group = config.users.groups.keys.name; }; - - }; + + nix.gcRoots = [ inputs.sops-nix ]; + + }; }