chore: add alias 'flakeup' using direnv to quickly upgrade nix packages

This commit is contained in:
Nico 2025-05-03 16:15:58 +10:00
parent 2cdd49b396
commit 1acc767910

32
.envrc Normal file
View file

@ -0,0 +1,32 @@
# ~/.direnvrc
# Clear existing aliases when entering a directory
export tmpdir="$(mktemp -d -t dots-alias-direnv.XXXXXX)"
rm -rf "/tmp/dots-alias-direnv.*"
export_alias() {
# Create a new alias
local name=$1
shift
local alias_dir="$tmpdir/.envrc-aliases"
local alias_file="$alias_dir/$name"
local oldpath="$PATH"
# If this is the first time we're calling export_alias, add to PATH once
if ! [[ ":$PATH:" == *":$alias_dir:"* ]]; then
mkdir -p "$alias_dir"
PATH_add "$alias_dir"
fi
# Write the alias file
cat <<EOT >$alias_file
#!/usr/bin/env bash
PATH="$oldpath"
$@
EOT
chmod +x "$alias_file"
}
export_alias flakeup 'nix flake update && git commit flake.lock -m "nix: update flake to latest unstable nixpkgs" && FLAKE=$PWD nh os switch'