1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

treewide: use mkPackageOption

Standardized interface to provide a consistent treewide experience.
This commit is contained in:
Austin Horstman 2025-03-30 14:28:32 -05:00
parent 579a71b948
commit b24689a173
62 changed files with 91 additions and 413 deletions

View file

@ -13,12 +13,7 @@ in {
options.programs.atuin = { options.programs.atuin = {
enable = lib.mkEnableOption "atuin"; enable = lib.mkEnableOption "atuin";
package = mkOption { package = lib.mkPackageOption pkgs "atuin" { };
type = types.package;
default = pkgs.atuin;
defaultText = lib.literalExpression "pkgs.atuin";
description = "The package to use for atuin.";
};
enableBashIntegration = lib.hm.shell.mkBashIntegrationOption { enableBashIntegration = lib.hm.shell.mkBashIntegrationOption {
inherit config; inherit config;

View file

@ -10,11 +10,9 @@ in {
options.programs.awscli = { options.programs.awscli = {
enable = lib.mkEnableOption "AWS CLI tool"; enable = lib.mkEnableOption "AWS CLI tool";
package = lib.mkOption { package = lib.mkPackageOption pkgs "aws" {
type = lib.types.package; default = "awscli2";
default = pkgs.awscli2; nullable = true;
defaultText = lib.literalExpression "pkgs.awscli2";
description = "Package providing {command}`aws`.";
}; };
settings = lib.mkOption { settings = lib.mkOption {
@ -55,7 +53,7 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ]; home.packages = lib.mkIf (cfg.package != null) [ cfg.package ];
home.file."${config.home.homeDirectory}/.aws/config" = home.file."${config.home.homeDirectory}/.aws/config" =
lib.mkIf (cfg.settings != { }) { lib.mkIf (cfg.settings != { }) {

View file

@ -26,14 +26,10 @@ in {
''; '';
}; };
package = mkOption { package = lib.mkPackageOption pkgs "beets" {
type = types.package; example =
default = pkgs.beets;
defaultText = literalExpression "pkgs.beets";
example = literalExpression
"(pkgs.beets.override { pluginOverrides = { beatport.enable = false; }; })"; "(pkgs.beets.override { pluginOverrides = { beatport.enable = false; }; })";
description = '' extraDescription = ''
The `beets` package to use.
Can be used to specify extensions. Can be used to specify extensions.
''; '';
}; };

View file

@ -12,12 +12,7 @@ in {
bottom, a cross-platform graphical process/system monitor with a bottom, a cross-platform graphical process/system monitor with a
customizable interface''; customizable interface'';
package = lib.mkOption { package = lib.mkPackageOption pkgs "bottom" { nullable = true; };
type = lib.types.package;
default = pkgs.bottom;
defaultText = lib.literalExpression "pkgs.bottom";
description = "Package providing {command}`bottom`.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = tomlFormat.type; type = tomlFormat.type;
@ -46,7 +41,7 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ]; home.packages = lib.mkIf (cfg.package != null) [ cfg.package ];
xdg.configFile."bottom/bottom.toml" = lib.mkIf (cfg.settings != { }) { xdg.configFile."bottom/bottom.toml" = lib.mkIf (cfg.settings != { }) {
source = tomlFormat.generate "bottom.toml" cfg.settings; source = tomlFormat.generate "bottom.toml" cfg.settings;

View file

@ -164,12 +164,7 @@ in {
enableZshIntegration = enableZshIntegration =
lib.hm.shell.mkZshIntegrationOption { inherit config; }; lib.hm.shell.mkZshIntegrationOption { inherit config; };
package = mkOption { package = lib.mkPackageOption pkgs "broot" { };
type = types.package;
default = pkgs.broot;
defaultText = literalExpression "pkgs.broot";
description = "Package providing broot";
};
settings = mkOption { settings = mkOption {
type = types.submodule settingsModule; type = types.submodule settingsModule;

View file

@ -29,13 +29,8 @@ in {
programs.emacs = { programs.emacs = {
enable = lib.mkEnableOption "Emacs"; enable = lib.mkEnableOption "Emacs";
package = mkOption { package =
type = types.package; lib.mkPackageOption pkgs "emacs" { example = "pkgs.emacs25-nox"; };
default = pkgs.emacs;
defaultText = literalExpression "pkgs.emacs";
example = literalExpression "pkgs.emacs25-nox";
description = "The Emacs package to use.";
};
# NOTE: The config is placed in default.el instead of ~/.emacs.d so that # NOTE: The config is placed in default.el instead of ~/.emacs.d so that
# it won't conflict with Emacs configuration frameworks. Users of these # it won't conflict with Emacs configuration frameworks. Users of these

View file

@ -48,12 +48,7 @@ in {
options.programs.fzf = { options.programs.fzf = {
enable = lib.mkEnableOption "fzf - a command-line fuzzy finder"; enable = lib.mkEnableOption "fzf - a command-line fuzzy finder";
package = mkOption { package = lib.mkPackageOption pkgs "fzf" { };
type = types.package;
default = pkgs.fzf;
defaultText = literalExpression "pkgs.fzf";
description = "Package providing the {command}`fzf` tool.";
};
defaultCommand = mkOption { defaultCommand = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;

View file

@ -68,12 +68,7 @@ in {
options.programs.gh = { options.programs.gh = {
enable = lib.mkEnableOption "GitHub CLI tool"; enable = lib.mkEnableOption "GitHub CLI tool";
package = mkOption { package = lib.mkPackageOption pkgs "gh" { };
type = types.package;
default = pkgs.gh;
defaultText = literalExpression "pkgs.gh";
description = "Package providing {command}`gh`.";
};
settings = mkOption { settings = mkOption {
type = settingsType; type = settingsType;

View file

@ -11,12 +11,7 @@ in {
enable = lib.mkEnableOption enable = lib.mkEnableOption
"gitui, blazing fast terminal-ui for git written in rust"; "gitui, blazing fast terminal-ui for git written in rust";
package = mkOption { package = lib.mkPackageOption pkgs "gitui" { };
type = types.package;
default = pkgs.gitui;
defaultText = "pkgs.gitui";
description = "The package to use.";
};
keyConfig = mkOption { keyConfig = mkOption {
type = types.either types.path types.lines; type = types.either types.path types.lines;

View file

@ -13,12 +13,7 @@ in {
programs.go = { programs.go = {
enable = lib.mkEnableOption "Go"; enable = lib.mkEnableOption "Go";
package = mkOption { package = lib.mkPackageOption pkgs "go" { };
type = types.package;
default = pkgs.go;
defaultText = literalExpression "pkgs.go";
description = "The Go package to use.";
};
packages = mkOption { packages = mkOption {
type = with types; attrsOf path; type = with types; attrsOf path;

View file

@ -143,13 +143,9 @@ in {
options.programs.gpg = { options.programs.gpg = {
enable = lib.mkEnableOption "GnuPG"; enable = lib.mkEnableOption "GnuPG";
package = mkOption { package = lib.mkPackageOption pkgs "gnupg" {
type = types.package; example = "pkgs.gnupg23";
default = pkgs.gnupg; extraDescription = "Also used by the gpg-agent service.";
defaultText = literalExpression "pkgs.gnupg";
example = literalExpression "pkgs.gnupg23";
description =
"The Gnupg package to use (also used by the gpg-agent service).";
}; };
settings = mkOption { settings = mkOption {

View file

@ -10,13 +10,7 @@ in {
options.programs.helix = { options.programs.helix = {
enable = lib.mkEnableOption "helix text editor"; enable = lib.mkEnableOption "helix text editor";
package = mkOption { package = lib.mkPackageOption pkgs "helix" { example = "pkgs.evil-helix"; };
type = types.package;
default = pkgs.helix;
defaultText = literalExpression "pkgs.helix";
example = literalExpression "pkgs.evil-helix";
description = "The package to use for helix.";
};
extraPackages = mkOption { extraPackages = mkOption {
type = with types; listOf package; type = with types; listOf package;

View file

@ -153,12 +153,7 @@ in {
''; '';
}; };
package = lib.mkOption { package = lib.mkPackageOption pkgs "htop" { };
type = lib.types.package;
default = pkgs.htop;
defaultText = lib.literalExpression "pkgs.htop";
description = "Package containing the {command}`htop` program.";
};
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {

View file

@ -9,12 +9,7 @@ in {
options.programs.hyfetch = { options.programs.hyfetch = {
enable = lib.mkEnableOption "hyfetch"; enable = lib.mkEnableOption "hyfetch";
package = lib.mkOption { package = lib.mkPackageOption pkgs "hyfetch" { };
type = lib.types.package;
default = pkgs.hyfetch;
defaultText = lib.literalExpression "pkgs.hyfetch";
description = "The hyfetch package to use.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = jsonFormat.type; type = jsonFormat.type;

View file

@ -29,12 +29,7 @@ in {
options.programs.i3blocks = { options.programs.i3blocks = {
enable = lib.mkEnableOption "i3blocks i3 status command scheduler"; enable = lib.mkEnableOption "i3blocks i3 status command scheduler";
package = lib.mkOption { package = lib.mkPackageOption pkgs "i3blocks" { };
type = types.package;
default = pkgs.i3blocks;
defaultText = lib.literalExpression "pkgs.i3blocks";
description = "Package providing {command}`i3blocks`.";
};
bars = lib.mkOption { bars = lib.mkOption {
type = with types; attrsOf (lib.hm.types.dagOf configType); type = with types; attrsOf (lib.hm.types.dagOf configType);

View file

@ -219,12 +219,7 @@ in {
''; '';
}; };
package = mkOption { package = lib.mkPackageOption pkgs "i3status-rust" { };
type = types.package;
default = pkgs.i3status-rust;
defaultText = literalExpression "pkgs.i3status-rust";
description = "Package providing i3status-rust";
};
}; };

View file

@ -10,12 +10,7 @@ in {
options.programs.joshuto = { options.programs.joshuto = {
enable = lib.mkEnableOption "joshuto file manager"; enable = lib.mkEnableOption "joshuto file manager";
package = mkOption { package = lib.mkPackageOption pkgs "joshuto" { };
type = types.package;
default = pkgs.joshuto;
defaultText = lib.literalExpression "pkgs.joshuto";
description = "The package to use for joshuto.";
};
settings = mkOption { settings = mkOption {
type = tomlFormat.type; type = tomlFormat.type;

View file

@ -29,12 +29,7 @@ in {
programs.jq = { programs.jq = {
enable = lib.mkEnableOption "the jq command-line JSON processor"; enable = lib.mkEnableOption "the jq command-line JSON processor";
package = mkOption { package = lib.mkPackageOption pkgs "jq" { };
type = types.package;
default = pkgs.jq;
defaultText = lib.literalExpression "pkgs.jq";
description = "jq package to use.";
};
colors = mkOption { colors = mkOption {
description = '' description = ''

View file

@ -126,14 +126,9 @@ in {
options.programs.kodi = { options.programs.kodi = {
enable = lib.mkEnableOption "Kodi"; enable = lib.mkEnableOption "Kodi";
package = mkOption { package = lib.mkPackageOption pkgs "kodi" {
type = types.package; example = "pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ])";
default = pkgs.kodi; extraDescription = ''
defaultText = literalExpression "pkgs.kodi";
example = literalExpression
"pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ])";
description = ''
The `kodi` package to use.
Can be used to specify extensions. Can be used to specify extensions.
''; '';
}; };

View file

@ -12,14 +12,7 @@ in {
programs.lf = { programs.lf = {
enable = lib.mkEnableOption "lf"; enable = lib.mkEnableOption "lf";
package = mkOption { package = lib.mkPackageOption pkgs "lf" { };
type = types.package;
default = pkgs.lf;
defaultText = literalExpression "pkgs.lf";
description = ''
lf package to use.
'';
};
settings = mkOption { settings = mkOption {
type = with types; type = with types;

View file

@ -216,14 +216,7 @@ in {
programs.lieer = { programs.lieer = {
enable = lib.mkEnableOption "lieer Gmail synchronization for notmuch"; enable = lib.mkEnableOption "lieer Gmail synchronization for notmuch";
package = mkOption { package = lib.mkPackageOption pkgs "lieer" { };
type = types.package;
default = pkgs.lieer;
defaultText = "pkgs.lieer";
description = ''
lieer package to use.
'';
};
}; };
accounts.email.accounts = accounts.email.accounts =

View file

@ -15,12 +15,7 @@ in {
''; '';
}; };
package = mkOption { package = lib.mkPackageOption pkgs "man" { };
type = types.package;
default = pkgs.man;
defaultText = lib.literalExpression "pkgs.man";
description = "The man package to use.";
};
generateCaches = mkOption { generateCaches = mkOption {
type = types.bool; type = types.bool;

View file

@ -189,13 +189,7 @@ in {
enable = enable =
lib.mkEnableOption "mbsync IMAP4 and Maildir mailbox synchronizer"; lib.mkEnableOption "mbsync IMAP4 and Maildir mailbox synchronizer";
package = mkOption { package = lib.mkPackageOption pkgs "isync" { };
type = types.package;
default = pkgs.isync;
defaultText = literalExpression "pkgs.isync";
example = literalExpression "pkgs.isync";
description = "The package to use for the mbsync binary.";
};
groups = mkOption { groups = mkOption {
type = types.attrsOf (types.attrsOf (types.listOf types.str)); type = types.attrsOf (types.attrsOf (types.listOf types.str));

View file

@ -61,14 +61,9 @@ in {
programs.mpv = { programs.mpv = {
enable = lib.mkEnableOption "mpv"; enable = lib.mkEnableOption "mpv";
package = mkOption { package = lib.mkPackageOption pkgs "mpv" {
type = types.package; example =
default = pkgs.mpv;
example = literalExpression
"pkgs.mpv-unwrapped.wrapper { mpv = pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }; youtubeSupport = true; }"; "pkgs.mpv-unwrapped.wrapper { mpv = pkgs.mpv-unwrapped.override { vapoursynthSupport = true; }; youtubeSupport = true; }";
description = ''
Package providing mpv.
'';
}; };
finalPackage = mkOption { finalPackage = mkOption {

View file

@ -49,12 +49,7 @@ in {
programs.msmtp = { programs.msmtp = {
enable = lib.mkEnableOption "msmtp"; enable = lib.mkEnableOption "msmtp";
package = mkOption { package = lib.mkPackageOption pkgs "msmtp" { };
type = types.package;
default = pkgs.msmtp;
defaultText = lib.literalExpression "pkgs.msmtp";
description = "The msmtp package to use.";
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;

View file

@ -268,14 +268,7 @@ in {
programs.mujmap = { programs.mujmap = {
enable = lib.mkEnableOption "mujmap Gmail synchronization for notmuch"; enable = lib.mkEnableOption "mujmap Gmail synchronization for notmuch";
package = mkOption { package = lib.mkPackageOption pkgs "mujmap" { };
type = types.package;
default = pkgs.mujmap;
defaultText = "pkgs.mujmap";
description = ''
mujmap package to use.
'';
};
}; };
accounts.email.accounts = accounts.email.accounts =

View file

@ -17,12 +17,7 @@ in {
options.programs.navi = { options.programs.navi = {
enable = lib.mkEnableOption "Navi"; enable = lib.mkEnableOption "Navi";
package = lib.mkOption { package = lib.mkPackageOption pkgs "navi" { };
type = lib.types.package;
default = pkgs.navi;
defaultText = lib.literalExpression "pkgs.navi";
description = "The package to use for the navi binary.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = yamlFormat.type; type = yamlFormat.type;

View file

@ -48,15 +48,8 @@ in {
enable = lib.mkEnableOption enable = lib.mkEnableOption
"ncmpcpp - an ncurses Music Player Daemon (MPD) client"; "ncmpcpp - an ncurses Music Player Daemon (MPD) client";
package = mkOption { package = lib.mkPackageOption pkgs "ncmpcpp" {
type = types.package; example = "pkgs.ncmpcpp.override { visualizerSupport = true; }";
default = pkgs.ncmpcpp;
defaultText = literalExpression "pkgs.ncmpcpp";
description = ''
Package providing the `ncmpcpp` command.
'';
example =
literalExpression "pkgs.ncmpcpp.override { visualizerSupport = true; }";
}; };
mpdMusicDir = mkOption { mpdMusicDir = mkOption {

View file

@ -9,12 +9,7 @@ in {
options.programs.ncspot = { options.programs.ncspot = {
enable = lib.mkEnableOption "ncspot"; enable = lib.mkEnableOption "ncspot";
package = lib.mkOption { package = lib.mkPackageOption pkgs "ncspot" { };
type = lib.types.package;
default = pkgs.ncspot;
defaultText = lib.literalExpression "pkgs.ncspot";
description = "The package to use for ncspot.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = tomlFormat.type; type = tomlFormat.type;

View file

@ -342,12 +342,7 @@ in {
programs.neomutt = { programs.neomutt = {
enable = lib.mkEnableOption "the NeoMutt mail client"; enable = lib.mkEnableOption "the NeoMutt mail client";
package = mkOption { package = lib.mkPackageOption pkgs "neomutt" { };
type = types.package;
default = pkgs.neomutt;
defaultText = lib.literalExpression "pkgs.neomutt";
description = "The neomutt package to use.";
};
sidebar = mkOption { sidebar = mkOption {
type = sidebarModule; type = sidebarModule;

View file

@ -250,12 +250,8 @@ in {
''; '';
}; };
package = mkOption { package =
type = types.package; lib.mkPackageOption pkgs "neovim" { default = "neovim-unwrapped"; };
default = pkgs.neovim-unwrapped;
defaultText = literalExpression "pkgs.neovim-unwrapped";
description = "The package to use for the neovim binary.";
};
finalPackage = mkOption { finalPackage = mkOption {
type = types.package; type = types.package;
@ -324,11 +320,8 @@ in {
coc = { coc = {
enable = mkEnableOption "Coc"; enable = mkEnableOption "Coc";
package = mkOption { package = lib.mkPackageOption pkgs "coc-nvim" {
type = types.package; default = [ "vimPlugins" "coc-nvim" ];
default = pkgs.vimPlugins.coc-nvim;
defaultText = literalExpression "pkgs.vimPlugins.coc-nvim";
description = "The package to use for the CoC plugin.";
}; };
settings = mkOption { settings = mkOption {

View file

@ -7,12 +7,7 @@ in {
options.programs.nix-index = { options.programs.nix-index = {
enable = lib.mkEnableOption "nix-index, a file database for nixpkgs"; enable = lib.mkEnableOption "nix-index, a file database for nixpkgs";
package = lib.mkOption { package = lib.mkPackageOption pkgs "nix-index" { };
type = lib.types.package;
default = pkgs.nix-index;
defaultText = lib.literalExpression "pkgs.nix-index";
description = "Package providing the {command}`nix-index` tool.";
};
enableBashIntegration = enableBashIntegration =
lib.hm.shell.mkBashIntegrationOption { inherit config; }; lib.hm.shell.mkBashIntegrationOption { inherit config; };

View file

@ -50,15 +50,8 @@ in {
programs.nnn = { programs.nnn = {
enable = lib.mkEnableOption "nnn"; enable = lib.mkEnableOption "nnn";
package = mkOption { package = lib.mkPackageOption pkgs "nnn" {
type = types.package; example = "pkgs.nnn.override { withNerdIcons = true; }";
default = pkgs.nnn;
defaultText = literalExpression "pkgs.nnn";
example =
literalExpression "pkgs.nnn.override ({ withNerdIcons = true; });";
description = ''
Package containing the {command}`nnn` program.
'';
}; };
finalPackage = mkOption { finalPackage = mkOption {

View file

@ -23,13 +23,8 @@ in {
programs.octant = { programs.octant = {
enable = lib.mkEnableOption "octant"; enable = lib.mkEnableOption "octant";
package = lib.mkOption { package =
type = lib.types.package; lib.mkPackageOption pkgs "octant" { example = "pkgs.octant-other"; };
default = pkgs.octant;
defaultText = literalExpression "pkgs.octant";
example = literalExpression "pkgs.octant-other";
description = "The Octant package to use.";
};
plugins = lib.mkOption { plugins = lib.mkOption {
default = [ ]; default = [ ];

View file

@ -24,12 +24,7 @@ in {
options.programs.pandoc = { options.programs.pandoc = {
enable = mkEnableOption "pandoc"; enable = mkEnableOption "pandoc";
package = mkOption { package = lib.mkPackageOption pkgs "pandoc" { };
type = types.package;
default = pkgs.pandoc;
defaultText = literalExpression "pkgs.pandoc";
description = "The pandoc package to use.";
};
# We wrap the executable to pass some arguments # We wrap the executable to pass some arguments
finalPackage = mkOption { finalPackage = mkOption {
@ -98,6 +93,7 @@ in {
}; };
home.packages = [ cfg.finalPackage ]; home.packages = [ cfg.finalPackage ];
xdg.dataFile = lib.mapAttrs' makeTemplateFile cfg.templates xdg.dataFile = lib.mapAttrs' makeTemplateFile cfg.templates
// lib.listToAttrs (map makeCslFile cfg.citationStyles); // lib.listToAttrs (map makeCslFile cfg.citationStyles);
}; };

View file

@ -10,17 +10,9 @@ in {
options.programs.password-store = { options.programs.password-store = {
enable = lib.mkEnableOption "Password store"; enable = lib.mkEnableOption "Password store";
package = mkOption { package = lib.mkPackageOption pkgs "pass" {
type = types.package; example = "pkgs.pass.withExtensions (exts: [ exts.pass-otp ])";
default = pkgs.pass; extraDescription = "Can be used to specify extensions.";
defaultText = literalExpression "pkgs.pass";
example = literalExpression ''
pkgs.pass.withExtensions (exts: [ exts.pass-otp ])
'';
description = ''
The `pass` package to use.
Can be used to specify extensions.
'';
}; };
settings = mkOption rec { settings = mkOption rec {

View file

@ -59,13 +59,9 @@ in {
''; '';
}; };
selectcmdPackage = mkOption { selectcmdPackage = lib.mkPackageOption pkgs "fzf" {
type = types.package; extraDescription =
default = pkgs.fzf; "The package needed for the {var}`settings.selectcmd`.";
defaultText = lib.literalExpression "pkgs.fzf";
description = ''
The package needed for the {var}`settings.selectcmd`.
'';
}; };
snippets = mkOption { snippets = mkOption {

View file

@ -7,12 +7,7 @@ in {
programs.pidgin = { programs.pidgin = {
enable = lib.mkEnableOption "Pidgin messaging client"; enable = lib.mkEnableOption "Pidgin messaging client";
package = lib.mkOption { package = lib.mkPackageOption pkgs "pidgin" { };
type = lib.types.package;
default = pkgs.pidgin;
defaultText = lib.literalExpression "pkgs.pidgin";
description = "The Pidgin package to use.";
};
plugins = lib.mkOption { plugins = lib.mkOption {
default = [ ]; default = [ ];

View file

@ -8,12 +8,7 @@ in {
options.programs.piston-cli = { options.programs.piston-cli = {
enable = lib.mkEnableOption "piston-cli, code runner"; enable = lib.mkEnableOption "piston-cli, code runner";
package = lib.mkOption { package = lib.mkPackageOption pkgs "piston-cli" { };
type = lib.types.package;
default = pkgs.piston-cli;
defaultText = lib.literalExpression "pkgs.piston-cli";
description = "The piston-cli package to use.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = yamlFormat.type; type = yamlFormat.type;

View file

@ -10,12 +10,7 @@ in {
options.programs.pubs = { options.programs.pubs = {
enable = lib.mkEnableOption "pubs"; enable = lib.mkEnableOption "pubs";
package = mkOption { package = lib.mkPackageOption pkgs "pubs" { };
type = types.package;
default = pkgs.pubs;
defaultText = lib.literalExpression "pkgs.pubs";
description = "The package to use for the pubs script.";
};
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;

View file

@ -12,12 +12,7 @@ in {
options.programs.pyenv = { options.programs.pyenv = {
enable = lib.mkEnableOption "pyenv"; enable = lib.mkEnableOption "pyenv";
package = lib.mkOption { package = lib.mkPackageOption pkgs "pyenv" { };
type = lib.types.package;
default = pkgs.pyenv;
defaultText = lib.literalExpression "pkgs.pyenv";
description = "The package to use for pyenv.";
};
enableBashIntegration = enableBashIntegration =
lib.hm.shell.mkBashIntegrationOption { inherit config; }; lib.hm.shell.mkBashIntegrationOption { inherit config; };

View file

@ -8,12 +8,7 @@ in {
meta.maintainers = [ lib.hm.maintainers.florpe ]; meta.maintainers = [ lib.hm.maintainers.florpe ];
options.programs.pylint = { options.programs.pylint = {
enable = lib.mkEnableOption "the pylint Python linter"; enable = lib.mkEnableOption "the pylint Python linter";
package = lib.mkOption { package = lib.mkPackageOption pkgs [ "python3Packages" "pylint" ] { };
type = lib.types.package;
default = pkgs.python3Packages.pylint;
defaultText = lib.literalExpression "pkgs.python3Packages.pylint";
description = "The pylint package to use.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };

View file

@ -7,12 +7,7 @@ in {
options.programs.ranger = { options.programs.ranger = {
enable = lib.mkEnableOption "ranger file manager"; enable = lib.mkEnableOption "ranger file manager";
package = mkOption { package = lib.mkPackageOption pkgs "ranger" { };
type = types.package;
default = pkgs.ranger;
defaultText = literalExpression "pkgs.ranger";
description = "The ranger package to use.";
};
extraPackages = mkOption { extraPackages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;

View file

@ -63,11 +63,8 @@ in {
options.programs.rbw = { options.programs.rbw = {
enable = lib.mkEnableOption "rbw, a CLI Bitwarden client"; enable = lib.mkEnableOption "rbw, a CLI Bitwarden client";
package = mkOption { package = lib.mkPackageOption pkgs "rbw" {
type = types.package; extraDescription = ''
default = pkgs.rbw;
defaultText = lib.literalExpression "pkgs.rbw";
description = ''
Package providing the {command}`rbw` tool and its Package providing the {command}`rbw` tool and its
{command}`rbw-agent` daemon. {command}`rbw-agent` daemon.
''; '';

View file

@ -104,15 +104,8 @@ in {
enable = lib.mkEnableOption enable = lib.mkEnableOption
"Rofi: A window switcher, application launcher and dmenu replacement"; "Rofi: A window switcher, application launcher and dmenu replacement";
package = mkOption { package = lib.mkPackageOption pkgs "rofi" {
default = pkgs.rofi; example = "pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; }";
type = types.package;
description = ''
Package providing the {command}`rofi` binary.
'';
example = literalExpression ''
pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; };
'';
}; };
finalPackage = mkOption { finalPackage = mkOption {

View file

@ -92,12 +92,7 @@ in {
options.programs.sbt = { options.programs.sbt = {
enable = lib.mkEnableOption "sbt"; enable = lib.mkEnableOption "sbt";
package = mkOption { package = lib.mkPackageOption pkgs "sbt" { };
type = types.package;
default = pkgs.sbt;
defaultText = literalExpression "pkgs.sbt";
description = "The package with sbt to be installed.";
};
baseUserConfigPath = mkOption { baseUserConfigPath = mkOption {
type = types.str; type = types.str;

View file

@ -11,12 +11,7 @@ in {
scmpuff, a command line tool that allows you to work quicker with Git by scmpuff, a command line tool that allows you to work quicker with Git by
substituting numeric shortcuts for files''; substituting numeric shortcuts for files'';
package = lib.mkOption { package = lib.mkPackageOption pkgs "scmpuff" { };
type = lib.types.package;
default = pkgs.scmpuff;
defaultText = lib.literalExpression "pkgs.scmpuff";
description = "Package providing the {command}`scmpuff` tool.";
};
enableBashIntegration = enableBashIntegration =
lib.hm.shell.mkBashIntegrationOption { inherit config; }; lib.hm.shell.mkBashIntegrationOption { inherit config; };

View file

@ -6,12 +6,7 @@ let
in { in {
options.programs.senpai = { options.programs.senpai = {
enable = lib.mkEnableOption "senpai"; enable = lib.mkEnableOption "senpai";
package = mkOption { package = lib.mkPackageOption pkgs "senpai" { };
type = types.package;
default = pkgs.senpai;
defaultText = lib.literalExpression "pkgs.senpai";
description = "The `senpai` package to use.";
};
config = mkOption { config = mkOption {
type = types.submodule { type = types.submodule {
freeformType = types.attrsOf types.anything; freeformType = types.attrsOf types.anything;

View file

@ -15,12 +15,7 @@ in {
enable = lib.mkEnableOption enable = lib.mkEnableOption
"Sioyek, a PDF viewer designed for reading research papers and technical books"; "Sioyek, a PDF viewer designed for reading research papers and technical books";
package = mkOption { package = lib.mkPackageOption pkgs "sioyek" { };
default = pkgs.sioyek;
defaultText = literalExpression "pkgs.sioyek";
type = types.package;
description = "Package providing the sioyek binary";
};
bindings = mkOption { bindings = mkOption {
description = '' description = ''

View file

@ -8,12 +8,7 @@ in {
options.programs.skim = { options.programs.skim = {
enable = lib.mkEnableOption "skim - a command-line fuzzy finder"; enable = lib.mkEnableOption "skim - a command-line fuzzy finder";
package = mkOption { package = lib.mkPackageOption pkgs "skim" { };
type = types.package;
default = pkgs.skim;
defaultText = lib.literalExpression "pkgs.skim";
description = "Package providing the {command}`skim` tool.";
};
defaultCommand = mkOption { defaultCommand = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;

View file

@ -14,12 +14,7 @@ in {
options.programs.starship = { options.programs.starship = {
enable = lib.mkEnableOption "starship"; enable = lib.mkEnableOption "starship";
package = mkOption { package = lib.mkPackageOption pkgs "starship" { };
type = types.package;
default = pkgs.starship;
defaultText = lib.literalExpression "pkgs.starship";
description = "The package to use for the starship binary.";
};
settings = mkOption { settings = mkOption {
type = tomlFormat.type; type = tomlFormat.type;

View file

@ -97,12 +97,7 @@ in {
''; '';
}; };
package = mkOption { package = lib.mkPackageOption pkgs "swayr" { };
type = types.package;
default = pkgs.swayr;
defaultText = lib.literalExpression "pkgs.swayr";
description = "swayr package to use.";
};
}; };
config = mkIf cfg.enable (lib.mkMerge [ config = mkIf cfg.enable (lib.mkMerge [

View file

@ -188,12 +188,8 @@ in {
programs.thunderbird = { programs.thunderbird = {
enable = lib.mkEnableOption "Thunderbird"; enable = lib.mkEnableOption "Thunderbird";
package = mkOption { package = lib.mkPackageOption pkgs "thunderbird" {
type = types.package; example = "pkgs.thunderbird-91";
default = pkgs.thunderbird;
defaultText = literalExpression "pkgs.thunderbird";
example = literalExpression "pkgs.thunderbird-91";
description = "The Thunderbird package to use.";
}; };
profileVersion = mkOption { profileVersion = mkOption {

View file

@ -10,12 +10,7 @@ in {
options.programs.timidity = { options.programs.timidity = {
enable = lib.mkEnableOption "timidity, a software MIDI renderer"; enable = lib.mkEnableOption "timidity, a software MIDI renderer";
package = lib.mkOption { package = lib.mkPackageOption pkgs "timidity" { };
type = lib.types.package;
default = pkgs.timidity;
defaultText = lib.literalExpression "pkgs.timidity";
description = "The timidity package to use.";
};
finalPackage = lib.mkOption { finalPackage = lib.mkOption {
readOnly = true; readOnly = true;

View file

@ -10,12 +10,7 @@ in {
options.programs.topgrade = { options.programs.topgrade = {
enable = lib.mkEnableOption "topgrade"; enable = lib.mkEnableOption "topgrade";
package = lib.mkOption { package = lib.mkPackageOption pkgs "topgrade" { };
type = lib.types.package;
default = pkgs.topgrade;
defaultText = lib.literalExpression "pkgs.topgrade";
description = "The package to use for the topgrade binary.";
};
settings = lib.mkOption { settings = lib.mkOption {
type = tomlFormat.type; type = tomlFormat.type;

View file

@ -168,14 +168,7 @@ in {
programs.vdirsyncer = { programs.vdirsyncer = {
enable = lib.mkEnableOption "vdirsyncer"; enable = lib.mkEnableOption "vdirsyncer";
package = lib.mkOption { package = lib.mkPackageOption pkgs "vdirsyncer" { };
type = lib.types.package;
default = pkgs.vdirsyncer;
defaultText = "pkgs.vdirsyncer";
description = ''
vdirsyncer package to use.
'';
};
statusPath = lib.mkOption { statusPath = lib.mkOption {
type = lib.types.str; type = lib.types.str;

View file

@ -244,14 +244,9 @@ in {
options.programs.vscode = { options.programs.vscode = {
enable = lib.mkEnableOption "Visual Studio Code"; enable = lib.mkEnableOption "Visual Studio Code";
package = mkOption { package = lib.mkPackageOption pkgs "vscode" {
type = types.package; example = "pkgs.vscodium";
default = pkgs.vscode; extraDescription = "Version of Visual Studio Code to install.";
defaultText = literalExpression "pkgs.vscode";
example = literalExpression "pkgs.vscodium";
description = ''
Version of Visual Studio Code to install.
'';
}; };
mutableExtensionsDir = mkOption { mutableExtensionsDir = mkOption {

View file

@ -17,12 +17,7 @@ in {
options.programs.watson = { options.programs.watson = {
enable = lib.mkEnableOption "watson, a wonderful CLI to track your time"; enable = lib.mkEnableOption "watson, a wonderful CLI to track your time";
package = lib.mkOption { package = lib.mkPackageOption pkgs "watson" { };
type = lib.types.package;
default = pkgs.watson;
defaultText = lib.literalExpression "pkgs.watson";
description = "Package providing the {command}`watson`.";
};
enableBashIntegration = enableBashIntegration =
lib.hm.shell.mkBashIntegrationOption { inherit config; }; lib.hm.shell.mkBashIntegrationOption { inherit config; };

View file

@ -4,14 +4,7 @@ in {
options.programs.xmobar = { options.programs.xmobar = {
enable = lib.mkEnableOption "Xmobar, a minimalistic status bar"; enable = lib.mkEnableOption "Xmobar, a minimalistic status bar";
package = lib.mkOption { package = lib.mkPackageOption pkgs [ "haskellPackages" "xmobar" ] { };
default = pkgs.haskellPackages.xmobar;
defaultText = lib.literalExpression "pkgs.haskellPackages.xmobar";
type = lib.types.package;
description = ''
Package providing the {command}`xmobar` binary.
'';
};
extraConfig = lib.mkOption { extraConfig = lib.mkOption {
default = ""; default = "";

View file

@ -16,12 +16,7 @@ in {
options.programs.yt-dlp = { options.programs.yt-dlp = {
enable = lib.mkEnableOption "yt-dlp"; enable = lib.mkEnableOption "yt-dlp";
package = mkOption { package = lib.mkPackageOption pkgs "yt-dlp" { };
type = types.package;
default = pkgs.yt-dlp;
defaultText = lib.literalExpression "pkgs.yt-dlp";
description = "Package providing the {command}`yt-dlp` tool.";
};
settings = mkOption { settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str ]); type = with types; attrsOf (oneOf [ bool int str ]);

View file

@ -20,12 +20,7 @@ in {
Zathura, a highly customizable and functional document viewer Zathura, a highly customizable and functional document viewer
focused on keyboard interaction''; focused on keyboard interaction'';
package = mkOption { package = lib.mkPackageOption pkgs "zathura" { };
type = types.package;
default = pkgs.zathura;
defaultText = "pkgs.zathura";
description = "The Zathura package to use";
};
options = mkOption { options = mkOption {
default = { }; default = { };

View file

@ -48,12 +48,8 @@ let
''; '';
}; };
package = mkOption { package = lib.mkPackageOption pkgs "activitywatch" {
type = lib.types.package; extraDescription = "The derivation containing the watcher executable.";
example = lib.literalExpression "pkgs.activitywatch";
description = ''
The derivation containing the watcher executable.
'';
}; };
executable = mkOption { executable = mkOption {