66 lines
1.8 KiB
Nix
66 lines
1.8 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
inputs,
|
|
flake-self,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkEnableOption mkIf;
|
|
cfg = config.ataraxia.defaults.nix;
|
|
in
|
|
{
|
|
options.ataraxia.defaults.nix = {
|
|
enable = mkEnableOption "Nix defaults";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.etc.nixpkgs.source = config.nixpkgs.flake.source;
|
|
environment.etc.self.source = flake-self.outPath;
|
|
nix = {
|
|
channel.enable = false;
|
|
extraOptions = ''
|
|
keep-outputs = true
|
|
keep-derivations = true
|
|
# Prevent Nix from fetching the registry every time
|
|
flake-registry = ${inputs.flake-registry}/flake-registry.json
|
|
'';
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 90d";
|
|
};
|
|
registry.ataraxia.flake = flake-self;
|
|
settings = {
|
|
auto-optimise-store = true;
|
|
experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
require-sigs = true;
|
|
substituters = [
|
|
"https://cache.nixos.org"
|
|
"https://nix-community.cachix.org"
|
|
"https://hyprland.cachix.org"
|
|
"https://ataraxiadev-foss.cachix.org"
|
|
"https://numtide.cachix.org"
|
|
"https://devenv.cachix.org"
|
|
];
|
|
trusted-public-keys = [
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
"ataraxiadev-foss.cachix.org-1:ws/jmPRUF5R8TkirnV1b525lP9F/uTBsz2KraV61058="
|
|
"numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
|
|
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
|
|
];
|
|
trusted-users = [
|
|
"root"
|
|
"deploy"
|
|
"@wheel"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|