nixdots/system/nix/default.nix

44 lines
1.5 KiB
Nix

{ pkgs, ... }:
{
imports = [
./cachix.nix
./gc.nix
];
system.autoUpgrade.enable = false;
nix = {
settings = {
# enable flakes support
experimental-features = [ "nix-command" "flakes" ];
# Keep the built outputs of derivations in Nix store, even if the package is no longer needed
# - prevents the need to rebuild/redownload if it becomes a dependency again
# - helps with debugging or reverting to previous state
keep-outputs = true;
# Keep the derivations themselves too. A derivation describes how to build a package.
# - allows inspecting the build process of a package for debugging or educational purposes
# - allows rebuilding a package from its exact specification without having to fetch again
# - ensures we can reproduce a build even if the original online source goes down/changes
keep-derivations = true;
# Give these users/groups additional rights when connecting to the Nix daemon
# like specifying extra binary caches
trusted-users = [ "root" "@wheel" ];
# Tell nix to use xdg base directories
# If you're just setting this, you will need to move the directories
# manually, nix won't do it for you:
# - mv "$HOME/.nix-defexpr" "$XDG_STATE_HOME/nix/defexpr"
# - mv "$HOME/.nix-profile" "$XDG_STATE_HOME/nix/profile"
use-xdg-base-directories = true;
};
};
nixpkgs.config.allowUnfree = true;
# Git is needed for flakes
environment.systemPackages = [ pkgs.git ];
}