diff options
-rw-r--r-- | flake.nix | 2 | ||||
-rwxr-xr-x | install | 1 | ||||
-rw-r--r-- | shellrc.d/nix | 18 |
3 files changed, 19 insertions, 2 deletions
@@ -15,7 +15,7 @@ zshrc = loadrc ./zshrc.d; packages = pkgs: rec { - shellrc-completion = pkgs.stdenv.mkDerivation rec { + shellrc-completion = pkgs.stdenv.mkDerivation { name = "shellrc-completion"; src = ./.; nativeBuildInputs = [ pkgs.installShellFiles ]; @@ -92,4 +92,3 @@ if $U_ZSH; then mkdir -p "$I_PREFIX/usr/share/zsh/site-functions" cp -r zsh-completion/. "$I_PREFIX/usr/share/zsh/site-functions" fi - diff --git a/shellrc.d/nix b/shellrc.d/nix new file mode 100644 index 0000000..ee207c9 --- /dev/null +++ b/shellrc.d/nix @@ -0,0 +1,18 @@ +# vim: ft=sh: +if command -v nix >/dev/null; then + +devzsh() { + local target="$1" + local flake dev + IFS='#' read flake dev <<<"$target" + if [ -z "$dev" ]; then + dev="$flake" + flake="personal" + if [ -z "$dev" ]; then + dev="default" + fi + fi + nix develop "$flake#$dev" -c zsh +} + +fi |