From c86e99d073ee08723536e88b3c10ceb94a5e5111 Mon Sep 17 00:00:00 2001
From: Alexander Gehrke <github@qwertyuiop.de>
Date: Tue, 16 Jul 2024 01:25:23 +0200
Subject: [PATCH] Add some more xdg-wrappers and dep: annotations to existing
 ones

---
 devel/g8            |  1 +
 xdg-wrappers/abcde  |  4 ++++
 xdg-wrappers/mbsync |  1 +
 xdg-wrappers/mvn    |  4 ++++
 xdg-wrappers/node   |  1 +
 xdg-wrappers/npm    |  1 +
 xdg-wrappers/rg     |  1 +
 xdg-wrappers/sbt    |  1 +
 xdg-wrappers/steam  | 32 ++++++++++++++++++++++++++++++++
 xdg-wrappers/wget   |  4 ++++
 10 files changed, 50 insertions(+)
 create mode 100755 xdg-wrappers/abcde
 create mode 100755 xdg-wrappers/mvn
 create mode 100755 xdg-wrappers/steam
 create mode 100755 xdg-wrappers/wget

diff --git a/devel/g8 b/devel/g8
index 2394d34..27f5a07 100755
--- a/devel/g8
+++ b/devel/g8
@@ -1,4 +1,5 @@
 #!/bin/zsh
+#dep:g8
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 G8=$(next-in-path g8 $0)
 
diff --git a/xdg-wrappers/abcde b/xdg-wrappers/abcde
new file mode 100755
index 0000000..f99b0ae
--- /dev/null
+++ b/xdg-wrappers/abcde
@@ -0,0 +1,4 @@
+#!/bin/zsh
+#dep:abcde
+source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
+$(next-in-path abcde $0) -c ${XDG_CONFIG_HOME:-$HOME/.config}/abcde/abcde.conf $@
diff --git a/xdg-wrappers/mbsync b/xdg-wrappers/mbsync
index e0368ec..8bf5def 100755
--- a/xdg-wrappers/mbsync
+++ b/xdg-wrappers/mbsync
@@ -1,3 +1,4 @@
 #!/bin/zsh
+#dep:mbsync
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 $(next-in-path mbsync $0) -c ${XDG_CONFIG_HOME:-$HOME/.config}/mbsyncrc $@
diff --git a/xdg-wrappers/mvn b/xdg-wrappers/mvn
new file mode 100755
index 0000000..44b8caf
--- /dev/null
+++ b/xdg-wrappers/mvn
@@ -0,0 +1,4 @@
+#!/bin/zsh
+#dep:mvn
+source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
+$(next-in-path mvn $0) -gs $XDG_CONFIG_HOME/maven/settings.xml $@
diff --git a/xdg-wrappers/node b/xdg-wrappers/node
index d3ffdd2..3355108 100755
--- a/xdg-wrappers/node
+++ b/xdg-wrappers/node
@@ -1,4 +1,5 @@
 #!/bin/zsh
+#dep:node
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
 $(next-in-path node $0) $@
diff --git a/xdg-wrappers/npm b/xdg-wrappers/npm
index 88d6b82..3d5012b 100755
--- a/xdg-wrappers/npm
+++ b/xdg-wrappers/npm
@@ -1,4 +1,5 @@
 #!/bin/zsh
+#dep:npm
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
 $(next-in-path npm $0) $@
diff --git a/xdg-wrappers/rg b/xdg-wrappers/rg
index 03269a6..09f1c3e 100755
--- a/xdg-wrappers/rg
+++ b/xdg-wrappers/rg
@@ -1,4 +1,5 @@
 #!/bin/zsh
+#dep:rg
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 RIPGREP_CONFIG_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/ripgreprc
 if [[ -e $RIPGREP_CONFIG_PATH ]]; then
diff --git a/xdg-wrappers/sbt b/xdg-wrappers/sbt
index 15f1b97..15b31ba 100755
--- a/xdg-wrappers/sbt
+++ b/xdg-wrappers/sbt
@@ -1,4 +1,5 @@
 #!/bin/zsh
+#dep:sbt
 source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
 opts=(
 	"-Dsbt.ivy.home=$XDG_CACHE_HOME/ivy"
diff --git a/xdg-wrappers/steam b/xdg-wrappers/steam
new file mode 100755
index 0000000..42c65cb
--- /dev/null
+++ b/xdg-wrappers/steam
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+#dep:steam
+
+FAKEHOME=${XDG_DATA_HOME:-$HOME/.local/share}/steam
+echo "Starting Steam in faked home $FAKEHOME" >&2
+
+# Symlink a file to the fake home
+link_dir() {
+	# Replace HOME with FAKEHOME in the link name
+	link_name=$(echo $1 | sed "s|^$HOME|$FAKEHOME|")
+
+	# Creates the link's parent directory and symlinks it
+	mkdir -p $(dirname $link_name)
+	if [ ! -d $link_name ]; then
+		echo "Linking $link_name" >&2
+		ln -s $1 $link_name
+	fi
+}
+
+mkdir -p $FAKEHOME
+
+link_dir $XDG_DATA_HOME   # ~/.local/share
+link_dir $XDG_CACHE_HOME  # ~/.cache
+link_dir $XDG_CONFIG_HOME # ~/.config
+
+# If .steam exists in ~/ and not in the fake home, move it to the fake home
+if [ -d $HOME/.steam ] && [ ! -d $FAKEHOME/.steam ]; then
+	echo "migrating $HOME/.steam to $FAKEHOME" >&2
+	mv $HOME/.steam $FAKEHOME/
+fi
+export HOME=$FAKEHOME
+exec /usr/bin/steam $@
diff --git a/xdg-wrappers/wget b/xdg-wrappers/wget
new file mode 100755
index 0000000..4c45eda
--- /dev/null
+++ b/xdg-wrappers/wget
@@ -0,0 +1,4 @@
+#!/bin/zsh
+#dep:wget
+source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
+$(next-in-path wget $0) --hsts-file="${XDG_DATA_HOME:-$HOME/.local/share}/wget-hsts" "$@"