Devenv config
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
aider-chat
|
||||
sops
|
||||
just
|
||||
devenv
|
||||
];
|
||||
|
||||
imports = [
|
||||
|
||||
@@ -42,7 +42,7 @@ let tide_conf = builtins.readFile ./tide_config.fish; in
|
||||
|
||||
shellInit = ''
|
||||
set --universal fish_greeting
|
||||
set -g -x EDITOR "vim"
|
||||
set -g -x EDITOR "emacsclient -a \"emacs -nw\""
|
||||
set -g -x ALTERNATE_EDITOR "vim"
|
||||
set -g -x TERMINAL "kitty"
|
||||
set -g -x LESS "--ignore-case --QUIET --RAW-CONTROL-CHARS"
|
||||
@@ -61,6 +61,40 @@ let tide_conf = builtins.readFile ./tide_config.fish; in
|
||||
command ssh $argv
|
||||
end
|
||||
|
||||
function mkenv --description "Initialize a devenv environment or configure its .envrc"
|
||||
argparse --name=mkenv h/here -- $argv
|
||||
or return 1 # Exit if parsing fails
|
||||
|
||||
# Default target directory is the current directory.
|
||||
set -l target_dir "."
|
||||
|
||||
# Check if we are inside a Git repository's working tree.
|
||||
if git rev-parse --is-inside-work-tree >/dev/null 2>&1
|
||||
if not set -q _flag_here; and not test -f devenv.nix
|
||||
set target_dir (git rev-parse --show-toplevel)
|
||||
end
|
||||
end
|
||||
|
||||
pushd "$target_dir"
|
||||
|
||||
# Check for the existence of the primary devenv configuration file.
|
||||
if not test -f "devenv.nix"
|
||||
devenv init
|
||||
else
|
||||
# If devenv.nix exists, check for the direnv configuration file.
|
||||
if not test -f ".envrc"
|
||||
echo 'eval "$(devenv direnvrc)"' > .envrc
|
||||
direnv allow
|
||||
end
|
||||
end
|
||||
|
||||
if test -f "devenv.nix"
|
||||
emacsclient devenv.nix
|
||||
else
|
||||
echo -e "\e[31mCould not open devenv.nix as it was not created.\e[0m"
|
||||
end
|
||||
end
|
||||
|
||||
if test -f $HOME/.cargo/env.fish
|
||||
source "$HOME/.cargo/env.fish"
|
||||
end
|
||||
@@ -73,10 +107,8 @@ let tide_conf = builtins.readFile ./tide_config.fish; in
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
ec = "emacsclient -n --alternate-editor=emacs";
|
||||
ec = "emacsclient -n --alternate-editor=\"emacs -nw\"";
|
||||
pubip = "curl icanhazip.com";
|
||||
redesktop = "kquitapp5 plasmashell && kstart5 plasmashell";
|
||||
pulsefix = "pulseaudio --kill; pulseaudio --start";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user