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"
];
};
};
};
}