From b91af8f6f7d42b6f2d5a34720a642db4d27c3906 Mon Sep 17 00:00:00 2001 From: Elec3137 Date: Mon, 23 Mar 2026 21:17:09 -0700 Subject: [PATCH] treewide: add and use option nixowos.allowAddingPackages --- default.nix | 5 +++++ defaults/nix.nix | 10 ++++++---- defaults/plasma.nix | 12 +++++++----- defaults/shell.nix | 2 +- defaults/system.nix | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/default.nix b/default.nix index 015a3cb..5ec2d17 100644 --- a/default.nix +++ b/default.nix @@ -1,4 +1,5 @@ { + lib, ... }: @@ -7,4 +8,8 @@ ./defaults ./nvidia.nix ]; + + options.nixowos = { + allowAddingPackages = lib.mkEnableOption "adding to `environment.systemPackages`"; + }; } diff --git a/defaults/nix.nix b/defaults/nix.nix index d27f4e5..2f1364a 100644 --- a/defaults/nix.nix +++ b/defaults/nix.nix @@ -25,9 +25,11 @@ in # source: https://nix.dev/manual/nix/2.26/command-ref/new-cli/nix3-store-optimise nix.settings.auto-optimise-store = true; - environment.systemPackages = with pkgs; [ - nixd - nixfmt - ]; + environment.systemPackages = + with pkgs; + lib.mkIf config.nixowos.allowAddingPackages [ + nixd + nixfmt + ]; }; } diff --git a/defaults/plasma.nix b/defaults/plasma.nix index 5972f3d..5224047 100644 --- a/defaults/plasma.nix +++ b/defaults/plasma.nix @@ -26,11 +26,13 @@ in }; config = lib.mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - kdePackages.plasma-keyboard - kdePackages.qtvirtualkeyboard - wl-clipboard - ]; + environment.systemPackages = + with pkgs; + lib.mkIf config.nixowos.allowAddingPackages [ + kdePackages.plasma-keyboard + kdePackages.qtvirtualkeyboard + wl-clipboard + ]; environment.interactiveShellInit = lib.mkIf cfg.startOnFirstTTY diff --git a/defaults/shell.nix b/defaults/shell.nix index 3c6a22e..e76e8f7 100644 --- a/defaults/shell.nix +++ b/defaults/shell.nix @@ -61,7 +61,7 @@ in nixos-rebuild = /* sh */ "nixos-rebuild --ask-sudo-password"; }; - environment.systemPackages = cfg.extraPackages; + environment.systemPackages = lib.mkIf config.nixowos.allowAddingPackages cfg.extraPackages; # enter dev env on cd programs.direnv = lib.mkDefault { diff --git a/defaults/system.nix b/defaults/system.nix index 00f0f66..6811152 100644 --- a/defaults/system.nix +++ b/defaults/system.nix @@ -23,7 +23,7 @@ in config = lib.mkIf cfg.enable { - environment.systemPackages = cfg.extraPackages; + environment.systemPackages = lib.mkIf config.nixowos.allowAddingPackages cfg.extraPackages; boot.loader.grub = lib.mkDefault { # modern installation