---
desktop_protonmail_bridge_cert_path: ~/.var/app/ch.protonmail.protonmail-bridge/config/protonmail/bridge-v3/cert.pem

desktop_environment: minimal
desktop_allow_display_manager_switch: false

desktop_sessions_enabled:
  - sway
  - hyprland

desktop_default_session: hyprland
desktop_default_session_env: wayland
desktop_prompt_for_session: true

desktop_source_tools:
  - name: gf
    repo: https://github.com/nakst/gf.git
    build_cmd: ./build.sh
    binary_name: gf2
    install_name: gf
  - name: llmfit
    repo: https://github.com/AlexsJones/llmfit
    build_cmd: cargo build --release
    binary_name: llmfit
    install_name: llmfit
    build_output_path: target/release/llmfit
  - name: rust-script
    repo: https://github.com/fornwall/rust-script
    build_cmd: cargo build --release
    binary_name: rust-script
    install_name: rust-script
    build_output_path: target/release/rust-script

desktop_binary_tools: []

desktop_npm_packages: >-
  {{
    ai_agents_npm_packages
    + [
      {'name': '@mermaid-js/mermaid-cli', 'state': 'latest'},
      {'name': 'vscode-langservers-extracted', 'state': 'latest'}
    ]
  }}

desktop_uv_tools:
  - debugpy
  - python-lsp-server

desktop_common_dotfiles:
  - name: XDG autostart entries
    src: .config/autostart/
    dest: .config/autostart/
    mode: preserve
  - name: fastfetch config
    src: .config/fastfetch/
    dest: .config/fastfetch/
    mode: preserve
  - name: fontconfig fallback
    src: .config/fontconfig/
    dest: .config/fontconfig/
    mode: preserve
  - name: GTK theme setup script
    src: .local/bin/setup-gtk-theme
    dest: .local/bin/setup-gtk-theme
    mode: "0755"
  - name: WirePlumber config
    src: .config/wireplumber/
    dest: .config/wireplumber/
    mode: preserve
  - name: yt-dlp config
    src: .config/yt-dlp/
    dest: .config/yt-dlp/
    mode: preserve
  - name: MPV config
    src: .config/mpv/
    dest: .config/mpv/
    mode: preserve
  - name: Bash cargo env fragment
    src: .bashrc.d/08-cargo-env.sh
    dest: .bashrc.d/08-cargo-env.sh
    mode: "0644"
  - name: Bash GPG TTY fragment
    src: .bashrc.d/10-gpg-tty.sh
    dest: .bashrc.d/10-gpg-tty.sh
    mode: "0644"
  - name: Bash man page colors fragment
    src: .bashrc.d/12-manpages.sh
    dest: .bashrc.d/12-manpages.sh
    mode: "0644"
  - name: Bash editor fragment
    src: .bashrc.d/20-editor-desktop.sh
    dest: .bashrc.d/20-editor-desktop.sh
    mode: "0644"
  - name: Bash Emacs client fragment
    src: .bashrc.d/25-emacs-client-desktop.sh
    dest: .bashrc.d/25-emacs-client-desktop.sh
    mode: "0644"
  - name: Bash VM helper fragment
    src: .bashrc.d/30-runvm.sh
    dest: .bashrc.d/30-runvm.sh
    mode: "0644"
  - name: Bash Ansible playbook helper fragment
    src: .bashrc.d/50-ap.sh
    dest: .bashrc.d/50-ap.sh
    mode: "0644"
  - name: .gitignore_global
    src: .gitignore_global
    dest: .gitignore_global
    mode: "0644"
  - name: .themes.gitignore
    src: .themes.gitignore
    dest: .themes.gitignore
    mode: "0644"
  - name: .tmux.conf
    src: .tmux.conf
    dest: .tmux.conf
    mode: "0644"
  - name: tmux helper scripts
    src: .tmux/bin/
    dest: .tmux/bin/
    mode: preserve
  - name: GPG authinfo for LLM APIs
    src: .authinfo.gpg
    dest: .authinfo.gpg
    mode: "0600"
  - name: Calibre database Flatpak wrapper
    src: .local/bin/calibredb
    dest: .local/bin/calibredb
    mode: "0755"
  - name: SSH config
    src: .ssh/config
    dest: .ssh/config
    mode: "0600"

desktop_minimal_dotfiles:
  - name: Minimal desktop MIME defaults
    src: .config/mimeapps.list
    dest: .config/mimeapps.list
    mode: "0644"
  - name: Thunar config
    src: .config/Thunar/
    dest: .config/Thunar/
    mode: preserve
  - name: Udiskie config
    src: .config/udiskie/
    dest: .config/udiskie/
    mode: preserve
  - name: Udiskie password helper
    src: .local/bin/udiskie-password
    dest: .local/bin/udiskie-password
    mode: "0755"

desktop_minimal_managed_paths:
  - .config/Thunar
  - .config/alacritty
  - .config/dunst
  - .config/flameshot
  - .config/foot
  - .config/gtklock
  - .config/hypr
  - .config/kanshi
  - .config/rofi
  - .config/sway
  - .config/udiskie
  - .config/waybar
  - .config/wlogout
  - .local/bin/udiskie-password

desktop_emacs_dotfiles:
  - name: Emacs config
    src: .emacs.d/
    dest: .emacs.d/
    mode: preserve

desktop_sway_dotfiles:
  - name: alacritty config
    src: .config/alacritty/
    dest: .config/alacritty/
    mode: preserve
  - name: dunst config
    src: .config/dunst/
    dest: .config/dunst/
    mode: preserve
  - name: flameshot config
    src: .config/flameshot/
    dest: .config/flameshot/
    mode: preserve
  - name: rofi config
    src: .config/rofi/
    dest: .config/rofi/
    mode: preserve
  - name: sway config
    src: .config/sway/
    dest: .config/sway/
    mode: preserve
  - name: waybar config
    src: .config/waybar/
    dest: .config/waybar/
    mode: preserve
  - name: wlogout config
    src: .config/wlogout/
    dest: .config/wlogout/
    mode: preserve
  - name: foot config
    src: .config/foot/
    dest: .config/foot/
    mode: preserve
  - name: gtklock config
    src: .config/gtklock/
    dest: .config/gtklock/
    mode: preserve

desktop_hyprland_dotfiles:
  - name: alacritty config
    src: .config/alacritty/
    dest: .config/alacritty/
    mode: preserve
  - name: dunst config
    src: .config/dunst/
    dest: .config/dunst/
    mode: preserve
  - name: rofi config
    src: .config/rofi/
    dest: .config/rofi/
    mode: preserve
  - name: hyprland config
    src: .config/hypr/
    dest: .config/hypr/
    mode: preserve
  - name: waybar config
    src: .config/waybar/
    dest: .config/waybar/
    mode: preserve
  - name: foot config
    src: .config/foot/
    dest: .config/foot/
    mode: preserve

desktop_flatpak_packages:
  - be.alexandervanhee.gradia
  - ch.protonmail.protonmail-bridge
  - com.discordapp.Discord
  - com.calibre_ebook.calibre
  - com.github.tchx84.Flatseal
  - com.spotify.Client
  - io.github.flattool.Warehouse
  - org.telegram.desktop
  - org.mozilla.Thunderbird

desktop_flatpak_extensions:
  - org.gtk.Gtk3theme.Yaru-Blue-dark//stable
