modules: system: nix: make it configurable
This commit is contained in:
parent
6728b50d3a
commit
003c08cb09
|
@ -1,19 +1,35 @@
|
|||
# Nix related settings
|
||||
{ inputs, pkgs, ... }:
|
||||
|
||||
{ config, inputs, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.my.system.nix;
|
||||
in
|
||||
{
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
registry = {
|
||||
# Allow me to use my custom package using `nix run self#pkg`
|
||||
self.flake = inputs.self;
|
||||
# Use pinned nixpkgs when using `nix run pkgs#<whatever>`
|
||||
pkgs.flake = inputs.nixpkgs;
|
||||
# Add NUR to run some packages that are only present there
|
||||
nur.flake = inputs.nur;
|
||||
};
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
options.my.system.nix = with lib; {
|
||||
enable = my.mkDisableOption "nix configuration";
|
||||
|
||||
addToRegistry = my.mkDisableOption "add inputs and self to registry";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
{
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
(lib.mkIf cfg.addToRegistry {
|
||||
nix.registry = {
|
||||
# Allow me to use my custom package using `nix run self#pkg`
|
||||
self.flake = inputs.self;
|
||||
# Use pinned nixpkgs when using `nix run pkgs#<whatever>`
|
||||
pkgs.flake = inputs.nixpkgs;
|
||||
# Add NUR to run some packages that are only present there
|
||||
nur.flake = inputs.nur;
|
||||
};
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue