aboutsummaryrefslogtreecommitdiff
path: root/modules/nixpkgs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixpkgs.nix')
-rw-r--r--modules/nixpkgs.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/nixpkgs.nix b/modules/nixpkgs.nix
new file mode 100644
index 0000000..1e55876
--- /dev/null
+++ b/modules/nixpkgs.nix
@@ -0,0 +1,34 @@
+{ config, lib, ... }:
+
+let
+ allowedUnf = config.nixpkgs.allowedUnfree;
+ allowedIns = config.nixpkgs.allowedInsecure;
+in
+{
+ options.nixpkgs = {
+ allowedUnfree = lib.mkOption {
+ type = lib.types.listOf lib.types.str;
+ default = [ ];
+ description = ''
+ Allows for unfree packages by their name.
+ '';
+ };
+
+ allowedInsecure = lib.mkOption {
+ type = lib.types.listOf lib.types.str;
+ default = [ ];
+ description = ''
+ Allows for insecure packages by their name.
+ '';
+ };
+ };
+
+ config = lib.mkMerge [
+ (lib.mkIf
+ (allowedUnf != [ ])
+ { nixpkgs.config.allowUnfreePredicate = (pkg: __elem (lib.getName pkg) allowedUnf); })
+ (lib.mkIf
+ (allowedIns != [ ])
+ { nixpkgs.config.allowInsecurePredicate = (pkg: __elem (lib.getName pkg) allowedIns); })
+ ];
+}