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": []
},
"locked": {
"lastModified": 1745182672,
"narHash": "sha256-xh4O19Hre9LiJk0Aa3ZY/XlN00gAGhRUxCRz15j00JU=",
"lastModified": 1745244491,
"narHash": "sha256-UlwXkytxGW/aokB9fZ6cSznYKM9ynDLHqhjcPve0KL4=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "6c4e2d9279e57369203ecfa159696c6a2af22130",
"rev": "7a58109958d14bcece8ec3e2085e41ea3351e387",
"type": "github"
},
"original": {

View file

@ -1,7 +1,8 @@
{ lib, pkgs, ... }@attrs:
let
osConfig = attrs.osConfig or null;
inherit (lib) types;
inherit (import ../lib.nix { inherit lib; }) mkExtraPackagesOption;
osConfig = attrs.osConfig or null;
fromOs =
let
get =
@ -11,22 +12,6 @@ let
path: default: if osConfig == null then default else get path osConfig;
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 = {
email = lib.mkOption {
description = "Primary email address";

View file

@ -1,7 +1,4 @@
{ lib }:
let
inherit (lib) types;
in
{
# Like mkEnableOption but defaults to true
mkDisableOption =
@ -20,8 +17,31 @@ in
}:
lib.mkOption {
inherit description;
type = types.path;
type = lib.types.path;
default = builtins.fetchurl { inherit url sha256; };
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, ... }:
let
inherit (lib) mkEnableOption mkOption types;
mkDisableOption =
desc:
mkEnableOption desc
// {
default = true;
example = false;
};
inherit (import ../lib.nix { inherit lib; }) mkDisableOption;
in
{
options.jhome.nvim = {