Compare commits
1 commit
bb1b491abc
...
f9eb730fe7
Author | SHA1 | Date | |
---|---|---|---|
f9eb730fe7 |
3 changed files with 27 additions and 28 deletions
|
@ -1,7 +1,8 @@
|
||||||
{ lib, pkgs, ... }@attrs:
|
{ lib, pkgs, ... }@attrs:
|
||||||
let
|
let
|
||||||
osConfig = attrs.osConfig or null;
|
|
||||||
inherit (lib) types;
|
inherit (lib) types;
|
||||||
|
inherit (import ../lib.nix { inherit lib; }) mkExtraPackagesOption;
|
||||||
|
osConfig = attrs.osConfig or null;
|
||||||
fromOs =
|
fromOs =
|
||||||
let
|
let
|
||||||
get =
|
get =
|
||||||
|
@ -11,22 +12,6 @@ let
|
||||||
path: default: if osConfig == null then default else get path osConfig;
|
path: default: if osConfig == null then default else get path osConfig;
|
||||||
fromConfig = path: default: fromOs ([ "jconfig" ] ++ path) default;
|
fromConfig = path: default: fromOs ([ "jconfig" ] ++ path) default;
|
||||||
|
|
||||||
mkExtraPackagesOption =
|
|
||||||
name: defaultPkgsPath:
|
|
||||||
let
|
|
||||||
text = lib.strings.concatMapStringsSep " " (
|
|
||||||
pkgPath: "pkgs." + (lib.strings.concatStringsSep "." pkgPath)
|
|
||||||
) defaultPkgsPath;
|
|
||||||
defaultText = lib.literalExpression "[ ${text} ]";
|
|
||||||
default = builtins.map (pkgPath: lib.attrsets.getAttrFromPath pkgPath pkgs) defaultPkgsPath;
|
|
||||||
in
|
|
||||||
lib.mkOption {
|
|
||||||
description = "Extra ${name} Packages.";
|
|
||||||
type = types.listOf types.package;
|
|
||||||
inherit default defaultText;
|
|
||||||
example = [ ];
|
|
||||||
};
|
|
||||||
|
|
||||||
identity.options = {
|
identity.options = {
|
||||||
email = lib.mkOption {
|
email = lib.mkOption {
|
||||||
description = "Primary email address";
|
description = "Primary email address";
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
{ lib }:
|
{ lib }:
|
||||||
let
|
|
||||||
inherit (lib) types;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
# Like mkEnableOption but defaults to true
|
# Like mkEnableOption but defaults to true
|
||||||
mkDisableOption =
|
mkDisableOption =
|
||||||
|
@ -20,8 +17,31 @@ in
|
||||||
}:
|
}:
|
||||||
lib.mkOption {
|
lib.mkOption {
|
||||||
inherit description;
|
inherit description;
|
||||||
type = types.path;
|
type = lib.types.path;
|
||||||
default = builtins.fetchurl { inherit url sha256; };
|
default = builtins.fetchurl { inherit url sha256; };
|
||||||
defaultText = lib.literalMD "";
|
defaultText = lib.literalMD "";
|
||||||
};
|
};
|
||||||
|
# Like `lib.mkEnableOption` but default to disabled
|
||||||
|
mkDisableOption =
|
||||||
|
desc:
|
||||||
|
lib.mkEnableOption desc
|
||||||
|
// {
|
||||||
|
default = true;
|
||||||
|
example = false;
|
||||||
|
};
|
||||||
|
# Like `lib.mkPackageOption` but for a list of packages.
|
||||||
|
mkExtraPackagesOption =
|
||||||
|
name: defaultPkgsPath:
|
||||||
|
let
|
||||||
|
text = lib.strings.concatMapStringsSep " " (
|
||||||
|
pkgPath: "pkgs." + (lib.strings.concatStringsSep "." pkgPath)
|
||||||
|
) defaultPkgsPath;
|
||||||
|
in
|
||||||
|
lib.mkOption {
|
||||||
|
description = "Extra ${name} Packages.";
|
||||||
|
type = lib.types.listOf lib.types.package;
|
||||||
|
default = builtins.map (pkgPath: lib.attrsets.getAttrFromPath pkgPath pkgs) defaultPkgsPath;
|
||||||
|
defaultText = lib.literalExpression "[ ${text} ]";
|
||||||
|
example = [ ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
{ lib, ... }:
|
{ lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkEnableOption mkOption types;
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
mkDisableOption =
|
inherit (import ../lib.nix { inherit lib; }) mkDisableOption;
|
||||||
desc:
|
|
||||||
mkEnableOption desc
|
|
||||||
// {
|
|
||||||
default = true;
|
|
||||||
example = false;
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.jhome.nvim = {
|
options.jhome.nvim = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue