❄️ Dotfiles for our NixOS system configuration.
1# Partially taken from https://github.com/isabelroses/dotfiles/blob/main/modules/base/nix/nix.nix
2
3{
4 nix = {
5 # Set up Nix's garbage collector to run automatically.
6 gc = {
7 automatic = true;
8 options = "--delete-older-than 14d";
9 };
10
11 # Optimize symlinks.
12 optimise.automatic = true;
13
14 settings = {
15 # Literally a CVE waiting to happen.
16 accept-flake-config = false;
17
18 # Enable Nix commands and flakes.
19 experimental-features = [
20 "nix-command"
21 "flakes"
22 ];
23
24 # Max number of parallel TCP connections for fetching imports and binary caches.
25 http-connections = 50;
26
27 # Show more log lines for failed builds.
28 log-lines = 30;
29
30 # Let the system decide the number of max jobs.
31 max-jobs = "auto";
32
33 # Free up to 20GiB whenever there's less than 5GiB left.
34 min-free = 5 * 1024 * 1024 * 1024;
35 max-free = 20 * 1024 * 1024 * 1024;
36
37 # We don't want to track the registry,
38 # but we do want to allow the usage of `flake:` references.
39 use-registries = true;
40 flake-registry = "";
41
42 # Use XDG Base Directories for all Nix things.
43 use-xdg-base-directories = true;
44
45 # Don't warn about dirty working directories.
46 warn-dirty = false;
47 };
48 };
49
50 # Allow unfree packages.
51 # This is sadly not enough as I still have to pass the --impure flag. Yawn.
52 nixpkgs.config.allowUnfree = true;
53}