diff options
Diffstat (limited to 'modules/by-name/ni/nixpkgs')
-rw-r--r-- | modules/by-name/ni/nixpkgs/config.nix | 28 | ||||
-rw-r--r-- | modules/by-name/ni/nixpkgs/module.nix | 17 |
2 files changed, 45 insertions, 0 deletions
diff --git a/modules/by-name/ni/nixpkgs/config.nix b/modules/by-name/ni/nixpkgs/config.nix new file mode 100644 index 00000000..1a24444d --- /dev/null +++ b/modules/by-name/ni/nixpkgs/config.nix @@ -0,0 +1,28 @@ +{ + cfg, + myPkgs, + lib, + ... +}: let + myPkgsOverlay = self: super: myPkgs; +in { + nixpkgs = { + hostPlatform = cfg.systemName; + + overlays = [ + myPkgsOverlay + ]; + + config = { + # TODO: this fails because of the root tempsize, which should be increased + # contentAddressedByDefault = true; + + hostSystem = cfg.systemName; + + allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "pypemicro" # required by pynitrokey + ]; + }; + }; +} diff --git a/modules/by-name/ni/nixpkgs/module.nix b/modules/by-name/ni/nixpkgs/module.nix new file mode 100644 index 00000000..eda3ac89 --- /dev/null +++ b/modules/by-name/ni/nixpkgs/module.nix @@ -0,0 +1,17 @@ +{ + lib, + config, + ... +} @ args: let + cfg = config.soispha.nixpkgs; +in { + options.soispha.nixpkgs = { + enable = lib.mkEnableOption "Nixpkgs config"; + systemName = lib.mkOption { + description = "The name of the system."; + example = "x86_64-linux"; + type = lib.types.str; + }; + }; + config = lib.mkIf cfg.enable (import ./config.nix (args // {inherit cfg;})); +} |