0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 13:40:28 +03:00

treewide: use mkPackageOption

This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
This commit is contained in:
h7x4 2023-11-27 01:19:27 +01:00
parent 9cc575741d
commit 0a37316d6c
No known key found for this signature in database
GPG key ID: 9F2F7D8250F35146
377 changed files with 606 additions and 2786 deletions

View file

@ -85,15 +85,12 @@ in {
'';
};
jre = mkOption {
type = types.package;
default = pkgs.jre8;
defaultText = literalExpression "pkgs.jre8";
description = lib.mdDoc ''
JRE package to use.
jre = mkPackageOption pkgs "jre8" {
extraDescription = ''
::: {.note}
Airsonic only supports Java 8, airsonic-advanced requires at least
Java 11.
:::
'';
};

View file

@ -15,21 +15,13 @@ in
services.ananicy = {
enable = mkEnableOption (lib.mdDoc "Ananicy, an auto nice daemon");
package = mkOption {
type = types.package;
default = pkgs.ananicy;
defaultText = literalExpression "pkgs.ananicy";
example = literalExpression "pkgs.ananicy-cpp";
description = lib.mdDoc ''
Which ananicy package to use.
'';
package = mkPackageOption pkgs "ananicy" {
example = "ananicy-cpp";
};
rulesProvider = mkOption {
type = types.package;
default = pkgs.ananicy;
defaultText = literalExpression "pkgs.ananicy";
example = literalExpression "pkgs.ananicy-cpp";
rulesProvider = mkPackageOption pkgs "ananicy" {
example = "ananicy-cpp";
} // {
description = lib.mdDoc ''
Which package to copy default rules,types,cgroups from.
'';

View file

@ -24,12 +24,7 @@ in
options.services.ankisyncd = {
enable = mkEnableOption (lib.mdDoc "ankisyncd");
package = mkOption {
type = types.package;
default = pkgs.ankisyncd;
defaultText = literalExpression "pkgs.ankisyncd";
description = lib.mdDoc "The package to use for the ankisyncd command.";
};
package = mkPackageOption pkgs "ankisyncd" { };
host = mkOption {
type = types.str;

View file

@ -141,12 +141,7 @@ in {
];
};
package = mkOption {
description = lib.mdDoc "The kafka package to use";
default = pkgs.apacheKafka;
defaultText = literalExpression "pkgs.apacheKafka";
type = types.package;
};
package = mkPackageOption pkgs "apacheKafka" { };
jre = mkOption {
description = lib.mdDoc "The JRE with which to run Kafka";

View file

@ -26,12 +26,7 @@ in
options = {
services.bcg = {
enable = mkEnableOption (mdDoc "BigClown gateway");
package = mkOption {
default = pkgs.python3Packages.bcg;
defaultText = literalExpression "pkgs.python3Packages.bcg";
description = mdDoc "Which bcg derivation to use.";
type = types.package;
};
package = mkPackageOption pkgs [ "python3Packages" "bcg" ] { };
environmentFiles = mkOption {
type = types.listOf types.path;
default = [];

View file

@ -33,12 +33,7 @@ in
enable = mkEnableOption (lib.mdDoc "cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin");
package = mkOption {
default = pkgs.cgminer;
defaultText = literalExpression "pkgs.cgminer";
description = lib.mdDoc "Which cgminer derivation to use.";
type = types.package;
};
package = mkPackageOption pkgs "cgminer" { };
user = mkOption {
type = types.str;

View file

@ -9,12 +9,7 @@ in {
options.services.clipcat= {
enable = mkEnableOption (lib.mdDoc "Clipcat clipboard daemon");
package = mkOption {
type = types.package;
default = pkgs.clipcat;
defaultText = literalExpression "pkgs.clipcat";
description = lib.mdDoc "clipcat derivation to use.";
};
package = mkPackageOption pkgs "clipcat" { };
};
config = mkIf cfg.enable {

View file

@ -9,12 +9,7 @@ in {
options.services.clipmenu = {
enable = mkEnableOption (lib.mdDoc "clipmenu, the clipboard management daemon");
package = mkOption {
type = types.package;
default = pkgs.clipmenu;
defaultText = literalExpression "pkgs.clipmenu";
description = lib.mdDoc "clipmenu derivation to use.";
};
package = mkPackageOption pkgs "clipmenu" { };
};
config = mkIf cfg.enable {

View file

@ -61,12 +61,7 @@ in {
type = types.path;
};
package = mkOption {
description = lib.mdDoc "Confd package to use.";
default = pkgs.confd;
defaultText = literalExpression "pkgs.confd";
type = types.package;
};
package = mkPackageOption pkgs "confd" { };
};
config = mkIf cfg.enable {

View file

@ -27,12 +27,7 @@ in
useWebServiceInterface = mkEnableOption (lib.mdDoc "the DisnixWebService interface running on Apache Tomcat");
package = mkOption {
type = types.path;
description = lib.mdDoc "The Disnix package";
default = pkgs.disnix;
defaultText = literalExpression "pkgs.disnix";
};
package = mkPackageOption pkgs "disnix" {};
enableProfilePath = mkEnableOption (lib.mdDoc "exposing the Disnix profiles in the system's PATH");

View file

@ -47,12 +47,8 @@ in {
options.services.dockerRegistry = {
enable = mkEnableOption (lib.mdDoc "Docker Registry");
package = mkOption {
type = types.package;
description = mdDoc "Which Docker registry package to use.";
default = pkgs.docker-distribution;
defaultText = literalExpression "pkgs.docker-distribution";
example = literalExpression "pkgs.gitlab-container-registry";
package = mkPackageOption pkgs "docker-distribution" {
example = "gitlab-container-registry";
};
listenAddress = mkOption {

View file

@ -24,14 +24,8 @@ in
enable = mkEnableOption (lib.mdDoc "dwm-status user service");
package = mkOption {
type = types.package;
default = pkgs.dwm-status;
defaultText = literalExpression "pkgs.dwm-status";
example = literalExpression "pkgs.dwm-status.override { enableAlsaUtils = false; }";
description = lib.mdDoc ''
Which dwm-status package to use.
'';
package = mkPackageOption pkgs "dwm-status" {
example = "dwm-status.override { enableAlsaUtils = false; }";
};
order = mkOption {

View file

@ -58,14 +58,7 @@ in {
Also check available templates in [FreeSWITCH repository](https://github.com/signalwire/freeswitch/tree/master/conf).
'';
};
package = mkOption {
type = types.package;
default = pkgs.freeswitch;
defaultText = literalExpression "pkgs.freeswitch";
description = lib.mdDoc ''
FreeSWITCH package.
'';
};
package = mkPackageOption pkgs "freeswitch" { };
};
};
config = mkIf cfg.enable {

View file

@ -51,12 +51,7 @@ in
description = lib.mdDoc "Enable Gitea Service.";
};
package = mkOption {
default = pkgs.gitea;
type = types.package;
defaultText = literalExpression "pkgs.gitea";
description = lib.mdDoc "gitea derivation to use";
};
package = mkPackageOption pkgs "gitea" { };
useWizard = mkOption {
default = false;

View file

@ -258,41 +258,17 @@ in {
'';
};
packages.gitlab = mkOption {
type = types.package;
default = pkgs.gitlab;
defaultText = literalExpression "pkgs.gitlab";
description = lib.mdDoc "Reference to the gitlab package";
example = literalExpression "pkgs.gitlab-ee";
packages.gitlab = mkPackageOption pkgs "gitlab" {
example = "gitlab-ee";
};
packages.gitlab-shell = mkOption {
type = types.package;
default = pkgs.gitlab-shell;
defaultText = literalExpression "pkgs.gitlab-shell";
description = lib.mdDoc "Reference to the gitlab-shell package";
};
packages.gitlab-shell = mkPackageOption pkgs "gitlab-shell" { };
packages.gitlab-workhorse = mkOption {
type = types.package;
default = pkgs.gitlab-workhorse;
defaultText = literalExpression "pkgs.gitlab-workhorse";
description = lib.mdDoc "Reference to the gitlab-workhorse package";
};
packages.gitlab-workhorse = mkPackageOption pkgs "gitlab-workhorse" { };
packages.gitaly = mkOption {
type = types.package;
default = pkgs.gitaly;
defaultText = literalExpression "pkgs.gitaly";
description = lib.mdDoc "Reference to the gitaly package";
};
packages.gitaly = mkPackageOption pkgs "gitaly" { };
packages.pages = mkOption {
type = types.package;
default = pkgs.gitlab-pages;
defaultText = literalExpression "pkgs.gitlab-pages";
description = lib.mdDoc "Reference to the gitlab-pages package";
};
packages.pages = mkPackageOption pkgs "gitlab-pages" { };
statePath = mkOption {
type = types.str;

View file

@ -83,14 +83,7 @@ in
description = lib.mdDoc "Specifies the path of the repository directory. If it does not exist, Gollum will create it on startup.";
};
package = mkOption {
type = types.package;
default = pkgs.gollum;
defaultText = literalExpression "pkgs.gollum";
description = lib.mdDoc ''
The package used in the service
'';
};
package = mkPackageOption pkgs "gollum" { };
user = mkOption {
type = types.str;

View file

@ -9,12 +9,7 @@ in {
options.services.greenclip = {
enable = mkEnableOption (lib.mdDoc "Greenclip daemon");
package = mkOption {
type = types.package;
default = pkgs.haskellPackages.greenclip;
defaultText = literalExpression "pkgs.haskellPackages.greenclip";
description = lib.mdDoc "greenclip derivation to use.";
};
package = mkPackageOption pkgs [ "haskellPackages" "greenclip" ] { };
};
config = mkIf cfg.enable {

View file

@ -25,14 +25,7 @@ in
options.services.heisenbridge = {
enable = mkEnableOption (lib.mdDoc "the Matrix to IRC bridge");
package = mkOption {
type = types.package;
default = pkgs.heisenbridge;
defaultText = lib.literalExpression "pkgs.heisenbridge";
description = lib.mdDoc ''
Package of the application to run, exposed for overriding purposes.
'';
};
package = mkPackageOption pkgs "heisenbridge" { };
homeserver = mkOption {
type = types.str;

View file

@ -35,12 +35,7 @@ in
description = lib.mdDoc "Group under which Jackett runs.";
};
package = mkOption {
type = types.package;
default = pkgs.jackett;
defaultText = literalExpression "pkgs.jackett";
description = lib.mdDoc "Jackett package to use.";
};
package = mkPackageOption pkgs "jackett" { };
};
};

View file

@ -16,14 +16,7 @@ in
description = lib.mdDoc "User account under which Jellyfin runs.";
};
package = mkOption {
type = types.package;
default = pkgs.jellyfin;
defaultText = literalExpression "pkgs.jellyfin";
description = lib.mdDoc ''
Jellyfin package to use.
'';
};
package = mkPackageOption pkgs "jellyfin" { };
group = mkOption {
type = types.str;

View file

@ -16,12 +16,7 @@ in
services.klipper = {
enable = mkEnableOption (lib.mdDoc "Klipper, the 3D printer firmware");
package = mkOption {
type = types.package;
default = pkgs.klipper;
defaultText = literalExpression "pkgs.klipper";
description = lib.mdDoc "The Klipper package.";
};
package = mkPackageOption pkgs "klipper" { };
logFile = mkOption {
type = types.nullOr types.path;

View file

@ -15,12 +15,7 @@ in
services.libreddit = {
enable = mkEnableOption (lib.mdDoc "Private front-end for Reddit");
package = mkOption {
type = types.package;
default = pkgs.libreddit;
defaultText = literalExpression "pkgs.libreddit";
description = lib.mdDoc "Libreddit package to use.";
};
package = mkPackageOption pkgs "libreddit" { };
address = mkOption {
default = "0.0.0.0";

View file

@ -16,12 +16,7 @@ in
description = lib.mdDoc "The directory where Lidarr stores its data files.";
};
package = mkOption {
type = types.package;
default = pkgs.lidarr;
defaultText = literalExpression "pkgs.lidarr";
description = lib.mdDoc "The Lidarr package to use";
};
package = mkPackageOption pkgs "lidarr" { };
openFirewall = mkOption {
type = types.bool;

View file

@ -11,12 +11,7 @@ in {
options.services.mbpfan = {
enable = mkEnableOption (lib.mdDoc "mbpfan, fan controller daemon for Apple Macs and MacBooks");
package = mkOption {
type = types.package;
default = pkgs.mbpfan;
defaultText = literalExpression "pkgs.mbpfan";
description = lib.mdDoc "The package used for the mbpfan daemon.";
};
package = mkPackageOption pkgs "mbpfan" { };
verbose = mkOption {
type = types.bool;

View file

@ -215,14 +215,7 @@ in {
'';
};
package = mkOption {
type = types.package;
default = pkgs.gerbera;
defaultText = literalExpression "pkgs.gerbera";
description = lib.mdDoc ''
Underlying package to be used with the module.
'';
};
package = mkPackageOption pkgs "gerbera" { };
ps3Support = mkOption {
type = types.bool;

View file

@ -18,12 +18,9 @@ in {
services.moonraker = {
enable = mkEnableOption (lib.mdDoc "Moonraker, an API web server for Klipper");
package = mkOption {
type = with types; nullOr package;
default = pkgs.moonraker;
defaultText = literalExpression "pkgs.moonraker";
example = literalExpression "pkgs.moonraker.override { useGpiod = true; }";
description = lib.mdDoc "Moonraker package to use";
package = mkPackageOption pkgs "moonraker" {
nullable = true;
example = "moonraker.override { useGpiod = true; }";
};
klipperSocket = mkOption {

View file

@ -54,12 +54,7 @@ in
services.nitter = {
enable = mkEnableOption (lib.mdDoc "Nitter");
package = mkOption {
default = pkgs.nitter;
type = types.package;
defaultText = literalExpression "pkgs.nitter";
description = lib.mdDoc "The nitter derivation to use.";
};
package = mkPackageOption pkgs "nitter" { };
server = {
address = mkOption {

View file

@ -12,12 +12,7 @@ in
options.services.ntfy-sh = {
enable = mkEnableOption (mdDoc "[ntfy-sh](https://ntfy.sh), a push notification service");
package = mkOption {
type = types.package;
default = pkgs.ntfy-sh;
defaultText = literalExpression "pkgs.ntfy-sh";
description = mdDoc "The ntfy.sh package to use.";
};
package = mkPackageOption pkgs "ntfy-sh" { };
user = mkOption {
default = "ntfy-sh";

View file

@ -22,12 +22,7 @@ in {
lib.mdDoc "Open ports in the firewall for the NZBHydra2 web interface.";
};
package = mkOption {
type = types.package;
default = pkgs.nzbhydra2;
defaultText = literalExpression "pkgs.nzbhydra2";
description = lib.mdDoc "NZBHydra2 package to use.";
};
package = mkPackageOption pkgs "nzbhydra2" { };
};
};

View file

@ -194,12 +194,7 @@ in
description = lib.mdDoc "User under which Paperless runs.";
};
package = mkOption {
type = types.package;
default = pkgs.paperless-ngx;
defaultText = literalExpression "pkgs.paperless-ngx";
description = lib.mdDoc "The Paperless package to use.";
};
package = mkPackageOption pkgs "paperless-ngx" { };
};
config = mkIf cfg.enable {

View file

@ -93,13 +93,10 @@ in
'';
};
package = mkOption {
type = types.package;
default = pkgs.plex;
defaultText = literalExpression "pkgs.plex";
description = lib.mdDoc ''
The Plex package to use. Plex subscribers may wish to use their own
package here, pointing to subscriber-only server versions.
package = mkPackageOption pkgs "plex" {
extraDescription = ''
Plex subscribers may wish to use their own package here,
pointing to subscriber-only server versions.
'';
};
};

View file

@ -26,12 +26,7 @@ in
'';
};
package = mkOption {
type = types.package;
default = pkgs.portunus;
defaultText = lib.literalExpression "pkgs.portunus";
description = lib.mdDoc "The Portunus package to use.";
};
package = mkPackageOption pkgs "portunus" { };
seedPath = mkOption {
type = types.nullOr types.path;

View file

@ -11,13 +11,7 @@ in
services.radarr = {
enable = mkEnableOption (lib.mdDoc "Radarr");
package = mkOption {
description = lib.mdDoc "Radarr package to use";
default = pkgs.radarr;
defaultText = literalExpression "pkgs.radarr";
example = literalExpression "pkgs.radarr";
type = types.package;
};
package = mkPackageOption pkgs "radarr" { };
dataDir = mkOption {
type = types.str;

View file

@ -16,12 +16,7 @@ in
description = lib.mdDoc "The directory where Readarr stores its data files.";
};
package = mkOption {
type = types.package;
default = pkgs.readarr;
defaultText = literalExpression "pkgs.readarr";
description = lib.mdDoc "The Readarr package to use";
};
package = mkPackageOption pkgs "readarr" { };
openFirewall = mkOption {
type = types.bool;

View file

@ -1,7 +1,8 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkBefore mkDefault mkEnableOption mkIf mkOption mkRemovedOptionModule types;
inherit (lib) mkBefore mkDefault mkEnableOption mkPackageOption
mkIf mkOption mkRemovedOptionModule types;
inherit (lib) concatStringsSep literalExpression mapAttrsToList;
inherit (lib) optional optionalAttrs optionalString;
@ -51,12 +52,8 @@ in
services.redmine = {
enable = mkEnableOption (lib.mdDoc "Redmine");
package = mkOption {
type = types.package;
default = pkgs.redmine;
defaultText = literalExpression "pkgs.redmine";
description = lib.mdDoc "Which Redmine package to use.";
example = literalExpression "pkgs.redmine.override { ruby = pkgs.ruby_2_7; }";
package = mkPackageOption pkgs "redmine" {
example = "redmine.override { ruby = pkgs.ruby_2_7; }";
};
user = mkOption {

View file

@ -209,12 +209,7 @@ in
services.rippled = {
enable = mkEnableOption (lib.mdDoc "rippled");
package = mkOption {
description = lib.mdDoc "Which rippled package to use.";
type = types.package;
default = pkgs.rippled;
defaultText = literalExpression "pkgs.rippled";
};
package = mkPackageOption pkgs "rippled" { };
ports = mkOption {
description = lib.mdDoc "Ports exposed by rippled";

View file

@ -11,14 +11,11 @@ in {
services.rmfakecloud = {
enable = mkEnableOption (lib.mdDoc "rmfakecloud remarkable self-hosted cloud");
package = mkOption {
type = types.package;
default = pkgs.rmfakecloud;
defaultText = literalExpression "pkgs.rmfakecloud";
description = lib.mdDoc ''
rmfakecloud package to use.
package = mkPackageOption pkgs "rmfakecloud" {
extraDescription = ''
::: {.note}
The default does not include the web user interface.
:::
'';
};

View file

@ -22,12 +22,9 @@ in
default = false;
description = lib.mdDoc "Whether to enable the sickbeard server.";
};
package = mkOption {
type = types.package;
default = pkgs.sickbeard;
defaultText = literalExpression "pkgs.sickbeard";
example = literalExpression "pkgs.sickrage";
description =lib.mdDoc ''
package = mkPackageOption pkgs "sickbeard" {
example = "sickrage";
extraDescription = ''
Enable `pkgs.sickrage` or `pkgs.sickgear`
as an alternative to SickBeard
'';

View file

@ -36,14 +36,7 @@ in
description = lib.mdDoc "Group under which Sonaar runs.";
};
package = mkOption {
type = types.package;
default = pkgs.sonarr;
defaultText = literalExpression "pkgs.sonarr";
description = lib.mdDoc ''
Sonarr package to use.
'';
};
package = mkPackageOption pkgs "sonarr" { };
};
};

View file

@ -671,14 +671,8 @@ in
};
git = {
package = mkOption {
type = types.package;
default = pkgs.git;
defaultText = literalExpression "pkgs.git";
example = literalExpression "pkgs.gitFull";
description = lib.mdDoc ''
Git package for git.sr.ht. This can help silence collisions.
'';
package = mkPackageOption pkgs "git" {
example = "gitFull";
};
fcgiwrap.preforkProcess = mkOption {
description = lib.mdDoc "Number of fcgiwrap processes to prefork.";
@ -688,14 +682,7 @@ in
};
hg = {
package = mkOption {
type = types.package;
default = pkgs.mercurial;
defaultText = literalExpression "pkgs.mercurial";
description = lib.mdDoc ''
Mercurial package for hg.sr.ht. This can help silence collisions.
'';
};
package = mkPackageOption pkgs "mercurial" { };
cloneBundles = mkOption {
type = types.bool;
default = false;

View file

@ -9,12 +9,7 @@ in
services.spice-webdavd = {
enable = mkEnableOption (lib.mdDoc "the spice guest webdav proxy daemon");
package = mkOption {
default = pkgs.phodav;
defaultText = literalExpression "pkgs.phodav";
type = types.package;
description = lib.mdDoc "spice-webdavd provider package to use.";
};
package = mkPackageOption pkgs "phodav" { };
};
};

View file

@ -71,12 +71,7 @@ in
};
};
package = mkOption {
type = types.package;
default = pkgs.tandoor-recipes;
defaultText = literalExpression "pkgs.tandoor-recipes";
description = lib.mdDoc "The Tandoor Recipes package to use.";
};
package = mkPackageOption pkgs "tandoor-recipes" { };
};
config = mkIf cfg.enable {

View file

@ -50,14 +50,7 @@ in
description = lib.mdDoc "Group under which Tautulli runs.";
};
package = mkOption {
type = types.package;
default = pkgs.tautulli;
defaultText = literalExpression "pkgs.tautulli";
description = lib.mdDoc ''
The Tautulli package to use.
'';
};
package = mkPackageOption pkgs "tautulli" { };
};
};

View file

@ -11,12 +11,7 @@ in {
services.tp-auto-kbbl = {
enable = mkEnableOption (lib.mdDoc "auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux");
package = mkOption {
type = types.package;
default = pkgs.tp-auto-kbbl;
defaultText = literalExpression "pkgs.tp-auto-kbbl";
description = lib.mdDoc "Package providing {command}`tp-auto-kbbl`.";
};
package = mkPackageOption pkgs "tp-auto-kbbl" { };
arguments = mkOption {
type = types.listOf types.str;

View file

@ -15,12 +15,8 @@ with lib;
services.xmrig = {
enable = mkEnableOption (lib.mdDoc "XMRig Mining Software");
package = mkOption {
type = types.package;
default = pkgs.xmrig;
defaultText = literalExpression "pkgs.xmrig";
example = literalExpression "pkgs.xmrig-mo";
description = lib.mdDoc "XMRig package to use.";
package = mkPackageOption pkgs "xmrig" {
example = "xmrig-mo";
};
settings = mkOption {

View file

@ -103,12 +103,7 @@ in {
'';
};
package = mkOption {
description = lib.mdDoc "The zookeeper package to use";
default = pkgs.zookeeper;
defaultText = literalExpression "pkgs.zookeeper";
type = types.package;
};
package = mkPackageOption pkgs "zookeeper" { };
jre = mkOption {
description = lib.mdDoc "The JRE with which to run Zookeeper";