Compare commits
2 commits
607d11bbad
...
6eb87c21b7
Author | SHA1 | Date | |
---|---|---|---|
Bruno BELANYI | 6eb87c21b7 | ||
Bruno BELANYI | c1214547da |
|
@ -7,6 +7,8 @@ in
|
||||||
options.my.system.nix = with lib; {
|
options.my.system.nix = with lib; {
|
||||||
enable = my.mkDisableOption "nix configuration";
|
enable = my.mkDisableOption "nix configuration";
|
||||||
|
|
||||||
|
linkInputs = my.mkDisableOption "link inputs to `/etc/nix/inputs/`";
|
||||||
|
|
||||||
addToRegistry = my.mkDisableOption "add inputs and self to registry";
|
addToRegistry = my.mkDisableOption "add inputs and self to registry";
|
||||||
|
|
||||||
addToNixPath = my.mkDisableOption "add inputs and self to nix path";
|
addToNixPath = my.mkDisableOption "add inputs and self to nix path";
|
||||||
|
@ -15,6 +17,18 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||||
|
{
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.addToNixPath -> cfg.linkInputs;
|
||||||
|
message = ''
|
||||||
|
enabling `my.system.nix.addToNixPath` needs to have
|
||||||
|
`my.system.nix.linkInputs = true`
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nix;
|
package = pkgs.nix;
|
||||||
|
@ -38,13 +52,31 @@ in
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(lib.mkIf cfg.linkInputs {
|
||||||
|
environment.etc =
|
||||||
|
let
|
||||||
|
makeLink = n: v: {
|
||||||
|
name = "nix/inputs/${n}";
|
||||||
|
value = { source = v.outPath; };
|
||||||
|
};
|
||||||
|
makeLinks = lib.mapAttrs' makeLink;
|
||||||
|
in
|
||||||
|
makeLinks {
|
||||||
|
inherit (inputs)
|
||||||
|
self
|
||||||
|
nixpkgs
|
||||||
|
nur
|
||||||
|
;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
(lib.mkIf cfg.addToNixPath {
|
(lib.mkIf cfg.addToNixPath {
|
||||||
nix.nixPath = [
|
nix.nixPath = [
|
||||||
"self=${inputs.self}"
|
"self=/etc/nix/inputs/self"
|
||||||
"pkgs=${inputs.nixpkgs}"
|
"pkgs=/etc/nix/inputs/nixpkgs"
|
||||||
"nur=${inputs.nur}"
|
"nur=/etc/nix/inputs/nur"
|
||||||
]
|
]
|
||||||
++ lib.optional cfg.overrideNixpkgs "nixpkgs=${inputs.nixpkgs}"
|
++ lib.optional cfg.overrideNixpkgs "nixpkgs=/etc/nix/inputs/nixpkgs"
|
||||||
++ options.nix.nixPath.default;
|
++ options.nix.nixPath.default;
|
||||||
})
|
})
|
||||||
]);
|
]);
|
||||||
|
|
Loading…
Reference in a new issue