From 0db4036c299519e4fe1b206ea6f5ffe13125d6b3 Mon Sep 17 00:00:00 2001 From: Syed Daanish Date: Sat, 11 Jul 2026 17:33:35 +0100 Subject: [PATCH] Make editor function work with flakes --- home/fish/config.fish | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/home/fish/config.fish b/home/fish/config.fish index 598bea3..e9e1b63 100644 --- a/home/fish/config.fish +++ b/home/fish/config.fish @@ -1,7 +1,7 @@ set -gx fish_greeting function nix - if test "$argv[1]" = "develop" + if test "$argv[1]" = "develop"; and test (count $argv) -eq 1 command nix develop -c fish $argv[2..-1] else if test "$argv[1]" = "shell" env IN_NIX_SHELL=shell nix $argv @@ -9,6 +9,7 @@ function nix command nix $argv end end + function a for arg in $argv if string match -q '*/' $arg @@ -19,13 +20,7 @@ function a end end end -function y - set tmp (mktemp -t "yazi-cwd.XXXXXX") - yazi $argv --cwd-file="$tmp" - if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] - builtin cd -- "$cwd" - end -end + function g if git rev-parse --git-dir >/dev/null 2>&1 gitui @@ -33,13 +28,29 @@ function g echo "Not inside a Git repository." end end + +function y + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi $argv --cwd-file="$tmp" + if set cwd (cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] + builtin cd -- "$cwd" + end +end + function editor set pos (cat ~/dotfiles/.pos) y $pos if test -e ./p.vim - nvim -S ./p.vim + set cmd nvim -S ./p.vim else - nvim + set cmd nvim + end + if test -e ./flake.nix + and not contains -- "$IN_NIX_SHELL" pure impure + and command nix develop --command true 2>/dev/null + command nix develop --command $cmd + else + command $cmd end echo $PWD > ~/dotfiles/.pos end