2023-08-22 00:57:30 -06:00
|
|
|
{ inputs, specialArgs, config, lib, ... }:
|
2023-07-26 13:14:00 -06:00
|
|
|
{
|
2023-08-19 22:54:14 -06:00
|
|
|
imports = [
|
|
|
|
inputs.home-manager.nixosModule
|
|
|
|
];
|
2023-08-22 00:57:30 -06:00
|
|
|
|
|
|
|
options = {
|
|
|
|
imalison.nixOverlay.enable = lib.mkOption {
|
|
|
|
default = true;
|
|
|
|
type = lib.types.bool;
|
2023-08-19 22:54:14 -06:00
|
|
|
};
|
|
|
|
};
|
2023-08-22 00:57:30 -06:00
|
|
|
config = {
|
|
|
|
home-manager.extraSpecialArgs = {
|
|
|
|
nixos = {
|
|
|
|
inherit specialArgs config;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
home-manager.useUserPackages = true;
|
2023-08-19 22:54:14 -06:00
|
|
|
|
2023-09-02 20:10:07 -06:00
|
|
|
nix = rec {
|
2023-08-22 00:57:30 -06:00
|
|
|
extraOptions = ''
|
|
|
|
experimental-features = nix-command flakes
|
|
|
|
'';
|
|
|
|
registry.nixpkgs.flake = inputs.nixpkgs;
|
|
|
|
settings = {
|
|
|
|
keep-outputs = true;
|
|
|
|
keep-derivations = true;
|
|
|
|
};
|
|
|
|
channel.enable = false;
|
|
|
|
nixPath = [
|
|
|
|
"nixpkgs=${inputs.nixpkgs.outPath}"
|
|
|
|
];
|
2023-09-02 20:10:07 -06:00
|
|
|
settings.nix-path = nixPath;
|
2023-11-18 19:03:04 -07:00
|
|
|
binaryCaches = [
|
2023-11-19 22:20:09 -07:00
|
|
|
"https://cache.nixos.org"
|
2023-11-18 19:03:04 -07:00
|
|
|
"https://cache.railbird.ai"
|
|
|
|
];
|
|
|
|
binaryCachePublicKeys = [
|
|
|
|
"cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A="
|
|
|
|
];
|
2023-07-27 21:37:11 -06:00
|
|
|
};
|
2023-07-26 13:14:00 -06:00
|
|
|
|
2023-08-22 00:57:30 -06:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
(import ./overlay.nix)
|
|
|
|
] ++ (if config.imalison.nixOverlay.enable then [ inputs.nix.overlays.default ] else []);
|
2023-07-26 13:14:00 -06:00
|
|
|
|
2023-08-22 00:57:30 -06:00
|
|
|
# Allow all the things
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
};
|
2023-07-26 13:14:00 -06:00
|
|
|
}
|