From d2ba3b260dc8715d36b14c7571600e9babea8d47 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 29 Mar 2025 09:58:45 -0500 Subject: [PATCH] treewide: use mkPackageOption --- modules/programs/alacritty.nix | 7 +------ modules/programs/eclipse.nix | 11 +++-------- modules/programs/eww.nix | 10 +--------- modules/programs/fish.nix | 9 +-------- modules/programs/foot.nix | 7 +------ modules/programs/git.nix | 10 ++++------ modules/programs/ion.nix | 9 +-------- modules/programs/java.nix | 11 +++-------- modules/programs/keychain.nix | 9 +-------- modules/programs/kitty.nix | 9 +-------- modules/programs/mangohud.nix | 7 +------ modules/programs/mercurial.nix | 7 +------ modules/programs/mods.nix | 7 +------ modules/programs/obs-studio.nix | 9 +-------- modules/programs/opam.nix | 7 +------ modules/programs/pqiv.nix | 7 +------ modules/programs/qutebrowser.nix | 7 +------ modules/programs/swayimg.nix | 9 +++------ modules/programs/terminator.nix | 7 +------ modules/programs/tint2.nix | 7 +------ modules/programs/tiny.nix | 7 +------ modules/programs/tmate.nix | 8 +------- modules/programs/tmux.nix | 8 +------- modules/programs/urxvt.nix | 7 +------ modules/programs/wezterm.nix | 7 +------ modules/programs/zoxide.nix | 9 +-------- modules/services/lorri.nix | 7 +------ modules/services/polybar.nix | 8 ++------ modules/services/swayidle.nix | 7 +------ 29 files changed, 39 insertions(+), 195 deletions(-) diff --git a/modules/programs/alacritty.nix b/modules/programs/alacritty.nix index 6fa7fb6e8..140e68e79 100644 --- a/modules/programs/alacritty.nix +++ b/modules/programs/alacritty.nix @@ -10,12 +10,7 @@ in { programs.alacritty = { enable = mkEnableOption "Alacritty"; - package = mkOption { - type = types.package; - default = pkgs.alacritty; - defaultText = literalExpression "pkgs.alacritty"; - description = "The Alacritty package to install."; - }; + package = lib.mkPackageOption pkgs "alacritty" { }; settings = mkOption { type = tomlFormat.type; diff --git a/modules/programs/eclipse.nix b/modules/programs/eclipse.nix index 4c9328a01..7d4b28062 100644 --- a/modules/programs/eclipse.nix +++ b/modules/programs/eclipse.nix @@ -13,14 +13,9 @@ in { programs.eclipse = { enable = mkEnableOption "Eclipse"; - package = mkOption { - type = types.package; - default = pkgs.eclipses.eclipse-platform; - defaultText = literalExpression "pkgs.eclipses.eclipse-platform"; - example = literalExpression "pkgs.eclipses.eclipse-java"; - description = '' - The Eclipse package to install. - ''; + package = lib.mkPackageOption pkgs "eclipse" { + default = [ "eclipses" "eclipse-platform" ]; + example = "pkgs.eclipses.eclipse-java"; }; enableLombok = mkOption { diff --git a/modules/programs/eww.nix b/modules/programs/eww.nix index 2f59a50c6..e9280d95e 100644 --- a/modules/programs/eww.nix +++ b/modules/programs/eww.nix @@ -13,15 +13,7 @@ in { options.programs.eww = { enable = mkEnableOption "eww"; - package = mkOption { - type = types.package; - default = pkgs.eww; - defaultText = literalExpression "pkgs.eww"; - example = literalExpression "pkgs.eww"; - description = '' - The eww package to install. - ''; - }; + package = lib.mkPackageOption pkgs "eww" { }; configDir = mkOption { type = types.nullOr types.path; diff --git a/modules/programs/fish.nix b/modules/programs/fish.nix index d4f9751d9..aff956137 100644 --- a/modules/programs/fish.nix +++ b/modules/programs/fish.nix @@ -254,14 +254,7 @@ in { programs.fish = { enable = mkEnableOption "fish, the friendly interactive shell"; - package = mkOption { - type = types.package; - default = pkgs.fish; - defaultText = literalExpression "pkgs.fish"; - description = '' - The fish package to install. May be used to change the version. - ''; - }; + package = lib.mkPackageOption pkgs "fish" { }; generateCompletions = mkEnableOption "the automatic generation of completions based upon installed man pages" diff --git a/modules/programs/foot.nix b/modules/programs/foot.nix index 79832dced..1485304ae 100644 --- a/modules/programs/foot.nix +++ b/modules/programs/foot.nix @@ -13,12 +13,7 @@ in { options.programs.foot = { enable = mkEnableOption "Foot terminal"; - package = mkOption { - type = types.package; - default = pkgs.foot; - defaultText = literalExpression "pkgs.foot"; - description = "The foot package to install"; - }; + package = lib.mkPackageOption pkgs "foot" { }; server.enable = mkEnableOption "Foot terminal server"; diff --git a/modules/programs/git.nix b/modules/programs/git.nix index a4d528d4d..86388ce9e 100644 --- a/modules/programs/git.nix +++ b/modules/programs/git.nix @@ -76,12 +76,10 @@ in { programs.git = { enable = mkEnableOption "Git"; - package = mkOption { - type = types.package; - default = pkgs.git; - defaultText = literalExpression "pkgs.git"; - description = '' - Git package to install. Use {var}`pkgs.gitAndTools.gitFull` + package = lib.mkPackageOption pkgs "git" { + example = "pkgs.gitFull"; + extraDescription = '' + Use {var}`pkgs.gitFull` to gain access to {command}`git send-email` for instance. ''; }; diff --git a/modules/programs/ion.nix b/modules/programs/ion.nix index 0bda85c01..b4d770b01 100644 --- a/modules/programs/ion.nix +++ b/modules/programs/ion.nix @@ -14,14 +14,7 @@ in { options.programs.ion = { enable = mkEnableOption "the Ion Shell. Compatible with Redox and Linux"; - package = mkOption { - type = types.package; - default = pkgs.ion; - defaultText = literalExpression "pkgs.ion"; - description = '' - The ion package to install. May be used to change the version. - ''; - }; + package = lib.mkPackageOption pkgs "ion" { }; initExtra = mkOption { type = types.lines; diff --git a/modules/programs/java.nix b/modules/programs/java.nix index 115a8a9e5..fb3c70ecc 100644 --- a/modules/programs/java.nix +++ b/modules/programs/java.nix @@ -21,14 +21,9 @@ in { ''; }; - package = mkOption { - type = types.package; - default = pkgs.jdk; - defaultText = "pkgs.jdk"; - description = '' - Java package to install. Typical values are - `pkgs.jdk` or `pkgs.jre`. - ''; + package = lib.mkPackageOption pkgs "java" { + default = "jdk"; + example = "pkgs.jre"; }; }; }; diff --git a/modules/programs/keychain.nix b/modules/programs/keychain.nix index efc30c7c2..05bf3f13b 100644 --- a/modules/programs/keychain.nix +++ b/modules/programs/keychain.nix @@ -21,14 +21,7 @@ in { options.programs.keychain = { enable = mkEnableOption "keychain"; - package = mkOption { - type = types.package; - default = pkgs.keychain; - defaultText = literalExpression "pkgs.keychain"; - description = '' - Keychain package to install. - ''; - }; + package = lib.mkPackageOption pkgs "keychain" { }; keys = mkOption { type = types.listOf types.str; diff --git a/modules/programs/kitty.nix b/modules/programs/kitty.nix index 9ccc87b54..e7ab640e9 100644 --- a/modules/programs/kitty.nix +++ b/modules/programs/kitty.nix @@ -89,14 +89,7 @@ in { options.programs.kitty = { enable = mkEnableOption "Kitty terminal emulator"; - package = mkOption { - type = types.package; - default = pkgs.kitty; - defaultText = literalExpression "pkgs.kitty"; - description = '' - Kitty package to install. - ''; - }; + package = lib.mkPackageOption pkgs "kitty" { }; darwinLaunchOptions = mkOption { type = types.nullOr (types.listOf types.str); diff --git a/modules/programs/mangohud.nix b/modules/programs/mangohud.nix index 035a4744b..61b056663 100644 --- a/modules/programs/mangohud.nix +++ b/modules/programs/mangohud.nix @@ -28,12 +28,7 @@ in { programs.mangohud = { enable = mkEnableOption "Mangohud"; - package = mkOption { - type = types.package; - default = pkgs.mangohud; - defaultText = literalExpression "pkgs.mangohud"; - description = "The Mangohud package to install."; - }; + package = lib.mkPackageOption pkgs "mangohud" { }; enableSessionWide = mkOption { type = types.bool; diff --git a/modules/programs/mercurial.nix b/modules/programs/mercurial.nix index 07a7d626c..6b6df21ac 100644 --- a/modules/programs/mercurial.nix +++ b/modules/programs/mercurial.nix @@ -14,12 +14,7 @@ in { programs.mercurial = { enable = mkEnableOption "Mercurial"; - package = mkOption { - type = types.package; - default = pkgs.mercurial; - defaultText = literalExpression "pkgs.mercurial"; - description = "Mercurial package to install."; - }; + package = lib.mkPackageOption pkgs "mercurial" { }; userName = mkOption { type = types.str; diff --git a/modules/programs/mods.nix b/modules/programs/mods.nix index 17a108e2e..f20f36a69 100644 --- a/modules/programs/mods.nix +++ b/modules/programs/mods.nix @@ -10,12 +10,7 @@ in { options.programs.mods = { enable = mkEnableOption "mods"; - package = mkOption { - type = types.package; - default = pkgs.mods; - defaultText = literalExpression "pkgs.mods"; - description = "The mods package to install"; - }; + package = lib.mkPackageOption pkgs "mods" { }; settings = mkOption { type = yamlFormat.type; diff --git a/modules/programs/obs-studio.nix b/modules/programs/obs-studio.nix index ba5c89191..e6d413316 100644 --- a/modules/programs/obs-studio.nix +++ b/modules/programs/obs-studio.nix @@ -13,14 +13,7 @@ in { programs.obs-studio = { enable = mkEnableOption "obs-studio"; - package = mkOption { - type = types.package; - default = pkgs.obs-studio; - defaultText = literalExpression "pkgs.obs-studio"; - description = '' - OBS Studio package to install. - ''; - }; + package = lib.mkPackageOption pkgs "obs-studio" { }; finalPackage = mkOption { type = types.package; diff --git a/modules/programs/opam.nix b/modules/programs/opam.nix index f71dd4179..d75a02154 100644 --- a/modules/programs/opam.nix +++ b/modules/programs/opam.nix @@ -12,12 +12,7 @@ in { options.programs.opam = { enable = mkEnableOption "Opam"; - package = mkOption { - type = types.package; - default = pkgs.opam; - defaultText = literalExpression "pkgs.opam"; - description = "Opam package to install."; - }; + package = lib.mkPackageOption pkgs "opam" { }; enableBashIntegration = lib.hm.shell.mkBashIntegrationOption { inherit config; }; diff --git a/modules/programs/pqiv.nix b/modules/programs/pqiv.nix index 27594c4f6..26c406dd7 100644 --- a/modules/programs/pqiv.nix +++ b/modules/programs/pqiv.nix @@ -11,12 +11,7 @@ in { options.programs.pqiv = { enable = mkEnableOption "pqiv image viewer"; - package = mkOption { - type = types.package; - default = pkgs.pqiv; - defaultText = literalExpression "pkgs.pqiv"; - description = "The pqiv package to install."; - }; + package = lib.mkPackageOption pkgs "pqiv" { }; settings = mkOption { type = iniFormat.type; diff --git a/modules/programs/qutebrowser.nix b/modules/programs/qutebrowser.nix index 04e5423d4..4f17b00f1 100644 --- a/modules/programs/qutebrowser.nix +++ b/modules/programs/qutebrowser.nix @@ -41,12 +41,7 @@ in { options.programs.qutebrowser = { enable = mkEnableOption "qutebrowser"; - package = mkOption { - type = types.package; - default = pkgs.qutebrowser; - defaultText = literalExpression "pkgs.qutebrowser"; - description = "Qutebrowser package to install."; - }; + package = lib.mkPackageOption pkgs "qutebrowser" { }; aliases = mkOption { type = types.attrsOf types.str; diff --git a/modules/programs/swayimg.nix b/modules/programs/swayimg.nix index aac56ece3..64e677dd0 100644 --- a/modules/programs/swayimg.nix +++ b/modules/programs/swayimg.nix @@ -8,12 +8,9 @@ in { options.programs.swayimg = { enable = lib.mkEnableOption "swayimg"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.swayimg; - defaultText = lib.literalExpression "pkgs.swayimg"; - description = "The swayimg package to install"; - }; + + package = lib.mkPackageOption pkgs "swayimg" { }; + settings = lib.mkOption { type = iniFormat.type; default = { }; diff --git a/modules/programs/terminator.nix b/modules/programs/terminator.nix index 283f4ad9d..7c597fbf4 100644 --- a/modules/programs/terminator.nix +++ b/modules/programs/terminator.nix @@ -33,12 +33,7 @@ in { options.programs.terminator = { enable = mkEnableOption "terminator, a tiling terminal emulator"; - package = mkOption { - type = types.package; - default = pkgs.terminator; - example = literalExpression "pkgs.terminator"; - description = "terminator package to install."; - }; + package = lib.mkPackageOption pkgs "terminator" { }; config = mkOption { default = { }; diff --git a/modules/programs/tint2.nix b/modules/programs/tint2.nix index 70930197f..7a1a73297 100644 --- a/modules/programs/tint2.nix +++ b/modules/programs/tint2.nix @@ -13,12 +13,7 @@ in { enable = mkEnableOption "tint2, a simple, unobtrusive and light panel for Xorg"; - package = mkOption { - type = types.package; - default = pkgs.tint2; - defaultText = literalExpression "pkgs.tint2"; - description = "Tint2 package to install."; - }; + package = lib.mkPackageOption pkgs "tint2" { }; extraConfig = mkOption { type = types.lines; diff --git a/modules/programs/tiny.nix b/modules/programs/tiny.nix index 7c510535f..cbf26b7c0 100644 --- a/modules/programs/tiny.nix +++ b/modules/programs/tiny.nix @@ -15,12 +15,7 @@ in { programs.tiny = { enable = mkEnableOption "tiny, a TUI IRC client written in Rust"; - package = mkOption { - type = types.package; - default = pkgs.tiny; - defaultText = literalExpression "pkgs.tiny"; - description = "The {command}`tiny` package to install."; - }; + package = lib.mkPackageOption pkgs "tiny" { }; settings = mkOption { type = format.type; diff --git a/modules/programs/tmate.nix b/modules/programs/tmate.nix index 355474101..e335ca622 100644 --- a/modules/programs/tmate.nix +++ b/modules/programs/tmate.nix @@ -13,13 +13,7 @@ in { programs.tmate = { enable = mkEnableOption "tmate"; - package = mkOption { - type = types.package; - default = pkgs.tmate; - defaultText = literalExpression "pkgs.tmate"; - example = literalExpression "pkgs.tmate"; - description = "The tmate package to install."; - }; + package = lib.mkPackageOption pkgs "tmate" { }; host = mkOption { type = with types; nullOr str; diff --git a/modules/programs/tmux.nix b/modules/programs/tmux.nix index ff3a3322f..d1a8fa681 100644 --- a/modules/programs/tmux.nix +++ b/modules/programs/tmux.nix @@ -226,13 +226,7 @@ in { ''; }; - package = mkOption { - type = types.package; - default = pkgs.tmux; - defaultText = literalExpression "pkgs.tmux"; - example = literalExpression "pkgs.tmux"; - description = "The tmux package to install"; - }; + package = lib.mkPackageOption pkgs "tmux" { }; reverseSplit = mkOption { default = false; diff --git a/modules/programs/urxvt.nix b/modules/programs/urxvt.nix index 059666c38..55560505d 100644 --- a/modules/programs/urxvt.nix +++ b/modules/programs/urxvt.nix @@ -10,12 +10,7 @@ in { options.programs.urxvt = { enable = mkEnableOption "rxvt-unicode terminal emulator"; - package = mkOption { - type = types.package; - default = pkgs.rxvt-unicode; - defaultText = literalExpression "pkgs.rxvt-unicode"; - description = "rxvt-unicode package to install."; - }; + package = lib.mkPackageOption pkgs "rxvt-unicode" { }; fonts = mkOption { type = types.listOf types.str; diff --git a/modules/programs/wezterm.nix b/modules/programs/wezterm.nix index 41e0a5bee..7373823fd 100644 --- a/modules/programs/wezterm.nix +++ b/modules/programs/wezterm.nix @@ -16,12 +16,7 @@ in { options.programs.wezterm = { enable = mkEnableOption "wezterm"; - package = mkOption { - type = types.package; - default = pkgs.wezterm; - defaultText = literalExpression "pkgs.wezterm"; - description = "The Wezterm package to install."; - }; + package = lib.mkPackageOption pkgs "wezterm" { }; extraConfig = mkOption { type = types.lines; diff --git a/modules/programs/zoxide.nix b/modules/programs/zoxide.nix index 8509a3dc6..66c911b0b 100644 --- a/modules/programs/zoxide.nix +++ b/modules/programs/zoxide.nix @@ -9,14 +9,7 @@ in { options.programs.zoxide = { enable = lib.mkEnableOption "zoxide"; - package = lib.mkOption { - type = lib.types.package; - default = pkgs.zoxide; - defaultText = lib.literalExpression "pkgs.zoxide"; - description = '' - Zoxide package to install. - ''; - }; + package = lib.mkPackageOption pkgs "zoxide" { }; options = lib.mkOption { type = lib.types.listOf lib.types.str; diff --git a/modules/services/lorri.nix b/modules/services/lorri.nix index 93673dd8f..e56d0b6fc 100644 --- a/modules/services/lorri.nix +++ b/modules/services/lorri.nix @@ -14,12 +14,7 @@ in { enableNotifications = mkEnableOption "lorri build notifications"; - package = mkOption { - type = types.package; - default = pkgs.lorri; - defaultText = literalExpression "pkgs.lorri"; - description = "Which lorri package to install."; - }; + package = lib.mkPackageOption pkgs "lorri" { }; nixPackage = mkOption { type = types.package; diff --git a/modules/services/polybar.nix b/modules/services/polybar.nix index e41646b2f..1f4828775 100644 --- a/modules/services/polybar.nix +++ b/modules/services/polybar.nix @@ -72,12 +72,8 @@ in { services.polybar = { enable = mkEnableOption "Polybar status bar"; - package = mkOption { - type = types.package; - default = pkgs.polybar; - defaultText = literalExpression "pkgs.polybar"; - description = "Polybar package to install."; - example = literalExpression '' + package = lib.mkPackageOption pkgs "polybar" { + example = '' pkgs.polybar.override { i3GapsSupport = true; alsaSupport = true; diff --git a/modules/services/swayidle.nix b/modules/services/swayidle.nix index fbb91db5b..195160a18 100644 --- a/modules/services/swayidle.nix +++ b/modules/services/swayidle.nix @@ -49,12 +49,7 @@ in { in { enable = mkEnableOption "idle manager for Wayland"; - package = mkOption { - type = types.package; - default = pkgs.swayidle; - defaultText = literalExpression "pkgs.swayidle"; - description = "Swayidle package to install."; - }; + package = lib.mkPackageOption pkgs "swayidle" { }; timeouts = mkOption { type = with types; listOf (submodule timeoutModule);