rebuild script now has a -U flag for updating the flake before rebuilding

This commit is contained in:
2026-02-23 20:55:43 -05:00
parent 2a0116c336
commit ae90dbf4c9
6 changed files with 63 additions and 39 deletions

44
flake.lock generated
View File

@@ -107,11 +107,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771523612,
"narHash": "sha256-ScRqXJaqDTonQ1cs7VKxPw5pO0TQ/OnErfjOKCHX4Ps=",
"lastModified": 1771834427,
"narHash": "sha256-B1j0ahVuxyZtpbFfy34gk2DjacimPIuzyzCPvDhvxI4=",
"owner": "9001",
"repo": "copyparty",
"rev": "6f1d6647546832c6640cbad88817e28fb63ea3ec",
"rev": "ab8bd0178b26a0b6c6406f7bae835d13b16ef188",
"type": "github"
},
"original": {
@@ -125,11 +125,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1771469470,
"narHash": "sha256-GnqdqhrguKNN3HtVfl6z+zbV9R9jhHFm3Z8nu7R6ml0=",
"lastModified": 1771881364,
"narHash": "sha256-A5uE/hMium5of/QGC6JwF5TGoDAfpNtW00T0s9u/PN8=",
"owner": "nix-community",
"repo": "disko",
"rev": "4707eec8d1d2db5182ea06ed48c820a86a42dc13",
"rev": "a4cb7bf73f264d40560ba527f9280469f1f081c6",
"type": "github"
},
"original": {
@@ -144,11 +144,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1771568980,
"narHash": "sha256-/qbVs2dZVibeg9mDfeKIapmJ3glHgCOYxUuOf8pRKcQ=",
"lastModified": 1771897953,
"narHash": "sha256-43d9HLWOASfHYxG3JSNpMUAFQA114y00VpGRGanPdaM=",
"owner": "km-clay",
"repo": "fern",
"rev": "9b8c8d704b5e1485e15e29d7340cf8a62aa8fb52",
"rev": "05f731b8c517fc19d65c8da5977b68fd04cf4346",
"type": "github"
},
"original": {
@@ -328,11 +328,11 @@
]
},
"locked": {
"lastModified": 1771531206,
"narHash": "sha256-1R3Wx6KUkMb4x4E5UOhW9p6rqiexzSGGWxZqSHqW5n0=",
"lastModified": 1771851181,
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "91be7cce763fa4022c7cf025a71b0c366d1b6e77",
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
"type": "github"
},
"original": {
@@ -434,11 +434,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1771522877,
"narHash": "sha256-dqnkEwXPWuI8MW38kKjs880qaVA+WEWziz5liznzLYA=",
"lastModified": 1771865886,
"narHash": "sha256-hqoGotv4iNiYmIzQtBQziDANCEQ1L1vtsGODtJGlBgM=",
"ref": "refs/heads/main",
"rev": "9ea6d0e15fddccf321c035e83b007a55d6829dd9",
"revCount": 6902,
"rev": "bc09504ea50901bedf945859bf7bd4c739e1ed38",
"revCount": 6916,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -985,11 +985,11 @@
"systems": "systems_5"
},
"locked": {
"lastModified": 1771268051,
"narHash": "sha256-nGqPcngnezoT+/xAvw3UDjwdKP2MC4fO315A/Otb9eE=",
"lastModified": 1771737804,
"narHash": "sha256-7wn9qbzIQQgH8tnq4VwzuWEqEWpekuymlLyhY3vM/j8=",
"owner": "gerg-l",
"repo": "spicetify-nix",
"rev": "b930de84c561f62a0c39a6a57c2ab553a97e8495",
"rev": "6dd43010ac2458cc56a6ac5250349b9217a7a2ae",
"type": "github"
},
"original": {
@@ -1017,11 +1017,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1771541829,
"narHash": "sha256-jtrIUcFoZuS6R4P18907H0pPyHaGoF5Tomez7j3KIHs=",
"lastModified": 1771787992,
"narHash": "sha256-Vg4bGwwenNYI8p3nJTl9FRyeIyrjATeZrZr+GyUSDrw=",
"owner": "danth",
"repo": "stylix",
"rev": "cb73f89d3ecef7e790c42f828e2228ff82975de5",
"rev": "30054cca073b49b42a71289edec858f535b27fe9",
"type": "github"
},
"original": {

View File

@@ -1,11 +1,12 @@
{ lib, config, self, ... }:
{ lib, config, pkgs, self, ... }:
{
programs.fern = {
aliases = {
mv = "mv -v";
cp = "cp -vr";
gt = "gtrash";
gtp = "playshellsound ${self}/assets/sound/rm.wav";
gtp = "${pkgs.myScripts.playshellsound}/bin/playshellsound ${self}/assets/sound/rm.wav && gtrash put";
diff = "diff --color=auto";
sr = "source ~/.fernrc";
psg = "ps aux | grep -v grep | grep -i -e VSZ -e";
mkdir = "mkdir -p";

View File

@@ -13,6 +13,8 @@
FZF_DEFAULT_COMMAND = "fd";
FZF_DEFAULT_OPTS = "--height 40% --layout=reverse --border";
LESS = "-R"; # pager uses alt buffer
};
};
}

View File

@@ -8,13 +8,15 @@ in
programs.fern = {
settings.extraPreConfig = ''
prompt_topline() {
local last_cmd_status
local last_cmd_runtime
if [ "$?" -eq "0" ]; then
last_cmd_status="\e[1;32m\e[0m"
else
last_cmd_status="\e[1;31m\e[0m"
fi
user_and_host="\e[1m$USER\e[1;36m@\e[1;31m$HOST\e[0m"
last_runtime_raw="$(echo -p "\t")"
local user_and_host="\e[1m$USER\e[1;36m@\e[1;31m$HOST\e[0m"
local last_runtime_raw="$(echo -p "\t")"
if [ -z "$last_runtime_raw" ]; then
last_cmd_runtime=""
last_cmd_status=""
@@ -27,19 +29,19 @@ in
prompt_midline() {
git rev-parse --is-inside-work-tree > /dev/null 2>&1 || return
status="$(git status --porcelain 2>/dev/null)"
gitsigns=""
local gitsigns
local status="$(git status --porcelain 2>/dev/null)"
[ -n "$status" ] && echo "$status" | command grep -q '^ [MADR]' && gitsigns="$gitsigns!"
[ -n "$status" ] && echo "$status" | command grep -q '^??' && gitsigns="$gitsigns?"
[ -n "$status" ] && echo "$status" | command grep -q '^[MADR]' && gitsigns="$gitsigns+"
ahead="$(git rev-list --count @{upstream}..HEAD 2>/dev/null)"
behind="$(git rev-list --count HEAD..@{upstream} 2>/dev/null)"
local ahead="$(git rev-list --count @{upstream}..HEAD 2>/dev/null)"
local behind="$(git rev-list --count HEAD..@{upstream} 2>/dev/null)"
[ $ahead -gt 0 ] && gitsigns="$gitsigns"
[ $behind -gt 0 ] && gitsigns="$gitsigns"
branch="$(git branch --show-current 2>/dev/null)"
local branch="$(git branch --show-current 2>/dev/null)"
if [ -n "$gitsigns" ] || [ -n "$branch" ]; then
if [ -n "$gitsigns" ]; then
@@ -54,12 +56,14 @@ in
}
prompt() {
top="$(prompt_topline)"
mid="$(prompt_midline)"
bot="$(prompt_botline)"
dollar="$(echo -p "\$ ")"
dollar="$(echo -e "\e[1;32m$dollar\e[0m")"
echo -en "$top$mid$bot\n$dollar"
local top="$(prompt_topline)"
local mid="$(prompt_midline)"
local bot="$(prompt_botline)"
local dollar="$(echo -p "\$ ")"
local dollar="$(echo -e "\e[1;32m$dollar\e[0m")"
local prompt="$top$mid$bot\n$dollar"
echo -en "$prompt"
}
export PS1="\n\!prompt "
@@ -125,7 +129,7 @@ in
fi
}
gitcommit_sfx() {
output="$(git commit "$@")"
local output="$(git commit "$@")"
if [ "$?" -eq "0" ]; then
${shellsound} ${sndpath}/gitcommit.wav
echo "$output" | ${color-commit}
@@ -166,6 +170,13 @@ in
${shellsound} ${sndpath}/cd.wav
}
vipe() {
local tmp=$(mktemp)
$EDITOR "$tmp" >/dev/tty </dev/tty
cat "$tmp"
rm "$tmp"
}
if [ "$0" = "-fern" ]; then
${shellsound} $FLAKEPATH/assets/sound/login.wav
fi

View File

@@ -11,6 +11,9 @@
email = "kylerclay@proton.me";
name = "${username}";
};
alias = {
draft = "!if git rev-parse > /dev/null 2>&1; then echo \"$1\" >> $(git rev-parse --git-dir)/DRAFT_MSG; else exit 1; fi #";
};
core.pager = "delta";
interactive.diffFilter = "delta --color-only";
delta.navigate = "true";

View File

@@ -16,6 +16,7 @@ pkgs.writeShellApplication {
"a") if checkbools; then all=true; else echo -e "$usage" && exit 1; fi ;;
"s") if checkbools; then system=true; else echo -e "$usage" && exit 1; fi ;;
"h") if checkbools; then home=true; else echo -e "$usage" && exit 1; fi ;;
"U") if [ "$update" = false ]; then update=true; else echo -e "$usage" && exit 1; fi ;;
"n") if [ "$dry" = false ]; then dry=true; else echo -e "$usage" && exit 1; fi ;;
*) echo -e "$usage" && exit 1 ;;
esac
@@ -26,10 +27,14 @@ pkgs.writeShellApplication {
home=false
all=false
dry=false
update=false
played_start=false
hooray() { playshellsound "${self}/assets/sound/update.wav"; }
damn() { playshellsound "${self}/assets/sound/error.wav"; }
start() { playshellsound "${self}/assets/sound/nixswitch-start.wav"; }
start() { [ "$played_start" = false ] && playshellsound "${self}/assets/sound/nixswitch-start.wav" && played_start=true || true; }
update_done() { playshellsound "${self}/assets/sound/update_alt.wav"; }
usage="\033[1;4;38;2;243;139;168mUsage\033[0m: rebuild -h for home config, rebuild -s for sys config, rebuild -a for both. Including 'n' with the flag does a dry run, i.e. rebuild -nh"
@@ -43,6 +48,8 @@ pkgs.writeShellApplication {
dry_flag=""
[ "$dry" = true ] && dry_flag="-n"
[ "$update" = true ] && start && (cd "$FLAKEPATH" && nix flake update) && update_done
[ "$all" = true ] && if sudo sleep 0.1 && start && nh os switch $dry_flag -H "${host}" "$FLAKEPATH" && nh home switch $dry_flag -c "${host}Home" "$FLAKEPATH"; then hooray; else damn; fi
[ "$system" = true ] && start && if nh os switch $dry_flag -H "${host}" "$FLAKEPATH"; then hooray; else damn; fi
[ "$home" = true ] && start && if nh home switch $dry_flag -c "${host}Home" "$FLAKEPATH"; then hooray; else damn; fi