#      _       _      _
#   __| | ___ | |_ __| |_ __ ___  _ __
#  / _` |/ _ \| __/ _` | '__/ _ \| '_ \
# | (_| | (_) | || (_| | | | (_) | |_) |
#  \__,_|\___/ \__\__,_|_|  \___/| .__/
#                                |_|

variables:
  username: lelgenio
  mail: disroot.org
  cursor_size: 24
  editor: kak
  key_layout: colemak
  launcher: bmenu
  terminal: kitty
  file_manager: thunar
  bar: waybar
  bar_pos: top

  font:
    mono: FiraCode Nerd Font
    interface: Inter
    size:
      small: 12
      medium: 14
      big: 16

profiles:
  dark: # {{{
    variables:
      opacity: 0.98

      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'

# }}}
  light: # {{{
    variables:
      opacity: 0.95

      color:
        type: light
        bg: '#FAFAFA'
        bg_light: '#A0A0A0'
        bg_dark: '#EAEAEA'
        txt: '#303030'
        nontxt: '#F0F0F0'

        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"}}

# }}}
  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

#}}}

  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
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'
# }}}
dotfiles: # {{{
  nvim:
    src: nvim.vim
    dst: ~/.config/nvim/init.vim
    actions:
    - vimplug
  sway:
    src: sway.conf
    dst: ~/.config/sway/config
    actions:
    - reload_sway
  fish:
    src: fish
    dst: ~/.config/fish
    actions:
    - reload_fish
  mako:
    src: mako.conf
    dst: ~/.config/mako/config
    actions:
    - reload_mako
  waybar:
    src: waybar
    dst: ~/.config/waybar
    actions:
    - reload_sway
  kitty:
    src: kitty.conf
    dst: ~/.config/kitty/kitty.conf
    actions:
    - reload_fish
  qutebrowser:
    src: qutebrowser
    dst: ~/.config/qutebrowser
  lesskey:
    src: lesskey
    dst: ~/.lesskey
    actions:
    - lesskey
  scripts:
    src: scripts
    dst: ~/.local/bin
    actions:
    - make_theme
  wofi:
    src: wofi
    dst: ~/.config/wofi
  ranger:
    src: ranger
    dst: ~/.config/ranger
    actions:
    - ranger_icons
  zathura:
    src: zathura.conf
    dst: ~/.config/zathura/zathurarc
  wallpapers:
    src: wallpapers
    dst: ~/.local/share/wallpapers
  mime:
    src: mime/
    dst: ~/
  fusuma:
    src: fusuma.yml
    dst: ~/.config/fusuma/config.yml
  alacritty:
    src: alacritty.yml
    dst: ~/.config/alacritty.yml
  mpd:
    src: mpd.conf
    dst: ~/.config/mpd/mpd.conf
  dav:
    src: dav/
    dst: ~/.config
    actions:
    - vdirsyncer
  rclone:
    src: rclone.conf
    dst: ~/.config/rclone/rclone.conf
  mutt:
    src: neomutt/
    dst: ~/.config/neomutt/
    actions:
    - lnMail
  crontab:
    src: crontab
    dst: ~/.local/share/crontab
    actions:
    - crontab_install
  theme:
    src: theme
    dst: ~/
  kanshi:
    src: kanshi
    dst: ~/.config/kanshi/config
  imv:
    src: imv.conf
    dst: ~/.config/imv/config
  mpv:
    src: mpv.conf
    dst: ~/.config/mpv/mpv.conf
    actions:
    - sponsorblock
  blender:
    src: blenderTheme.xml
    dst: "~/.config/blender/{{@@ blender_version @@}}/scripts/presets/interface_theme/blenderTheme.xml"
  clang-format:
    src: clang-format
    dst: ~/.clang-format
  gpg-agent:
    src: gpg-agent.conf
    dst: ~/.gnupg/gpg-agent.conf
    actions:
    - pam_gpg
  tmux:
    src: tmux.conf
    dst: ~/.tmux.conf
  git:
    src: gitconfig
    dst: ~/.config/git/config
  telegram-theme:
    src: ./telegram.palette
    dst: ~/.local/share/TelegramDesktop/theme.tdesktop-palette
  kakoune:
    src: kak
    dst: ~/.config/kak
  packages:
    src: metaPKGBUILD
    dst: ~/.local/share/metapkg/PKGBUILD
    actions:
    - install_meta
  bat:
    src: bat
    dst: ~/.config/bat/config


# }}}
actions: #{{{
  notify: notify-send "Updating dotfiles" "{{@@ _dotfile_abs_dst.lstrip(env['HOME']) @@}}"
  reload_mako: makoctl reload
  lesskey: lesskey
  reload_sway: swaymsg reload &>/dev/null & disown
  reload_fish: pkill -SIGHUP fish
  vimplug: >
    nvim
    +PlugUpgrade
    +PlugInstall
    +PlugUpdate
    +qall
    &> /dev/null
    & disown
  crontab_install: |
    crontab -r
    crontab ~/.local/share/crontab
  vdirsyncer: |
    yes | vdirsyncer discover & disown
  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;

    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
  pam_gpg: _pam-gpg-strap
  make_theme:
    ~/.local/bin/_make_theme
  install_meta:
    ~/.local/bin/install_meta
# }}}
# vim: fdm=marker
