Files
nix/hosts/common/configs/user/console/nix-develop/default.nix
Nikolaos Karaolidis d967d5d603 Add zsh completions
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-01-10 16:35:58 +00:00

30 lines
696 B
Nix

{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ lib, inputs, ... }:
{
home-manager.users.${user}.programs.zsh = {
shellAliases.nd = "nix-develop";
initExtra = let
devShells = lib.strings.concatStringsSep " " (lib.attrsets.mapAttrsToList (key: _: key) inputs.self.devShells);
in ''
nix-develop() {
if [ -z "$1" ]; then
echo "Usage: nix-develop <shell>"
return 1
fi
nix develop self#"$1" -c "$SHELL"
}
_nix-develop-completion() {
local shells=(${devShells})
compadd -- $shells
}
compdef _nix-develop-completion nix-develop
'';
};
}