diff --git a/.gitignore b/.gitignore index 02979f9..2333b4f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,18 @@ -colors/gen/vendor -colors/gen/tmp *.lock *.log *.pid *.tmp *.secret -/.repositories -/.env/ + +# TODO: should be unnecessary once color generation is homegrown +/colors/gen/vendor +/colors/gen/tmp + +# keep the pipelines but hide their results +/bin/pipelines/*/*/* + +# a place to keep secrets per-env +/env/*/.hidden + +# ... and a place to keep shared secrets +/env/.hidden diff --git a/Makefile b/Makefile index 0aa3c27..f2feca5 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,6 @@ MAKEFILE_PATH ?= $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) -ALERT_AGREEMENT_FILE ?= "$(MAKEFILE_PATH)/.agreed-to-erasing-files.lock" default: install install: - ./setup + cd ${MAKEFILE_PATH} && ./setup.bash diff --git a/de/bspwm/config b/apps/de/bspwm/config similarity index 55% rename from de/bspwm/config rename to apps/de/bspwm/config index 27a9d34..8deecdc 100755 --- a/de/bspwm/config +++ b/apps/de/bspwm/config @@ -1,21 +1,17 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh -BORDER_WIDTH=5 # change in bspwmrc -export WINDOW_GAP=25 -DESKTOPS=(dev web gfx env play chat misc mon out util) +export WINDOW_GAP=0 +NUM_DESKTOPS=10 +DESKTOPS=$(seq "$NUM_DESKTOPS") BSPWM_MONITORS=$(bspc query -M | tac) -MONITOR_COUNT=$(echo "${BSPWM_MONITORS}" | wc -w | awk '{ printf $1 }') -NUM_DESKTOPS=${#DESKTOPS[@]} +MONITOR_COUNT=$(<<< "$BSPWM_MONITORS" wc -w | awk '{ printf $1 }') PER_MONITOR=$((NUM_DESKTOPS / MONITOR_COUNT)) -REVERSE_DESKTOP_ORDERING=0 +REVERSE_DESKTOP_ORDERING=${REVERSE_DESKTOP_ORDERING:-0} -# allow a per-device config to override options -if [ -f "$EDFP/bspwm" ]; then - source "$EDFP/bspwm" -fi +. maybe_source_env_file bspwm -bspc config normal_border_color "$(xrdb -query | sed -ne 's/.*background:\s*//p')" +bspc config normal_border_color "$(xrdb -query | sed -ne 's/.*background:\s*//p')" bspc config focused_border_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')" bspc config active_border_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')" bspc config presel_feedback_color "$(xrdb -query | sed -ne 's/.*color0\?4:\s*//p')" @@ -26,34 +22,29 @@ bspc config gapless_monocle true bspc config pointer_modifier "mod4" bspc config remove_unplugged_monitors true bspc config remove_disabled_monitors true - -bspc config window_gap "$WINDOW_GAP" +bspc config window_gap "$WINDOW_GAP" bspc rule -a "*" split_dir=right i=1 -for mon in ${BSPWM_MONITORS}; do +for mon in $BSPWM_MONITORS; do max=$((i + PER_MONITOR - 1)) screens= for j in $(seq $i $max); do - ind=${DESKTOPS[$((j - 1))]} - screens="${screens}${ind} " + screens="${screens}${j} " done bspc monitor "$mon" -d $screens i=$((max + 1)) done -if [[ $REVERSE_DESKTOP_ORDERING -eq 1 ]]; then +if [ $REVERSE_DESKTOP_ORDERING -eq 1 ]; then prev_mon= for mon in ${BSPWM_MONITORS}; do - if [[ ! -z $prev_mon ]]; then + if [ ! -z $prev_mon ]; then bspc monitor "$mon" --swap "$prev_mon" fi prev_mon="$mon" done fi -# allow a per-device config to override options -if [ -f "$EDFP/bspwm-after" ]; then - source "$EDFP/bspwm-after" -fi +. maybe_source_env_file bspwm-after diff --git a/apps/de/bspwm/rc b/apps/de/bspwm/rc new file mode 100755 index 0000000..1aa721f --- /dev/null +++ b/apps/de/bspwm/rc @@ -0,0 +1,26 @@ +#!/usr/bin/env sh + +NO_COMPTON=1 +START_BAR=1 +BAR_COMMAND="startbar" + +BSPWM_STATE_FILE="$HOME/.bspwm_state" + +if [ -e "$BSPWM_STATE" ] ; then + bspc wm -l "$BSPWM_STATE" + rm "$BSPWM_STATE" +fi + +export BORDER_WIDTH=5 +. "$DOTFILES_PATH/apps/de/bspwm/config" + +[ -f "$DOTFILES_PATH/apps/de/x/loadresources" ] && "$DOTFILES_PATH/apps/de/x/loadresources" +[ -f "$HOME/.fehbg" ] && "$HOME/.fehbg" & +[ "$NO_COMPTON" -ne 1 ] && has_command compton && compton & +[ "$START_BAR" -eq 1 ] && has_command "${BAR_COMMAND}" && "${BAR_COMMAND}" & +has_command urxvtd && urxvtd & +has_command dunst && dunst & +has_command sxhkd && sxhkd -m -1 & +has_command unclutter && unclutter & + +bspc wm -o diff --git a/de/bspwm/fehbg b/apps/de/bspwm/wallpapers similarity index 100% rename from de/bspwm/fehbg rename to apps/de/bspwm/wallpapers diff --git a/apps/de/bspwm/wmstart b/apps/de/bspwm/wmstart new file mode 100755 index 0000000..5f68f09 --- /dev/null +++ b/apps/de/bspwm/wmstart @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +bspwm diff --git a/de/compton/compton.conf b/apps/de/compton/compton.conf similarity index 100% rename from de/compton/compton.conf rename to apps/de/compton/compton.conf diff --git a/de/dunst/dunstrc b/apps/de/dunst/rc similarity index 100% rename from de/dunst/dunstrc rename to apps/de/dunst/rc diff --git a/de/gtk/2rc b/apps/de/gtk/2rc similarity index 64% rename from de/gtk/2rc rename to apps/de/gtk/2rc index 0edf52b..64b31df 100644 --- a/de/gtk/2rc +++ b/apps/de/gtk/2rc @@ -1,3 +1,3 @@ gtk-icon-theme-name = "elementary" gtk-theme-name = "Arc-Dark" -gtk-font-name = "Iosevka 9" +gtk-font-name = "Iosevka Type 10" diff --git a/de/gtk/3settings.ini b/apps/de/gtk/3settings.ini similarity index 77% rename from de/gtk/3settings.ini rename to apps/de/gtk/3settings.ini index 010c652..ac5a291 100644 --- a/de/gtk/3settings.ini +++ b/apps/de/gtk/3settings.ini @@ -1,5 +1,5 @@ [Settings] gtk-icon-theme-name = elementary gtk-theme-name = Arc-Dark -gtk-font-name = Iosevka 9 +gtk-font-name = Iosevka Type 10 gtk-application-prefer-dark-theme = true diff --git a/de/libinput/gestures.conf b/apps/de/libinput/gestures.conf similarity index 100% rename from de/libinput/gestures.conf rename to apps/de/libinput/gestures.conf diff --git a/de/libinput/touchpad.conf b/apps/de/libinput/touchpad.conf similarity index 84% rename from de/libinput/touchpad.conf rename to apps/de/libinput/touchpad.conf index cc9c592..6c7b894 100644 --- a/de/libinput/touchpad.conf +++ b/apps/de/libinput/touchpad.conf @@ -5,4 +5,5 @@ Section "InputClass" MatchIsTouchpad "on" Option "Tapping" "on" Option "NaturalScrolling" "true" + Option "DisableWhileTyping" "false" EndSection diff --git a/apps/de/mako/config b/apps/de/mako/config new file mode 100644 index 0000000..f65e8a5 --- /dev/null +++ b/apps/de/mako/config @@ -0,0 +1,4 @@ +max-visible=5 +default-timeout=30000 +background-color=#111111 +border-color=#666666 diff --git a/de/bar/polybar-config b/apps/de/polybar/config similarity index 97% rename from de/bar/polybar-config rename to apps/de/polybar/config index 5c9fee2..0ece15a 100644 --- a/de/bar/polybar-config +++ b/apps/de/polybar/config @@ -102,16 +102,16 @@ format-mounted-prefix-foreground = ${colors.icon} ; ########################### ; [module/bspwm] -ws-icon-0 = dev; -ws-icon-1 = web; -ws-icon-2 = gfx; -ws-icon-3 = env; -ws-icon-4 = play; -ws-icon-5 = chat; -ws-icon-6 = out; -ws-icon-7 = mon; -ws-icon-8 = misc; -ws-icon-9 = util; +ws-icon-0 = 1; +ws-icon-1 = 2; +ws-icon-2 = 3; +ws-icon-3 = 4; +ws-icon-4 = 5; +ws-icon-5 = 6; +ws-icon-6 = 7; +ws-icon-7 = 8; +ws-icon-8 = 9; +ws-icon-9 = 10; ws-icon-default = ♟ ; misc icon:  @@ -387,7 +387,7 @@ margin-bottom = ${env:WINDOW_GAP:0} [module/microphone] type = custom/script -exec = $DOTFILES_PATH/de/bar/mic.bash +exec = $DOTFILES_PATH/apps/de/polybar/mic.sh tail = true format =