dotfiles/nix/nushell-plugins.nix

43 lines
1.3 KiB
Nix

{ config, lib, pkgs, ... }:
{
options.nushell-plugins = lib.mkOption { };
config.nushell-plugins = {
jobcontrol = (builtins.getFlake
"git+https://git.mzte.de/LordMZTE/nu-plugin-jobcontrol.git?rev=3a02910ff138691ecf3557722411e53261d900d4"
).outputs.packages.${pkgs.system}.default;
dbus = (pkgs.rustPlatform.buildRustPackage rec {
name = "nu-plugin-dbus";
version = "0.13.0";
#src = pkgs.fetchCrate {
# inherit version;
# pname = "nu_plugin_dbus";
# hash = "sha256-UBpqgw6qqcEDW5bbSWJ/aaSSbEG5B/D6nvcbokX8aeA=";
#};
src = pkgs.fetchFromGitHub {
owner = "LordMZTE";
repo = "nu_plugin_dbus";
rev = "a682d442cef12a84553c5fcd56c8f10f2cbda0e6";
hash = "sha256-BazLyxZ7h3C+8llr0SkdM5+o9HiDXHZMtIPJjY05n4E=";
};
cargoHash = "sha256-DxcOLycX4kjff+XgParpGjio+MxpEA5t0+9x7XHrKgU=";
nativeBuildInputs = with pkgs; [ pkg-config ];
buildInputs = with pkgs; [ dbus ];
});
inherit (pkgs.nushellPlugins) polars formats query;
};
config.output.packages.nushell-plugins = pkgs.writeTextFile {
name = "add-plugins.nu";
text = builtins.concatStringsSep "\n"
(lib.mapAttrsToList
(name: d:
''
plugin add ${lib.getBin d}/bin/nu_plugin_${name}
'')
config.nushell-plugins);
};
}