mirror of
https://github.com/ItsDrike/nixdots
synced 2024-11-14 04:07:18 +00:00
36 lines
1.2 KiB
Nix
36 lines
1.2 KiB
Nix
|
{pkgs, ...}:
|
||
|
{
|
||
|
nix = {
|
||
|
settings = {
|
||
|
# nix often takes up a lot of space, with /nix/store growing beyond reasonable sizes
|
||
|
# this turns on automatic optimisation of the nix store that will run during every build
|
||
|
# (alternatively, you can do this manually with `nix-store --optimise`)
|
||
|
auto-optimise-store = true;
|
||
|
# enable flakes support
|
||
|
experimental-features = [ "nix-command" "flakes" ];
|
||
|
};
|
||
|
|
||
|
# Enable automatic garbage collection, deleting entries older than 14 days
|
||
|
# you can also run this manually with `nix-store --gc --delete-older-than 14d`.
|
||
|
# If a result still exists in the file system, all the dependencies used to build
|
||
|
# it will be kept.
|
||
|
gc = {
|
||
|
automatic = true;
|
||
|
dates = "weekly";
|
||
|
options = "--delete-older-than 14d";
|
||
|
};
|
||
|
|
||
|
# Also run garbage colleciton whenever there is not enough space left,
|
||
|
# freeing up to 1 GiB whenever there is less than 512MiB left.
|
||
|
extraOptions = ''
|
||
|
min-free = ${toString (512 * 1024 * 1024)}
|
||
|
max-free = ${toString (1024 * 1024 * 1024)}
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
nixpkgs.config.allowUnfree = true;
|
||
|
|
||
|
# Git is needed for flakes
|
||
|
environment.systemPackages = with pkgs; [git];
|
||
|
}
|