2024-03-05 22:17:26 +01:00
|
|
|
{ nix-index-database, nixpkgs-unstable, nixpkgs, ... }: {
|
2023-08-01 15:35:09 +02:00
|
|
|
imports = [
|
|
|
|
nix-index-database.nixosModules.nix-index
|
|
|
|
];
|
|
|
|
|
|
|
|
nix = {
|
|
|
|
# https://nixos.wiki/wiki/Storage_optimization
|
|
|
|
gc = {
|
2023-11-12 03:03:15 +01:00
|
|
|
# Automatically run the nix garbage collector, removing files from
|
|
|
|
# the store that are not referenced by any generation.
|
|
|
|
# https://nixos.org/manual/nix/stable/package-management/garbage-collection
|
2023-08-01 15:35:09 +02:00
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
2023-12-29 16:12:01 +01:00
|
|
|
options = "--delete-older-than 7d";
|
2023-08-01 15:35:09 +02:00
|
|
|
};
|
2024-03-05 22:17:26 +01:00
|
|
|
|
2023-08-01 15:35:09 +02:00
|
|
|
settings = {
|
2023-11-12 03:03:15 +01:00
|
|
|
# Automatically optimise the store after each build. Store optimisation
|
|
|
|
# reduces nix store space by 25-35% by finding identical files and
|
|
|
|
# hard-linking them to each other.
|
|
|
|
# https://nixos.org/manual/nix/unstable/command-ref/nix-store/optimise.html
|
2023-08-01 15:35:09 +02:00
|
|
|
auto-optimise-store = true;
|
2024-03-05 22:17:26 +01:00
|
|
|
|
|
|
|
# Enable flakes
|
2023-08-01 15:35:09 +02:00
|
|
|
experimental-features = [ "nix-command" "flakes" ];
|
2024-03-05 22:17:26 +01:00
|
|
|
|
|
|
|
# Timeout connections to the binary cache instead of waiting forever
|
|
|
|
connect-timeout = 5;
|
2023-08-01 15:35:09 +02:00
|
|
|
};
|
2023-11-11 00:49:55 +01:00
|
|
|
|
|
|
|
# The nix registry is used to refer to flakes using symbolic identifiers
|
|
|
|
# when running commands such as `nix run nixpkgs#hello`. By default,
|
|
|
|
# the global registry from [1] is used, which aliases `nixpkgs` to the
|
|
|
|
# nixpkgs-unstable branch. We overwrite the default global `nixpkgs`
|
|
|
|
# registry with one which refers to the same nixpkgs as the rest of
|
|
|
|
# the system, aligning it with flake.lock.
|
|
|
|
# [1] https://github.com/NixOS/flake-registry/blob/master/flake-registry.json
|
|
|
|
registry = {
|
|
|
|
nixpkgs.flake = nixpkgs;
|
|
|
|
nixpkgs-unstable.flake = nixpkgs-unstable;
|
|
|
|
};
|
2023-08-01 15:35:09 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
# https://github.com/nix-community/comma
|
|
|
|
programs.nix-index-database.comma.enable = true;
|
|
|
|
programs.command-not-found.enable = false;
|
|
|
|
}
|