{ # Snowfall Lib provides a customized `lib` instance with access to your flake's library # as well as the libraries available from your flake's inputs. lib, # You also have access to your flake's inputs. inputs, # All other arguments come from NixPkgs. You can use `pkgs` to pull packages or helpers # programmatically or you may add the named attributes as arguments here. pkgs, stdenv, ... }: pkgs.writeShellApplication { name = "edit-config"; runtimeInputs = with pkgs; [ fd fzf ]; text = '' FILE=$(fd -H -t f . ~/.dotfiles | fzf --query "$1") if [[ "$FILE" != "" ]]; then $EDITOR "$FILE" else exit 1 fi read -rp 'Run "home-manager switch"? [Yn]: ' yn case $yn in Y | y | Yes | yes | "" ) home-manager switch;; * ) echo "Not switching home-manager configuration";; esac ''; }