diff --git a/config.yaml b/config.yaml index 2ce5596..1ac0e73 100644 --- a/config.yaml +++ b/config.yaml @@ -9,378 +9,378 @@ variables: ############################################################### - username: lelgenio - mail: disroot.org - cursor_size: 24 - editor: kak - tabs: false - key_layout: colemak - launcher: bmenu - terminal: alacritty - file_manager: thunar - bar: waybar - bar_pos: top - tmux: false + username: lelgenio + mail: disroot.org + cursor_size: 24 + editor: kak + tabs: false + key_layout: colemak + launcher: bmenu + terminal: alacritty + file_manager: thunar + bar: waybar + bar_pos: top + tmux: false - font: - mono: Hack - interface: Inter - size: - small: 12 - medium: 14 - big: 16 + font: + mono: Hack + interface: Inter + size: + small: 12 + medium: 14 + big: 16 ############################################################### profiles: ############################################################### - dark: - variables: - opacity: 0.98 + dark: + variables: + opacity: 0.98 - color: - type: dark - bg: '#202020' - bg_light: '#404040' - bg_dark: '#191919' - txt: '#FFFFFF' - nontxt: '#252525' + color: + type: dark + bg: '#202020' + bg_light: '#404040' + bg_dark: '#191919' + txt: '#FFFFFF' + nontxt: '#252525' - normal: - black: '#404040' - red: '#AB4642' - green: '#A1B56C' - yellow: '#E6C547' - blue: '#6C99DA' - magenta: '#C397D8' - cyan: '#70C0BA' - white: '#EAEAEA' + normal: + black: '#404040' + red: '#AB4642' + green: '#A1B56C' + yellow: '#E6C547' + blue: '#6C99DA' + magenta: '#C397D8' + cyan: '#70C0BA' + white: '#EAEAEA' - light: - variables: - opacity: 0.95 + light: + variables: + opacity: 0.95 - color: - type: light - bg: '#FAFAFA' - bg_light: '#A0A0A0' - bg_dark: '#EAEAEA' - txt: '#303030' - nontxt: '#E0E0E0' + color: + type: light + bg: '#FAFAFA' + bg_light: '#A0A0A0' + bg_dark: '#EAEAEA' + txt: '#303030' + nontxt: '#E0E0E0' - normal: - black: '#555555' - red: '#D54E53' - green: '#008800' - yellow: '#DBB704' - blue: '#0D68A8' - magenta: '#C397D8' - cyan: '#00A0A5' - white: '#FFFFFF' + normal: + black: '#555555' + red: '#D54E53' + green: '#008800' + yellow: '#DBB704' + blue: '#0D68A8' + magenta: '#C397D8' + cyan: '#00A0A5' + white: '#FFFFFF' ############################################################### # Accents {{{ ############################################################### - accent_red: {variables: {accent_color: "#D9534F"}} - accent_green: {variables: {accent_color: "#159828"}} - accent_blue: {variables: {accent_color: "#3465A3"}} - accent_pink: {variables: {accent_color: "#E91E63"}} - accent_teal: {variables: {accent_color: "#16A085"}} - accent_magenta: {variables: {accent_color: "#9C27B0"}} - accent_orange: {variables: {accent_color: "#D93200"}} + accent_red: {variables: {accent_color: "#D9534F"}} + accent_green: {variables: {accent_color: "#159828"}} + accent_blue: {variables: {accent_color: "#3465A3"}} + accent_pink: {variables: {accent_color: "#E91E63"}} + accent_teal: {variables: {accent_color: "#16A085"}} + accent_magenta: {variables: {accent_color: "#9C27B0"}} + accent_orange: {variables: {accent_color: "#D93200"}} ############################################################### # Keyboard Layouts ############################################################### - colemak: - variables: - key: - layout: colemak - left: n - down: e - up: i - right: o - next: l - tabL: U - tabR: Y - insertMode: s - insertQuit: kk + colemak: + variables: + key: + layout: colemak + left: n + down: e + up: i + right: o + next: l + tabL: U + tabR: Y + insertMode: s + insertQuit: kk - qwerty: - variables: - key: - layout: qwerty - left: h - down: j - up: k - right: l - next: l - tabL: I - tabR: O - insertMode: i - insertQuit: jj + qwerty: + variables: + key: + layout: qwerty + left: h + down: j + up: k + right: l + next: l + tabL: I + tabR: O + insertMode: i + insertQuit: jj ############################################################### # Main profile ############################################################### - main: - variables: - gtk_theme: "materia-{{@@ env['USER'] @@}}-{{@@ accent_color_name @@}}-{{@@ color.type @@}}" - kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}" - icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}" - cursor_theme: "capitaine-cursors{{@@ '-light' if color.type == 'light' @@}}" - dotfiles: - - ALL - include: - - "{{@@ key_layout @@}}" - - "{{@@ color_type @@}}" - - "accent_{{@@ accent_color_name @@}}" + main: + variables: + gtk_theme: "materia-{{@@ env['USER'] @@}}-{{@@ accent_color_name @@}}-{{@@ color.type @@}}" + kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}" + icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}" + cursor_theme: "capitaine-cursors{{@@ '-light' if color.type == 'light' @@}}" + dotfiles: + - ALL + include: + - "{{@@ key_layout @@}}" + - "{{@@ color_type @@}}" + - "accent_{{@@ accent_color_name @@}}" ############################################################### config: ############################################################### - backup: false - banner: false - keepdot: false - link_dotfile_default: nolink - link_on_import: nolink - longkey: false - default_actions: - - notify - func_file: - - funcs.py - filter_file: - - funcs.py + backup: false + banner: false + keepdot: false + link_dotfile_default: nolink + link_on_import: nolink + longkey: false + default_actions: + - notify + func_file: + - funcs.py + filter_file: + - funcs.py ############################################################### dynvariables: ############################################################### - color_type: test -n "$_COLOR_TYPE" && echo "$_COLOR_TYPE" || echo dark - accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red - blender_version: blender --version | head -n1 | sed -E 's|^Blender (.*)\..*|\1|g' + color_type: test -n "$_COLOR_TYPE" && echo "$_COLOR_TYPE" || echo dark + accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red + blender_version: blender --version | head -n1 | sed -E 's|^Blender (.*)\..*|\1|g' ############################################################### actions: ############################################################### - notify: > - notify-send - "Updating dotfiles" - "{{@@ _dotfile_abs_dst.lstrip(env['HOME']) @@}}" + notify: > + notify-send + "Updating dotfiles" + "{{@@ _dotfile_abs_dst.lstrip(env['HOME']) @@}}" - reload_mako: makoctl reload - lesskey: lesskey - reload_fish: pkill -SIGHUP fish + reload_mako: makoctl reload + lesskey: lesskey + reload_fish: pkill -SIGHUP fish - vimplug: > - nvim - +PlugUpgrade - +PlugInstall - +PlugUpdate - +qall - &> /dev/null - & disown + vimplug: > + nvim + +PlugUpgrade + +PlugInstall + +PlugUpdate + +qall + &> /dev/null + & disown - crontab_install: | - crontab -r - crontab ~/.local/share/crontab + crontab_install: | + crontab -r + crontab ~/.local/share/crontab - vdirsyncer: | - yes | vdirsyncer discover & disown + vdirsyncer: | + yes | vdirsyncer discover & disown - lnMail: | - ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc - ln -fs ~/.config/neomutt/urlview ~/.urlview + lnMail: | + ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc + ln -fs ~/.config/neomutt/urlview ~/.urlview - sponsorblock: > - test -d ~/.config/mpv/scripts/sponsorblock_shared || - git clone - https://github.com/po5/mpv_sponsorblock - ~/.config/mpv/scripts; + sponsorblock: > + test -d ~/.config/mpv/scripts/sponsorblock_shared || + git clone + https://github.com/po5/mpv_sponsorblock + ~/.config/mpv/scripts; - rm -f - ~/.config/mpv/scripts/LICENSE - ~/.config/mpv/scripts/README.md + rm -f + ~/.config/mpv/scripts/LICENSE + ~/.config/mpv/scripts/README.md - ranger_icons: - git clone - https://github.com/alexanderjeurissen/ranger_devicons - ~/.config/ranger/plugins/ranger_devicons + ranger_icons: + git clone + https://github.com/alexanderjeurissen/ranger_devicons + ~/.config/ranger/plugins/ranger_devicons - # bootstrap scripts - pam_gpg: _pam-gpg-strap - make_theme: _make_theme - install_meta: install_meta + # bootstrap scripts + pam_gpg: _pam-gpg-strap + make_theme: _make_theme + install_meta: install_meta - post: - # by having it be the last thing to run - # and quickly disowning, - # we can make it run only once - reload_sway: > - pidof swaymsg &>/dev/null || - swaymsg reload & - disown + post: + # by having it be the last thing to run + # and quickly disowning, + # we can make it run only once + reload_sway: > + pidof swaymsg &>/dev/null || + swaymsg reload & + disown ############################################################### dotfiles: # Just a bunch of paths and action mappings ############################################################### - ############################################################### - # Regular programs - ############################################################### + ############################################################### + # Regular programs + ############################################################### - sway: - src: sway - dst: ~/.config/sway - actions: - - reload_sway + sway: + src: sway + dst: ~/.config/sway + actions: + - reload_sway - fish: - src: fish - dst: ~/.config/fish - actions: - - reload_fish + fish: + src: fish + dst: ~/.config/fish + actions: + - reload_fish - mako: - src: mako.conf - dst: ~/.config/mako/config - actions: - - reload_mako + mako: + src: mako.conf + dst: ~/.config/mako/config + actions: + - reload_mako - waybar: - src: waybar - dst: ~/.config/waybar - actions: - - reload_sway + waybar: + src: waybar + dst: ~/.config/waybar + actions: + - reload_sway - kitty: - src: kitty.conf - dst: ~/.config/kitty/kitty.conf - actions: - - reload_fish + kitty: + src: kitty.conf + dst: ~/.config/kitty/kitty.conf + actions: + - reload_fish - nvim: - src: nvim.vim - dst: ~/.config/nvim/init.vim - actions: - - vimplug + nvim: + src: nvim.vim + dst: ~/.config/nvim/init.vim + actions: + - vimplug - mutt: - src: neomutt/ - dst: ~/.config/neomutt/ - actions: - - lnMail + mutt: + src: neomutt/ + dst: ~/.config/neomutt/ + actions: + - lnMail - lesskey: - src: lesskey - dst: ~/.lesskey - actions: - - lesskey + lesskey: + src: lesskey + dst: ~/.lesskey + actions: + - lesskey - ranger: - src: ranger - dst: ~/.config/ranger - actions: - - ranger_icons + ranger: + src: ranger + dst: ~/.config/ranger + actions: + - ranger_icons - mpv: - src: mpv.conf - dst: ~/.config/mpv/mpv.conf - actions: - - sponsorblock + mpv: + src: mpv.conf + dst: ~/.config/mpv/mpv.conf + actions: + - sponsorblock - dav: - src: dav/ - dst: ~/.config - actions: - - vdirsyncer + dav: + src: dav/ + dst: ~/.config + actions: + - vdirsyncer - tmux: - src: tmux.conf - dst: ~/.tmux.conf + tmux: + src: tmux.conf + dst: ~/.tmux.conf - ############################################################### - # Other - ############################################################### + ############################################################### + # Other + ############################################################### - scripts: - src: scripts - dst: ~/.local/bin - actions: - - make_theme + scripts: + src: scripts + dst: ~/.local/bin + actions: + - make_theme - wallpapers: - src: wallpapers - dst: ~/.local/share/wallpapers + wallpapers: + src: wallpapers + dst: ~/.local/share/wallpapers - mime: - src: mime/ - dst: ~/ + mime: + src: mime/ + dst: ~/ - crontab: - src: crontab - dst: ~/.local/share/crontab - actions: - - crontab_install + crontab: + src: crontab + dst: ~/.local/share/crontab + actions: + - crontab_install - theme: - src: theme - dst: ~/ + theme: + src: theme + dst: ~/ - clang-format: - src: clang-format - dst: ~/.clang-format + clang-format: + src: clang-format + dst: ~/.clang-format - gpg-agent: - src: gpg-agent.conf - dst: ~/.gnupg/gpg-agent.conf - actions: - - pam_gpg + gpg-agent: + src: gpg-agent.conf + dst: ~/.gnupg/gpg-agent.conf + actions: + - pam_gpg - packages: - src: metaPKGBUILD - dst: ~/.local/share/metapkg/PKGBUILD - actions: - - install_meta + packages: + src: metaPKGBUILD + dst: ~/.local/share/metapkg/PKGBUILD + actions: + - install_meta - ############################################################### - # Big pahts - ############################################################### + ############################################################### + # Big pahts + ############################################################### - code-oss: - src: vscode.jsonc - dst: "~/.config/Code - OSS/User/settings.json" + code-oss: + src: vscode.jsonc + dst: "~/.config/Code - OSS/User/settings.json" - telegram-theme: - src: ./telegram.palette - dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette + telegram-theme: + src: ./telegram.palette + dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette - blender: - "src": blenderTheme.xml - "dst": "~/.config/blender/{{@@ blender_version @@}}/scripts/presets/interface_theme/blenderTheme.xml" + blender: + "src": blenderTheme.xml + "dst": "~/.config/blender/{{@@ blender_version @@}}/scripts/presets/interface_theme/blenderTheme.xml" - ############################################################### - # .config/, no actions - ############################################################### + ############################################################### + # .config/, no actions + ############################################################### - alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" } - bat: { "src":"bat", "dst":"~/.config/bat/config" } - fusuma: { "src":"fusuma.yml", "dst":"~/.config/fusuma/config.yml" } - git: { "src":"git", "dst":"~/.config/git" } - imv: { "src":"imv.conf", "dst":"~/.config/imv/config" } - kakoune: { "src":"kak", "dst":"~/.config/kak" } - kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" } - mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" } - qutebrowser: { "src":"qutebrowser", "dst":"~/.config/qutebrowser" } - rclone: { "src":"rclone.conf", "dst":"~/.config/rclone/rclone.conf" } - wofi: { "src":"wofi", "dst":"~/.config/wofi" } - zathura: { "src":"zathura.conf", "dst":"~/.config/zathura/zathurarc" } + alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" } + bat: { "src":"bat", "dst":"~/.config/bat/config" } + fusuma: { "src":"fusuma.yml", "dst":"~/.config/fusuma/config.yml" } + git: { "src":"git", "dst":"~/.config/git" } + imv: { "src":"imv.conf", "dst":"~/.config/imv/config" } + kakoune: { "src":"kak", "dst":"~/.config/kak" } + kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" } + mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" } + qutebrowser: { "src":"qutebrowser", "dst":"~/.config/qutebrowser" } + rclone: { "src":"rclone.conf", "dst":"~/.config/rclone/rclone.conf" } + wofi: { "src":"wofi", "dst":"~/.config/wofi" } + zathura: { "src":"zathura.conf", "dst":"~/.config/zathura/zathurarc" } diff --git a/dotfiles/mpd.conf b/dotfiles/mpd.conf index 1775155..6069eca 100644 --- a/dotfiles/mpd.conf +++ b/dotfiles/mpd.conf @@ -27,15 +27,15 @@ input { # Audio Output ################################################################ # audio_output { - type "pulse" - name "My Pulse Output" - mixer_type "hardware" + type "pulse" + name "My Pulse Output" + mixer_type "hardware" } audio_output { - type "fifo" - name "FIFO Output" - path "/tmp/mpd.fifo" - format "44100:16:2" + type "fifo" + name "FIFO Output" + path "/tmp/mpd.fifo" + format "44100:16:2" } # Normalization automatic volume adjustments ################################## diff --git a/dotfiles/scripts/compile b/dotfiles/scripts/compile index 2fefdf5..66b3023 100755 --- a/dotfiles/scripts/compile +++ b/dotfiles/scripts/compile @@ -13,26 +13,26 @@ base="${file%.*}" cd "$dir" || exit textype() { \ - command="pdflatex" - ( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex" - $command --output-directory="$dir" "$base" && - grep -i addbibresource "$file" >/dev/null && - biber --input-directory "$dir" "$base" && - $command --output-directory="$dir" "$base" && - $command --output-directory="$dir" "$base" - } + command="pdflatex" + ( sed 5q "$file" | grep -i -q 'xelatex' ) && command="xelatex" + $command --output-directory="$dir" "$base" && + grep -i addbibresource "$file" >/dev/null && + biber --input-directory "$dir" "$base" && + $command --output-directory="$dir" "$base" && + $command --output-directory="$dir" "$base" + } case "$file" in - *\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;; - *\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;; - *\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;; - *\.[rR]md) Rscript -e "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" ;; - *\.tex) textype "$file" ;; - *\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;; - *config.h) sudo make install ;; + *\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;; + *\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;; + *\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;; + *\.[rR]md) Rscript -e "require(rmarkdown); rmarkdown::render('$file', quiet=TRUE)" ;; + *\.tex) textype "$file" ;; + *\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;; + *config.h) sudo make install ;; *\.c) cc "$file" -o "$base" && "$base" ;; - *\.py) python "$file" ;; - *\.go) go run "$file" ;; - *\.sent) setsid sent "$file" 2>/dev/null & ;; - *) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;; + *\.py) python "$file" ;; + *\.go) go run "$file" ;; + *\.sent) setsid sent "$file" 2>/dev/null & ;; + *) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;; esac diff --git a/dotfiles/scripts/pulse-sink b/dotfiles/scripts/pulse-sink index 4620888..f063a25 100755 --- a/dotfiles/scripts/pulse-sink +++ b/dotfiles/scripts/pulse-sink @@ -9,13 +9,13 @@ then pacmd set-card-profile 0 output:hdmi-stereo+input:analog-stereo elif [ "$out" = "Speaker" ] || [ "$out" = "Fone" ] then - pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo + pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo - if [ "$out" = "Speaker" ] - then - pacmd set-sink-port @DEFAULT_SINK@ analog-output-speaker - else - pacmd set-sink-port @DEFAULT_SINK@ analog-output-headphones - fi + if [ "$out" = "Speaker" ] + then + pacmd set-sink-port @DEFAULT_SINK@ analog-output-speaker + else + pacmd set-sink-port @DEFAULT_SINK@ analog-output-headphones + fi fi pamixer --set-volume "$vol" diff --git a/dotfiles/scripts/sway-screenshare b/dotfiles/scripts/sway-screenshare index 84fc3da..f493d38 100755 --- a/dotfiles/scripts/sway-screenshare +++ b/dotfiles/scripts/sway-screenshare @@ -1,46 +1,46 @@ #!/bin/sh set -x if ! lsmod | grep v4l2loopback > /dev/null; then - echo "Adding v42loopback module to kernel" - sudo modprobe v4l2loopback + echo "Adding v42loopback module to kernel" + sudo modprobe v4l2loopback fi geometry(){ - windowGeometries=$( - # `height - 1` is there because of: https://github.com/ammen99/wf-recorder/pull/56 (I could remove it if it's merged, maybe) - swaymsg -t get_workspaces -r | jq -r '.[] | select(.focused) | .rect | "\(.x),\(.y) \(.width)x\(.height - 1)"'; \ - swaymsg -t get_outputs -r | jq -r '.[] | select(.active) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' - ) - geometry=$(slurp -b "#45858820" -c "#45858880" -w 3 -d <<< "$windowGeometries") || exit $? - echo $geometry + windowGeometries=$( + # `height - 1` is there because of: https://github.com/ammen99/wf-recorder/pull/56 (I could remove it if it's merged, maybe) + swaymsg -t get_workspaces -r | jq -r '.[] | select(.focused) | .rect | "\(.x),\(.y) \(.width)x\(.height - 1)"'; \ + swaymsg -t get_outputs -r | jq -r '.[] | select(.active) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' + ) + geometry=$(slurp -b "#45858820" -c "#45858880" -w 3 -d <<< "$windowGeometries") || exit $? + echo $geometry } { if pidof wf-recorder > /dev/null && pidof ffplay > /dev/null then - if pidof ffplay > /dev/null; then - pkill ffplay > /dev/null - fi - if pidof wf-recorder > /dev/null; then - pkill wf-recorder > /dev/null - fi - notify-send -t 2000 "Wayland recording has been stopped" + if pidof ffplay > /dev/null; then + pkill ffplay > /dev/null + fi + if pidof wf-recorder > /dev/null; then + pkill wf-recorder > /dev/null + fi + notify-send -t 2000 "Wayland recording has been stopped" else - if ! pidof wf-recorder > /dev/null; then - geometry=$(geometry) || exit $? - wf-recorder --muxer=v4l2 --codec=rawvideo --file=/dev/video2 --geometry="$geometry" & - fi - if ! pidof ffplay; then - swaymsg assign [class=ffplay] workspace 11 + if ! pidof wf-recorder > /dev/null; then + geometry=$(geometry) || exit $? + wf-recorder --muxer=v4l2 --codec=rawvideo --file=/dev/video2 --geometry="$geometry" & + fi + if ! pidof ffplay; then + swaymsg assign [class=ffplay] workspace 11 - unset SDL_VIDEODRIVER - ffplay /dev/video2 -fflags nobuffer & - sleep 0.5 - # a hack so FPS is not dropping - swaymsg [class=ffplay] floating enable - # swaymsg [class=ffplay] move position 1900 1000 - # swaymsg focus tiling - fi - notify-send -t 2000 "Wayland recording has been started" + unset SDL_VIDEODRIVER + ffplay /dev/video2 -fflags nobuffer & + sleep 0.5 + # a hack so FPS is not dropping + swaymsg [class=ffplay] floating enable + # swaymsg [class=ffplay] move position 1900 1000 + # swaymsg focus tiling + fi + notify-send -t 2000 "Wayland recording has been started" fi } > ~/.wayland-share-screen.log 2>&1