dotfiles/config.yaml

631 regels
17 KiB
YAML

# _ _ _
# __| | ___ | |_ __| |_ __ ___ _ __
# / _` |/ _ \| __/ _` | '__/ _ \| '_ \
# | (_| | (_) | || (_| | | | (_) | |_) |
# \__,_|\___/ \__\__,_|_| \___/| .__/
# |_|
###############################################################
variables:
###############################################################
username: lelgenio
shell: fish
editor: kak
cursor_size: 24
tabs: false
indent_width: 4
key_layout: colemak
launcher: bmenu
terminal: alacritty
file_manager: thunar
bar: waybar
bar_pos: top
tmux: false
starship: false
asdf: false
user_svdir: $HOME/.config/runit
accent_fg: '#ffffff'
font:
mono: Hack Nerd Font
interface: Liberation Sans
size:
small: 12
medium: 14
big: 16
mail:
personal:
from: Leonardo Eugênio
user: lelgenio@disroot.org
imap: disroot.org
smtp: disroot.org
pass: disroot.org
work:
from: Leonardo Eugênio
user: leonardo@wopus.com.br
imap: imap.wopus.com.br
smtp: smtp.wopus.com.br
pass: Work/wopus_email
nextcloud:
name: disroot
user: lelgenio
host: cloud.disroot.org
pass: disroot.org
###############################################################
profiles:
###############################################################
###############################################################
# Themes
###############################################################
dark:
variables:
background: ~/.local/share/backgrounds/assembly_dark.png
opacity: 0.98
color:
type: dark
bg: '#202020'
bg_light: '#404040'
bg_dark: '#191919'
txt: '#FFFFFF'
nontxt: '#252525'
random_range: "[a-f]"
normal:
black: '#404040'
red: '#AB4642'
green: '#A1B56C'
yellow: '#E6C547'
blue: '#6C99DA'
magenta: '#C397D8'
cyan: '#70C0BA'
white: '#EAEAEA'
#non standard
orange: '#FF7500'
brown: '#A07040'
light:
variables:
background: ~/.local/share/backgrounds/assembly_light.png
opacity: 0.98
color:
type: light
bg: '#FFFFFF'
bg_light: '#A0A0A0'
bg_dark: '#EEEEEE'
txt: '#303030'
nontxt: '#D0D0D0'
random_range: "[0-4]"
normal:
black: '#555555'
red: '#D54E53'
green: '#008800'
yellow: '#B3A400'
blue: '#0D68A8'
magenta: '#C397D8'
cyan: '#00A0A5'
white: '#999999'
#non standard
orange: '#FF7500'
brown: '#A07040'
###############################################################
# Accents
###############################################################
accent_red: {variables: {accent_color: "#F44336"}}
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
hints: arstwfuyneio
left: n
down: e
up: i
right: o
next: l
tabL: U
tabR: Y
insertMode: s
insertQuit: kk
menu: s
qwerty:
variables:
key:
layout: qwerty
hints: asdfwejklçio
left: h
down: j
up: k
right: l
next: l
tabL: I
tabR: O
insertMode: i
insertQuit: jj
menu: d
###############################################################
common:
###############################################################
variables:
# gtk_theme: "Mint-Y{{@@ '-Dark' if color.type == 'dark' else '' @@}}-{{@@ accent_color_name.capitalize() @@}}"
gtk_theme: "Orchis-{{@@ accent_color_name.capitalize() @@}}-{{@@ color.type.capitalize() @@}}"
kvantum_theme: "Materia{{@@ color.type.capitalize() @@}}"
# icon_theme: "Mint-Y-{{@@ 'Dark' if color.type == 'dark' else 'Darker' @@}}-{{@@ accent_color_name.capitalize() @@}}"
icon_theme: "Papirus-{{@@ color.type.capitalize() @@}}"
cursor_theme: "Breeze_Obsidian"
# cursor_theme: "Breeze_Snow"
# cursor_theme: "capitaine-cursors"
include:
- "{{@@ key_layout @@}}"
- "{{@@ color_type @@}}"
- "accent_{{@@ accent_color_name @@}}"
dotfiles:
- alacritty
- backgrounds
- bat
- blender
- clang-format
- code-oss
- crontab
- dav
- deemix
- firefox
- fish
- fonts
- foot
- git
- gpg-agent
- i3
- imv
- kak-lsp
- kakoune
- kanshi
- kitty
- lesskey
- libinput-gestures
- mako
- mangohud
- mime
- mpd
- mpv
- mutt
- mypy
- nvim
- pqivrc
- prettierrc
- qutebrowser
- ranger
- rclone
- rustfmt
- scripts
- starship
- sway
- swaylock
- telegram-theme
- theme
- thunar
- tmux
- vscode
- waybar
- wofi
- xdpw
- zathura
###############################################################
# Os profiles
###############################################################
voidlinux:
include:
- "common"
variables:
supervisor: runit
dotfiles:
- runit_services
artixlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
variables:
supervisor: runit
archlinux:
include:
- "common"
dotfiles:
- arch-packages
- paru
- systemd
variables:
supervisor: systemd
###############################################################
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
###############################################################
dynvariables:
###############################################################
color_type: test -n "$_COLOR_TYPE" && echo "$_COLOR_TYPE" || echo dark
accent_color_name: test -n "$_ACCENT_COLOR" && echo "$_ACCENT_COLOR" || echo red
firefox_profile: cat ~/.mozilla/firefox/profiles.ini | grep '^Default' | head -n1 | cut -d= -f2
deezer_arl: pass show Entertainment/Deezer | awk '/^arl:/ {print $2}'
main_password: _pass_get "{{@@ mail.personal.pass @@}}" | base64
###############################################################
actions:
###############################################################
notify: >
test -n "$DISPLAY" &&
notify-send --app-name=dotdrop
"Updating dotfiles"
"{{@@ _dotfile_abs_dst.lstrip(env['HOME']) @@}}" ||
true
reload_sway: swaymsg reload & disown
reload_mako: makoctl reload
reload_waybar: pkill -SIGUSR2 waybar
reload_runit_sv:
which sv 2> /dev/null &&
env SVDIR="{{@@ user_svdir @@}}" sv reload "{0}" ||
true
restart_systemd_sv:
systemctl --user restart "${0}"
enable_systemd_sv:
systemctl --user enable --now "{0}" &
groups_install: _groups_install
lesskey: lesskey
reload_fish: pkill -SIGHUP fish
dotdrop_completions: |
comp_path="$HOME/.config/fish/completions/dotdrop.fish"
comp_url="https://raw.githubusercontent.com/deadc0de6/dotdrop/master/completion/dotdrop.fish"
if ! test -f "$comp_path"; then
wget -qO "$comp_path" "$comp_url" ||
rm "$comp_path"
fi
reload_qutebrowser: qutemsg config-source & disown
vimplug: >
nvim +PlugUpgrade +PlugInstall +PlugUpdate +qall
> /dev/null &
reload_kakoune: >
kak -l | xargs -r -n1
kak -e "config-source;quit" -ui dummy -c &
crontab_install: |
crontab -r
crontab ~/.local/share/crontab
vdirsyncer: |
yes | vdirsyncer discover &
lnMail: |
ln -fs ~/.config/neomutt/mbsyncrc ~/.mbsyncrc
ln -fs ~/.config/neomutt/urlview ~/.urlview
ln -fs ~/.config/neomutt/msmtprc ~/.msmtprc
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
qt6ct: |
cd "$HOME/.config"
rm -rf "qt6ct/"
cp -r "qt5ct/" "qt6ct"
mv "qt6ct/qt5ct.conf" "qt6ct/qt6ct.conf"
install_arch_meta: install_arch_meta
install_mpv: _mpv_install
filter_backgrounds: _backgrouds_filter
apply_gsetting_gnome: gsettings set org.gnome.desktop.interface {0} {1}
###############################################################
dotfiles: # Just a bunch of paths and action mappings
###############################################################
###############################################################
# Regular programs
###############################################################
sway:
src: sway
dst: ~/.config/sway
actions:
- reload_sway
i3:
src: i3
dst: ~/.config/i3
fish:
src: fish
dst: ~/.config/fish
actions:
- dotdrop_completions
- reload_fish
starship:
src: starship.toml
dst: ~/.config/starship.toml
git:
src: git
dst: ~/.config/git
mako:
src: mako.conf
dst: ~/.config/mako/config
actions:
- reload_mako
waybar:
src: waybar
dst: ~/.config/waybar
actions:
- reload_waybar
kitty:
src: kitty.conf
dst: ~/.config/kitty/kitty.conf
actions:
- reload_fish
nvim:
src: nvim.vim
dst: ~/.config/nvim/init.vim
actions:
- vimplug
kakoune:
src: kak
dst: ~/.config/kak
actions:
- reload_kakoune
mutt:
src: neomutt/
dst: ~/.config/neomutt/
actions:
- lnMail
qutebrowser:
src: qutebrowser
dst: ~/.config/qutebrowser
actions:
- reload_qutebrowser
lesskey:
src: lesskey
dst: ~/.lesskey
actions:
- lesskey
ranger:
src: ranger
dst: ~/.config/ranger
actions:
- ranger_icons
thunar:
src: thunar
dst: ~/.config/Thunar
mpv:
src: mpv.conf
dst: ~/.config/mpv/mpv.conf
actions:
- install_mpv
dav:
src: dav/
dst: ~/.config
actions:
- vdirsyncer
tmux:
src: tmux.conf
dst: ~/.tmux.conf
###############################################################
# Other
###############################################################
scripts:
src: scripts
dst: ~/.local/bin
actions:
- make_theme
- groups_install
runit_services:
src: runit_sv
dst: ~/.config/runit
systemd:
src: systemd
dst: ~/.config/systemd/user
actions:
- enable_systemd_sv caffeinated.service
- enable_systemd_sv gammastep.service
- enable_systemd_sv kanshi.service
- enable_systemd_sv mako.service
- enable_systemd_sv mpDris2.service
- enable_systemd_sv notify-mail.service
- enable_systemd_sv pipewire.service
- enable_systemd_sv kdeconnectd.service
- enable_systemd_sv kdeconnect-indicator.service
- enable_systemd_sv sway-idle.service
- enable_systemd_sv syncthing.service
- enable_systemd_sv telegram-desktop.service
- enable_systemd_sv waybar.service
- enable_systemd_sv xsettingsd.service
libinput-gestures:
src: libinput-gestures.conf
dst: ~/.config/libinput-gestures.conf
actions:
- reload_runit_sv libinput-gestures
deemix:
src: deemix
dst: ~/.config/deemix
backgrounds:
src: backgrounds
dst: ~/.local/share/backgrounds/
actions:
- filter_backgrounds
fonts:
src: fonts
dst: ~/.local/share/fonts/
mime:
src: mime/
dst: ~/
crontab:
src: crontab
dst: ~/.local/share/crontab
actions:
- crontab_install
theme:
src: theme
dst: ~/
actions:
- qt6ct
- restart_systemd_sv xsettingsd
- reload_runit_sv xsettingsd
- apply_gsetting_gnome gtk-theme '{{@@ gtk_theme @@}}'
- apply_gsetting_gnome icon-theme '{{@@ icon_theme @@}}'
- apply_gsetting_gnome cursor-theme '{{@@ cursor_theme @@}}'
prettierrc:
src: prettierrc.toml
dst: ~/.prettierrc.toml
clang-format:
src: clang-format
dst: ~/.clang-format
mypy:
src: mypy
dst: ~/.config/mypy/config
gpg-agent:
src: gpg-agent.conf
dst: ~/.gnupg/gpg-agent.conf
actions:
- pam_gpg
arch-packages:
src: meta.PKGBUILD
dst: ~/.local/share/metapkg/PKGBUILD
actions:
- install_arch_meta
kak-lsp:
src: kak-lsp.toml
dst: ~/.config/kak-lsp/kak-lsp.toml
rustfmt:
src: rustfmt.toml
dst: ~/.config/rustfmt/rustfmt.toml
###############################################################
# Big pahts
###############################################################
code-oss:
src: vscode.jsonc
dst: "~/.config/Code - OSS/User/settings.json"
vscode:
src: vscode.jsonc
dst: "~/.config/Code/User/settings.json"
telegram-theme:
src: ./telegram.palette
dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
blender:
"src": blenderTheme.xml
"dst": "~/.config/blender/scripts/presets/interface_theme/blenderTheme.xml"
firefox:
src: firefox
dst: "~/.mozilla/firefox/{{@@ firefox_profile @@}}/"
###############################################################
# .config/, no actions
###############################################################
alacritty: { "src":"alacritty.yml", "dst":"~/.config/alacritty.yml" }
bat: { "src":"bat", "dst":"~/.config/bat/config" }
foot: { "src": "foot.ini", "dst": "~/.config/foot/foot.ini" }
imv: { "src":"imv.conf", "dst":"~/.config/imv/config" }
kanshi: { "src":"kanshi", "dst":"~/.config/kanshi/config" }
mangohud: { "src":"MangoHud.conf", "dst":"~/.config/MangoHud/MangoHud.conf" }
mpd: { "src":"mpd.conf", "dst":"~/.config/mpd/mpd.conf" }
paru: { "src":"paru.conf", "dst":"~/.config/paru/paru.conf" }
pqivrc: { "src":"pqiv.ini", "dst":"~/.config/pqivrc" }
rclone: { "src":"rclone.conf", "dst":"~/.config/rclone/rclone.conf" }
swaylock: { "src":"sway/swaylock", "dst":"~/.config/swaylock/config" }
wofi: { "src":"wofi", "dst":"~/.config/wofi" }
xdpw: { "src":"xdpw.ini", "dst":"~/.config/xdg-desktop-portal-wlr/config" }
zathura: { "src":"zathura.conf", "dst":"~/.config/zathura/zathurarc" }