From 35bcbc4898441194426de80aef6a34a211026260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 26 Nov 2024 17:19:20 +0100 Subject: [PATCH] modules/system/settei: add unfree module --- hosts/kogata/default.nix | 3 +-- modules/system/common/default.nix | 2 +- modules/system/settei/default.nix | 1 + modules/system/settei/unfree.nix | 19 +++++++++++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 modules/system/settei/unfree.nix diff --git a/hosts/kogata/default.nix b/hosts/kogata/default.nix index c5360d1..3a75fd4 100644 --- a/hosts/kogata/default.nix +++ b/hosts/kogata/default.nix @@ -6,8 +6,7 @@ settei.user.config.common.desktop.enable = true; - # TODO: Make it a settei module so it's easy to concatenate which pkgs are allowed - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "teams" ]; + settei.unfree.allowedPackages = [ "teams" ]; environment.systemPackages = with pkgs; [ teams ]; settei.tailscale = { diff --git a/modules/system/common/default.nix b/modules/system/common/default.nix index 4b4fa57..17b299b 100644 --- a/modules/system/common/default.nix +++ b/modules/system/common/default.nix @@ -38,7 +38,7 @@ let # so I need to override the fish package. nixpkgs.overlays = [ (_: _: { inherit (inputs'.settei.packages) fish; }) ]; # TODO: Move to home/common/desktop - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "signal-desktop" ]; + settei.unfree.allowedPackages = [ "signal-desktop" ]; nix.settings.allow-import-from-derivation = false; }; diff --git a/modules/system/settei/default.nix b/modules/system/settei/default.nix index 648f5b5..30493f5 100644 --- a/modules/system/settei/default.nix +++ b/modules/system/settei/default.nix @@ -20,6 +20,7 @@ (import ./programs { inherit isLinux; }) (import ./tailscale.nix { inherit isLinux; }) (import ./containers.nix { inherit isLinux; }) + ./unfree.nix ]; options.settei = with lib; { diff --git a/modules/system/settei/unfree.nix b/modules/system/settei/unfree.nix new file mode 100644 index 0000000..a82f946 --- /dev/null +++ b/modules/system/settei/unfree.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: +{ + _file = ./unfree.nix; + + options = { + # TODO(maybe?): Allow other types and more customizability + settei.unfree.allowedPackages = + with lib; + mkOption { + type = types.listOf types.str; + }; + }; + + config = { + nixpkgs.config.allowUnfreePredicate = lib.mkForce ( + pkg: builtins.elem (lib.getName pkg) config.settei.unfree.allowedPackages + ); + }; +}