Files
copnix/modules/home/zellij/home-zellij-ide-command.ulu.nix
T
2026-08-19 13:21:21 +03:00

40 lines
1.0 KiB
Nix

{ ... }:
{
flake.homeModules.home-zellij-ide-command =
{ config, pkgs, ... }:
{
home.packages = [
(pkgs.writeShellApplication {
name = "ide";
runtimeInputs = [
config.programs.zellij.finalPackage
pkgs.coreutils
pkgs.gnugrep
];
text = ''
case "''${1:-}" in
-h | --help)
echo "usage: ide [directory]"
echo
echo "opens re-attaches to a Zellij session named after the"
echo "directory, running Helix in the 'ide' layout."
exit 0
;;
esac
cd "''${1:-.}"
session=$(basename "$PWD")
session=$(printf '%s' "$session" | tr -c 'A-Za-z0-9._-' '-')
if zellij list-sessions --short 2>/dev/null | grep -qx "$session"; then
exec zellij attach "$session"
fi
exec zellij --session "$session" --new-session-with-layout ide
'';
})
];
};
}