From 6aebd49a06c4bffe98ae64b36009c70b39bae9dd Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Fri, 24 Apr 2026 02:15:10 +0530 Subject: using a single bundled package to keep multiple packages in modules/programs --- modules/programs/nvtop/default.nix | 7 ++++++- modules/programs/qemu/default.nix | 25 +++++++++++++------------ modules/programs/umu-launcher/default.nix | 18 +++++++++++------- 3 files changed, 30 insertions(+), 20 deletions(-) diff --git a/modules/programs/nvtop/default.nix b/modules/programs/nvtop/default.nix index fa1979e..19dd61b 100644 --- a/modules/programs/nvtop/default.nix +++ b/modules/programs/nvtop/default.nix @@ -9,7 +9,12 @@ { options.programs.nvtop = { enable = lib.mkEnableOption "Enables nvtop."; - package = lib.mkPackageOption pkgs "nvtopPackages.full" { }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.nvtopPackages.full; + readOnly = true; + description = "The nvtop package to use."; + }; }; config = lib.mkIf config.programs.nvtop.enable { diff --git a/modules/programs/qemu/default.nix b/modules/programs/qemu/default.nix index 7c18323..b34264c 100644 --- a/modules/programs/qemu/default.nix +++ b/modules/programs/qemu/default.nix @@ -9,21 +9,22 @@ { options.programs.qemu = { enable = lib.mkEnableOption "Enables qemu."; - packages = { - qemu = lib.mkPackageOption pkgs "qemu" { }; - libvirt = lib.mkPackageOption pkgs "libvirt" { }; - virtiofsd = lib.mkPackageOption pkgs "virtiofsd" { }; - virt-manager = lib.mkPackageOption pkgs "virt-manager" { }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.symlinkJoin { + name = "qemu-bundle"; + paths = with pkgs; [ + qemu + libvirt + virtiofsd + virt-manager + ]; + }; + description = "Bundle of QEMU-related packages."; }; }; config = lib.mkIf config.programs.qemu.enable { - home.packages = with config.programs.qemu.packages; [ - qemu - libvirt - virtiofsd - - virt-manager - ]; + home.packages = [ config.programs.qemu.package ]; }; } diff --git a/modules/programs/umu-launcher/default.nix b/modules/programs/umu-launcher/default.nix index 6e8fa96..1e886e2 100644 --- a/modules/programs/umu-launcher/default.nix +++ b/modules/programs/umu-launcher/default.nix @@ -9,16 +9,20 @@ { options.programs.umu-launcher = { enable = lib.mkEnableOption "Enables umu-launcher."; - packages = { - umu-launcher = lib.mkPackageOption pkgs "umu-launcher" { }; - winetricks = lib.mkPackageOption pkgs "winetricks" { }; + package = lib.mkOption { + type = lib.types.package; + default = pkgs.symlinkJoin { + name = "umu-launcher-bundle"; + paths = with pkgs; [ + umu-launcher + winetricks + ]; + }; + description = "Bundle of UMU Launcher and winetricks."; }; }; config = lib.mkIf config.programs.umu-launcher.enable { - home.packages = with config.programs.umu-launcher.packages; [ - umu-launcher - winetricks - ]; + home.packages = [ config.programs.umu-launcher.package ]; }; } -- cgit v1.2.3