#!/bin/sh cd "$(dirname "$0")" || exit OP="ln -s" DIR="$(pwd)" CONF=${XDG_CONFIG_HOME:-$HOME/.config/} CONTEXT=${COLORSCHEME:-$(find "$DIR/ntr/contexts" | sort -R | head -1)} _help() { echo 'Available targets: profile nim ntr splug xinit | sx Xresources bspwm sxhkd polybar dunst rofi lc firefox kitty elvish kak (kakoune) mpv mpd ncmpcpp xonotic ranger zathura neofetch gtk user-dirs pulse fontconfig' } _install() { if [ -e "$2" ]; then echo "$2 already exists. Skipping..." else mkdir -p "$(dirname "$2")" $OP "$DIR/$1" "$2" && echo "$1 installed to $2" fi } _render() { ntr -i:"$DIR/ntr/templates/$1" -o:"$2" "$CONTEXT" } for arg; do case $arg in h|help) _help;; -c) OP="cp -r";; nim) _install nim.nim "$CONF/nim/config.nims";; bspwm) _install bspwm "$CONF/bspwm/bspwmrc";; sxhkd) _install sxhkd "$CONF/sxhkd/sxhkdrc";; dunst) _render dunst "$CONF/dunst/dunstrc";; polybar) _render polybar "$CONF/polybar/config";; rofi) _install rofi.rasi "$CONF/rofi/config.rasi";; mpv) _install mpv/mpv.conf "$CONF/mpv/mpv.conf" _install mpv/input.conf "$CONF/mpv/input.conf" _install mpv/script-opts "$CONF/mpv/script-opts";; mpd) _install mpd "$CONF/mpd/mpd.conf";; ncmpcpp) _install ncmpcpp "$CONF/ncmpcpp/config";; lc) _install lc.ini "$CONF/lc/config";; kak) _install kak/kakrc "$CONF/kak/kakrc" for i in kak/autoload/* ; do _install "$i" "$CONF/kak/autoload/$(basename "$i")" done;; zathura) _render zathura "$CONF/zathura/zathurarc";; ranger) _install ranger/commands.py "$CONF/ranger/commands.py" _install ranger/rc.conf "$CONF/ranger/rc.conf" _install ranger/rifle.conf "$CONF/ranger/rifle.conf" _install ranger/scope.sh "$CONF/ranger/scope.sh";; kitty) _install kitty/kitty.conf "$CONF/kitty/kitty.conf" _install kitty/diff.conf "$CONF/kitty/diff.conf" _render kitty-colors "$CONF/kitty/colors.conf";; firefox) FF_DIR=$HOME/.mozilla/firefox/$(ls -t "$HOME/.mozilla/firefox/" | grep -v profiles.ini | head -1) FF_CHROME=$FF_DIR/chrome _install firefox/user.js "$FF_DIR/user.js" _install firefox/userChrome.css "$FF_CHROME/userChrome.css" nim e -p:$HOME/sns/ firefox/homepage.nims >"$HOME/.mozilla/firefox/homepage.html" _render homepage.css "$HOME/.mozilla/firefox/homepage.css";; elvish) _install elvish/rc.elv "$HOME/.elvish/rc.elv" for i in elvish/lib/* ; do _install "$i" "$HOME/.elvish/lib/$(basename "$i")" done;; neofetch) _install neofetch.sh "$CONF/neofetch/config.conf";; gitconfig) _install gitconfig.ini "$CONF/git/config";; xbps-src) _install xbps-src "$XBPS_DISTDIR/etc/conf";; profile) _install profile "$HOME/.profile";; Xresources) _render Xresources "$HOME/.Xresources";; XCompose) _install XCompose "$HOME/.XCompose";; xinit) _install sx.sh "$HOME/.xinitrc";; sx) _install sx.sh "$CONF/sx/sxrc";; ntr) _install ntr "$CONF/ntr";; splug) _install splug.toml "$CONF/splug/config.toml";; gtk) _install gtk/gtkrc "${GTK2_RC_FILES:-$HOME/.gtkrc}" _install gtk/settings.ini "$CONF/gtk-3.0/settings.ini";; user-dirs) _install user-dirs "$CONF/user-dirs.dirs";; pulse) _install pulse/default.pa "$CONF/pulse/default.pa" _install pulse/daemon.conf "$CONF/pulse/daemon.conf";; fontconfig) _install fontconfig "$CONF/fontconfig/fonts.conf";; xonotic) _install xonotic.cfg "$HOME/.xonotic/autoexec.cfg";; *) echo "Not recognized argument: $arg";; esac done