fish: add develop function
This commit is contained in:
parent
f1ebe05f1d
commit
68a46a0160
3 changed files with 37 additions and 0 deletions
|
|
@ -13,6 +13,7 @@ in {
|
||||||
./plugins.nix
|
./plugins.nix
|
||||||
./binds.nix
|
./binds.nix
|
||||||
./aliases.nix
|
./aliases.nix
|
||||||
|
./functions
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.home.fish.enable = mkEnableOption "";
|
options.ooknet.home.fish.enable = mkEnableOption "";
|
||||||
|
|
|
||||||
5
modules/home/console/shell/fish/functions/default.nix
Normal file
5
modules/home/console/shell/fish/functions/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./develop.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
31
modules/home/console/shell/fish/functions/develop.nix
Normal file
31
modules/home/console/shell/fish/functions/develop.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# get devshell names from flake
|
||||||
|
devShellNames = builtins.concatStringsSep " " (builtins.attrNames self.devShells.${pkgs.system});
|
||||||
|
in {
|
||||||
|
programs.fish = {
|
||||||
|
# add devshells completions to init script
|
||||||
|
interactiveShellInit = ''
|
||||||
|
complete -c develop -f -a "${devShellNames}"
|
||||||
|
'';
|
||||||
|
functions.develop = {
|
||||||
|
description = "Easily jump into any of the ooknet devshells";
|
||||||
|
body =
|
||||||
|
#fish
|
||||||
|
''
|
||||||
|
if test -n "$argv[1]"
|
||||||
|
if test -n "$FLAKE"
|
||||||
|
nix develop $FLAKE#$argv[1]
|
||||||
|
else
|
||||||
|
echo "error: FLAKE variable is not set";
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo "error: No argument was provided";
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue