commit cedeb8cccb861e9ea61c967a1397db56d4b54f08 Author: Artem Sheremet Date: Fri Mar 27 13:13:08 2026 +0000 Add shared modules for nix-gc and nix-settings diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..694647f --- /dev/null +++ b/flake.nix @@ -0,0 +1,10 @@ +{ + description = "Shared Nix settings (NixOS, Home Manager etc)"; + + outputs = { self }: { + nixosModules = { + nix-settings = import ./modules/nix-settings.nix; + nix-gc = import ./modules/nix-gc.nix; + }; + }; +} diff --git a/modules/nix-gc.nix b/modules/nix-gc.nix new file mode 100644 index 0000000..2397107 --- /dev/null +++ b/modules/nix-gc.nix @@ -0,0 +1,7 @@ +_: { + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 60d"; + }; +} diff --git a/modules/nix-settings.nix b/modules/nix-settings.nix new file mode 100644 index 0000000..9a19511 --- /dev/null +++ b/modules/nix-settings.nix @@ -0,0 +1,15 @@ +_: { + nix.settings = { + extra-experimental-features = [ + "nix-command" + "flakes" + ]; + + auto-optimise-store = true; + + trusted-users = [ "@wheel" ]; + + # RPi builds can be slow due to compiling via binfmt. + download-buffer-size = 1 * 1024 * 1024 * 1024; + }; +}