Compare commits

...

2 commits

Author SHA1 Message Date
bb1b491abc
refactor(modules/lib): move more options to it
Some checks failed
/ check (push) Failing after 4s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Has been skipped
/ build-vm (push) Has been skipped
/ report-size (push) Has been skipped
This should keep all my custom options in the same place.
2025-04-22 14:14:49 +02:00
e71ab67615
chore(deps): lock file maintenance
All checks were successful
/ check (push) Successful in 8s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 2s
/ report-size (push) Successful in 4s
2025-04-22 00:00:17 +02:00
4 changed files with 30 additions and 31 deletions

6
flake.lock generated
View file

@ -342,11 +342,11 @@
"nuschtosSearch": [] "nuschtosSearch": []
}, },
"locked": { "locked": {
"lastModified": 1745182672, "lastModified": 1745244491,
"narHash": "sha256-xh4O19Hre9LiJk0Aa3ZY/XlN00gAGhRUxCRz15j00JU=", "narHash": "sha256-UlwXkytxGW/aokB9fZ6cSznYKM9ynDLHqhjcPve0KL4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "6c4e2d9279e57369203ecfa159696c6a2af22130", "rev": "7a58109958d14bcece8ec3e2085e41ea3351e387",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -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";

View file

@ -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 "![${description}](${url})"; defaultText = lib.literalMD "![${description}](${url})";
}; };
# 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 = [ ];
};
} }

View file

@ -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 = {