nix-community.nixvim/modules/dependencies.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

73 lines
1.6 KiB
Nix
Raw Normal View History

2025-04-06 17:17:51 +02:00
{
lib,
config,
pkgs,
...
}:
let
cfg = config.dependencies;
packages = {
2025-04-07 22:47:41 +02:00
bat.default = "bat";
2025-04-07 22:59:49 +02:00
cornelis.default = "cornelis";
2025-04-07 17:16:13 +02:00
ctags.default = "ctags";
2025-04-06 17:17:51 +02:00
curl.default = "curl";
2025-04-07 17:26:05 +02:00
direnv.default = "direnv";
2025-04-07 18:03:28 +02:00
distant.default = "distant";
2025-04-07 18:21:01 +02:00
fish.default = "fish";
2025-04-07 22:50:16 +02:00
fzf = {
default = "fzf";
example = "pkgs.skim";
};
2025-04-07 16:03:09 +02:00
gcc.default = "gcc";
2025-04-07 18:00:41 +02:00
gh.default = "gh";
2025-04-06 17:21:24 +02:00
git = {
default = "git";
example = [ "gitMinimal" ];
};
2025-04-07 23:16:39 +02:00
glow.default = "glow";
2025-04-07 17:22:34 +02:00
go.default = "go";
2025-04-07 23:09:51 +02:00
lazygit.default = "lazygit";
2025-04-07 17:28:21 +02:00
lean.default = "lean4";
2025-04-07 17:32:48 +02:00
ledger.default = "ledger";
2025-04-07 18:08:21 +02:00
manix.default = "manix";
2025-04-07 16:01:03 +02:00
nodejs = {
default = "nodejs";
example = "pkgs.nodejs_22";
};
2025-04-07 22:45:59 +02:00
plantuml.default = "plantuml";
2025-04-07 18:36:51 +02:00
ripgrep.default = "ripgrep";
2025-04-07 18:55:09 +02:00
sd.default = "sd";
sed.default = "gnused";
2025-04-07 17:18:17 +02:00
texpresso.default = "texpresso";
2025-04-07 18:22:32 +02:00
tinymist.default = "tinymist";
2025-04-07 23:19:01 +02:00
tmux.default = "tmux";
2025-04-07 15:55:20 +02:00
tree-sitter.default = "tree-sitter";
2025-04-07 17:10:53 +02:00
typst.default = "typst";
2025-04-06 17:21:36 +02:00
ueberzug.default = "ueberzugpp";
2025-04-07 18:24:49 +02:00
websocat.default = "websocat";
2025-04-07 23:15:25 +02:00
wezterm.default = "wezterm";
2025-04-07 15:49:34 +02:00
which.default = "which";
2025-04-07 18:18:23 +02:00
yazi.default = "yazi";
2025-04-07 23:13:42 +02:00
yq.default = "yq";
2025-04-07 23:11:12 +02:00
zk.default = "zk";
2025-04-06 17:17:51 +02:00
};
mkDependencyOption = name: properties: {
enable = lib.mkEnableOption "Add ${name} to dependencies.";
package = lib.mkPackageOption pkgs name properties;
};
in
{
options.dependencies = lib.mapAttrs mkDependencyOption packages;
config = {
extraPackages = lib.pipe cfg [
builtins.attrValues
(builtins.filter (p: p.enable))
(builtins.map (p: p.package))
];
};
}