{ pkgs, user, ... } : { nix.settings = { # enable flakes experimental-features = ["nix-command" "flakes"]; # add a cache that speed up new applications by downloading binaries # from the trusted cache instead of compiling from sourcer substituters = [ "https://nix-community.cachix.org" ]; # trust the cache public key trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; # allow proprietary software on this machine. I'm not a purist. nixpkgs.config.allowUnfree = true; # this declares how often old configurations are cleared up. # i cleanup anything older than a week, every week. nix.gc = { automatic = true; options = "--delete-older-than 7d"; dates = "weekly"; }; programs = { # command line utility that makes applying changes easy and pretty nh = { enable = true; flake = "/home/${user.username}/system"; }; }; }