start using GNU stow

add more configurations to the dotfiles directory
This commit is contained in:
2025-05-30 15:22:23 +02:00
parent 5e41320faf
commit 519455fac7
20 changed files with 204 additions and 0 deletions

29
.local/bin/buildconfig Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
BUILD_CONFIG=
# try to find a valid build config path
if [ -n "${1+x}" ] && [ -f "$1" ] && [[ "$(basename "$1")" == ".buildconfig" ]]; then BUILD_CONFIG="$1" # first check if a build config has been specified, and whether it's a valid path
elif [ -n "${1+x}" ]; then echo "E: the specified path '$1' is not a valid path!"; exit 1
elif [[ -f "$PWD/.buildconfig" ]]; then BUILD_CONFIG="$PWD/.buildconfig" # then check if there is a build config in the current working directory
elif [[ -f "$HOME/.buildconfig" ]]; then BUILD_CONFIG="$HOME/.buildconfig" # then check if there is a build config in the home directory
else $EDITOR .buildconfig
#else echo "E: could not find a .buildconfig file and none was specified!"; exit 1
fi
source "$BUILD_CONFIG"
[ -z "${cmd+x}" ] && { echo "E: cmd was not set! '$BUILD_CONFIG'"; exit 1; }
[ -z "${arg+x}" ] && { echo "E: arg was not set! '$BUILD_CONFIG'"; exit 1; }
# export the environment variables if they've been set
if [[ -n ${env+x} ]]; then
for var in "${!env[@]}"; do
export "$var=${env[$var]}"
done
fi
# execute the command with the arguments
# don't mind if the user made arguments separate out, that would likely be the user's intention
$cmd "$arg"
exit $?

BIN
.local/bin/coinflip Executable file

Binary file not shown.

2
.local/bin/cpusetcores Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
sudo "$HOME/.local/share/cpusetcores" "$@" -v

2
.local/bin/emcc Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
"$HOME/.local/share/emsdk/upstream/emscripten/emcc" "$@"

2
.local/bin/emsdk Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
"$HOME/.local/share/emsdk/emsdk" "$@"

17
.local/bin/git-leaderboard Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
if [ -z ${1+x} ]; then
echo -e "\033[91mdidn't include a file exstension. (eg. \".cs\")"
exit -1
fi
# get all the files with the file extension
git ls-files | grep -E ".*\\$1" |
# run git blame on each file, which shows the commit for each line
xargs -n 1 git blame --line-porcelain |
# aquire the authors of this output and sort it
grep "^author " | sort |
# count all the unique authors and sort by number
uniq -c | sort -nr

5
.local/bin/java-prime Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
export __NV_PRIME_RENDER_OFFLOAD=1
export __VK_LAYER_NV_optimus=NVIDIA_only
export __GLX_VENDOR_LIBRARY_NAME=nvidia
exec java "$@" --no-window

2
.local/bin/prime-run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"

66
.local/bin/prime-run-conf Executable file
View File

@@ -0,0 +1,66 @@
#!/bin/python
import os
from sys import stderr
def error(msg: str):
print(f"\033[91m{msg}\033[0m", file=stderr)
def validate_path(path: str, outdir: str, outpath: str) -> bool:
if (os.path.isdir(outdir) == False):
error(f"'{outdir}' does not exist! can't write .desktop file!")
return False
if (os.path.exists(outpath)):
error(f"'{outpath}' already exists!")
return False
if (os.path.isfile(path) == False):
error(f"file does not exist: '{path}'")
return False
return True
def create_desktop_file(path: str) -> int:
outdir = os.environ['HOME'] + "/.local/share/applications"
outpath = outdir + "/" + os.path.basename(path)
if (validate_path(path, outdir, outpath) == False):
return 1
f_in = open(path, "r")
f_out = open(outpath, "w")
while (True):
ln = f_in.readline();
if (len(ln) == 0):
break
if (ln.startswith("Exec=")):
lns = ln.split('=', 1)
ln = f"{lns[0]}=prime-run {lns[1]}"
f_out.write(ln)
f_in.close()
f_out.close()
return 0
def main(argc: int, argv: list[str]) -> int:
if (argc <= 1):
error("incorrect amount of arguments! expected: 'desktop file path'")
return 1
err = 0
i = 1
while (i < argc):
err |= create_desktop_file(argv[i])
i += 1
return err
if __name__ == "__main__":
import sys
exit(main(len(sys.argv), sys.argv));

13
.local/bin/unzip-all Executable file
View File

@@ -0,0 +1,13 @@
#/bin/bash
if [ -z ${var+2} ]; then
echo -e "\033[91mno parameters were given!\033[0m"
fi
for i in $2; do
readonly fname="$(basename $i .*)"
mkdir "$fname"
cd "$fname"
unzip "../$i"
cd -
done

6
.local/bin/uwu Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
while true; do
printf "owo "
sleep 0.25
done

14
.local/bin/xfullscreen-toggle Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/sh
WIN=$(xdotool getwindowfocus)
STATE=$(xprop -id "$WIN" _NET_WM_STATE)
# check if fullscreen is present in the state
if echo "$STATE" | grep -q '_NET_WM_STATE_FULLSCREEN'; then
wmctrl -ir "$WIN" -b remove,fullscreen
exit $?
else
# If not fullscreen, add it
wmctrl -ir "$WIN" -b add,fullscreen
exit $?
fi

BIN
.local/share/cpusetcores Executable file

Binary file not shown.