mirror of
https://github.com/ItsDrike/nixdots
synced 2025-06-29 14:00:45 +00:00
Add binary cache support
This commit is contained in:
parent
442d00a82a
commit
947c25330f
3 changed files with 34 additions and 3 deletions
25
system/nix/cachix.nix
Normal file
25
system/nix/cachix.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
_: {
|
||||
nix.settings = {
|
||||
# Set up various binary cache providers, compiling everything is too slow and annoying
|
||||
# these will be used on all machines, but there's really no reason not to include all
|
||||
# providers, even if we won't pull some of the packages these cache
|
||||
substituters = [
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org" # nix-community flake
|
||||
"https://nixpkgs-unfree.cachix.org" # unfree-package cache
|
||||
"https://numtide.cachix.org" # another unfree package cache
|
||||
"https://nixpkgs-wayland.cachix.org" # automated builds of *some* wayland packages
|
||||
"https://hyprland.cachix.org" # hyprland
|
||||
"https://ags.cachix.org" # ags
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
||||
"numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
|
||||
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
"ags.cachix.org-1:naAvMrz0CuYqeyGNyLgE010iUiuf/qx6kYrUv3NwAJ8="
|
||||
];
|
||||
};
|
||||
}
|
47
system/nix/default.nix
Normal file
47
system/nix/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
./cachix.nix
|
||||
];
|
||||
|
||||
system.autoUpgrade.enable = false;
|
||||
|
||||
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" ];
|
||||
|
||||
# Keep all dependencies used to build
|
||||
keep-outputs = true;
|
||||
keep-derivations = true;
|
||||
};
|
||||
|
||||
# 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 = [ pkgs.git ];
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue