summaryrefslogtreecommitdiff
path: root/dotfiles/common/.zsh/modules/Config/uninstallfns.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-26 17:36:38 -0600
committerCraig Jennings <c@cjennings.net>2026-01-26 17:36:38 -0600
commitdada2f255daaa2fb493ec8c7d47e2a8123aea494 (patch)
tree0c0eeb84bb7b6e66a2d7f41cdfd061b25f80cc14 /dotfiles/common/.zsh/modules/Config/uninstallfns.sh
parentd50e5955837788fc69b4d5bc74cb574b859ed31a (diff)
refactor(dotfiles): rename system/ to common/ and remove unused configs
Rename dotfiles/system to dotfiles/common for clarity - indicates shared dotfiles used across all desktop environments (DWM, Hyprland). Removed config directories for uninstalled applications: - ghostty (using different terminal) - lf (using ranger instead) - mopidy (using mpd instead) - nitrogen (X11-only, obsolete for Wayland) - pychess (not installed) - JetBrains (not installed via archsetup) - youtube-dl (using yt-dlp with different config location) Kept audacious config for potential future use. Updated all references in archsetup, CLAUDE.md, todo.org, and validation.sh. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'dotfiles/common/.zsh/modules/Config/uninstallfns.sh')
-rwxr-xr-xdotfiles/common/.zsh/modules/Config/uninstallfns.sh59
1 files changed, 59 insertions, 0 deletions
diff --git a/dotfiles/common/.zsh/modules/Config/uninstallfns.sh b/dotfiles/common/.zsh/modules/Config/uninstallfns.sh
new file mode 100755
index 0000000..7c22388
--- /dev/null
+++ b/dotfiles/common/.zsh/modules/Config/uninstallfns.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+fndir=$DESTDIR$fndir
+scriptdir=$DESTDIR$scriptdir
+
+allfuncs="`grep ' functions=' ${dir_top}/config.modules |
+ sed -e '/^#/d' -e '/ link=no/d' -e 's/^.* functions=//'`"
+
+allfuncs="`cd ${sdir_top}; echo ${allfuncs}`"
+
+case $fndir in
+ *$VERSION*)
+ # Version specific function directory, safe to remove completely.
+ rm -rf $fndir
+ ;;
+ *) # The following will only apply with a custom install directory
+ # with no version information. This is rather undesirable.
+ # But let's try and do the best we can.
+ # We now have a list of files, but we need to use `test -f' to check
+ # (1) the glob got expanded (2) we are not looking at directories.
+ for file in $allfuncs; do
+ case $file in
+ Scripts/*)
+ ;;
+ *)
+ if test -f $sdir_top/$file; then
+ if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
+ file=`echo $file | sed -e 's%%^(Functions|Completion)/%'`
+ rm -f $fndir/$file
+ else
+ bfile="`echo $file | sed -e 's%^.*/%%'`"
+ rm -f "$fndir/$bfile"
+ fi
+ fi
+ ;;
+ esac
+ done
+ ;;
+esac
+
+case $scriptdir in
+ *$VERSION*)
+ # $scriptdir might be the parent of fndir.
+ rm -rf $scriptdir
+ ;;
+ *) for file in $allfuncs; do
+ case $file in
+ Scripts/*)
+ if test -f $sdir_top/$file; then
+ bfile="`echo $file | sed -e 's%^.*/%%'`"
+ rm -f "$scriptdir/$bfile"
+ fi
+ ;;
+ esac
+ done
+ ;;
+esac
+
+exit 0