From cedeb8cccb861e9ea61c967a1397db56d4b54f08 Mon Sep 17 00:00:00 2001 From: Artem Sheremet Date: Fri, 27 Mar 2026 13:13:08 +0000 Subject: [PATCH] Add shared modules for nix-gc and nix-settings --- flake.nix | 10 ++++++++++ modules/nix-gc.nix | 7 +++++++ modules/nix-settings.nix | 15 +++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 flake.nix create mode 100644 modules/nix-gc.nix create mode 100644 modules/nix-settings.nix 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; + }; +}