diff --git a/modules/base/default.nix b/modules/base/default.nix index 60554aed..10462a0b 100644 --- a/modules/base/default.nix +++ b/modules/base/default.nix @@ -1,6 +1,7 @@ # Base configuration shared across all systems { imports = [ + ./gc.nix ./nix-config.nix ./unfree-packages.nix ]; diff --git a/modules/base/gc.nix b/modules/base/gc.nix new file mode 100644 index 00000000..96c1fe9f --- /dev/null +++ b/modules/base/gc.nix @@ -0,0 +1,18 @@ +# Nix store garbage collection +{ + lib, + pkgs, + ... +}: { + nix.gc = + { + automatic = true; + options = "--delete-older-than 30d"; + } + // lib.optionalAttrs pkgs.stdenv.isLinux { + dates = "weekly"; + } + // lib.optionalAttrs pkgs.stdenv.isDarwin { + interval = {Weekday = 0;}; + }; +} diff --git a/modules/nixos/boot.nix b/modules/nixos/boot.nix new file mode 100644 index 00000000..7a3fb95a --- /dev/null +++ b/modules/nixos/boot.nix @@ -0,0 +1,4 @@ +# Limit boot entries to prevent /boot from filling up +{ + boot.loader.systemd-boot.configurationLimit = 10; +} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 6486c9c3..4dd83c1a 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -3,6 +3,7 @@ imports = [ ./llm ./web + ./boot.nix ./filebrowser-quantum.nix ./restic-backup.nix ./users.nix