summaryrefslogtreecommitdiff
path: root/dotfiles/system/.profile.d/arch-linux-downgrade.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-26 16:57:37 -0600
committerCraig Jennings <c@cjennings.net>2026-01-26 16:57:37 -0600
commit7d490453085ae084ce0e3875952eae1d3ad7b1ab (patch)
treed6f76ded02d541107271dc2b04cac34435c81a26 /dotfiles/system/.profile.d/arch-linux-downgrade.sh
parentfeb8dfaae9b0172c9d24e7e0d115754a467b4627 (diff)
refactor(shell): reorganize shell config for proper separation
Restructure shell configuration to follow standard conventions: - .profile: Environment variables only (POSIX compatible) - .bash_profile: NEW - sources .profile and .bashrc for login shells - .bashrc: Bash-specific settings, sources .bashrc.d/ - .zshrc: Zsh-specific settings, sources .zshrc.d/ New modular directories: - .bashrc.d/: aliases, emacs, fzf, git, media, utilities - .zshrc.d/: same as bashrc.d plus arch-downgrade (zsh-only) - .profile.d/: reduced to env-only files (display, framework, auto-tmux) Fixes: - Remove duplicate .profile sourcing in .bashrc - Remove broken XDG_CURRENT_DESKTOP=GNOME line from display.sh - Move aliases/functions from .profile to appropriate .d/ directories - Shell-specific init (zoxide, fzf) now in .bashrc/.zshrc directly - FreeBSD bindkey fix now in .zshrc directly Also adds CLAUDE.md session context file. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'dotfiles/system/.profile.d/arch-linux-downgrade.sh')
-rwxr-xr-xdotfiles/system/.profile.d/arch-linux-downgrade.sh50
1 files changed, 0 insertions, 50 deletions
diff --git a/dotfiles/system/.profile.d/arch-linux-downgrade.sh b/dotfiles/system/.profile.d/arch-linux-downgrade.sh
deleted file mode 100755
index d97a2dc..0000000
--- a/dotfiles/system/.profile.d/arch-linux-downgrade.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-
-# arch-linux-downgrade.sh
-# Craig Jennings <c@cjennings.net>
-# Downgrade an explicitly installed Arch package, chosen via fzf.
-
-# Config:
-# export DG_HELPER=pacman # or yay, paru, etc. Must support -Qe, -Qi, -Si
-# export DG_FZF_OPTS="..." # optional extra fzf flags
-
-dg() {
- emulate -L zsh
- set -u
- set -o pipefail
-
- local helper="${DG_HELPER:-pacman}"
-
- # Check dependencies
- for cmd in "$helper" fzf sudo downgrade awk sort; do
- if ! command -v "${cmd%% *}" >/dev/null 2>&1; then
- print -u2 -- "Missing dependency: $cmd"
- return 1
- fi
- done
-
- # List explicitly installed packages
- local selection
- selection="$(
- "$helper" -Qe 2>/dev/null \
- | fzf --no-multi \
- --prompt="Pick package to downgrade > " \
- --height=80% \
- --reverse \
- --delimiter=' ' \
- --preview-window=right:60%:wrap \
- --preview "$helper -Qi {1} 2>/dev/null || $helper -Si {1}" \
- ${DG_FZF_OPTS:-}
- )"
-
- # If fzf or pacman fails, just return
- [[ $? -ne 0 || -z "$selection" ]] && return 0
-
- local pkg
- pkg="$(print -r -- "$selection" | head -n1 | awk '{print $1}')"
-
- if ! sudo downgrade "$pkg"; then
- print -u2 -- "Downgrade failed for $pkg"
- return 1
- fi
-}