config:
  # Symbolic links to create
  symlinks:
    # Gitconfig
    gitconfig:
      sources:
        macos: ~/dotfiles/config/gitconfig.macos
        linux: ~/dotfiles/config/gitconfig.linux
        wsl: ~/dotfiles/config/gitconfig.wsl
      target: ~/.gitconfig
      
    # SSH config
    ssh:
      source: ~/dotfiles/config/ssh/config
      target: ~/.ssh/config

    ssh_config_d:
      source: ~/dotfiles/config/ssh/config.d
      target: ~/.ssh/config.d

    ssh_key:
      source: ~/dotfiles/config/ssh/id_ed25519
      target: ~/.ssh/id_ed25519
      chmod: 600

    ssh_key_public:
      source: ~/dotfiles/config/ssh/id_ed25519.pub
      target: ~/.ssh/id_ed25519.pub
      chmod: 644

    ssh_authorized_keys:
      sources:
        mennos-laptop: ~/dotfiles/config/ssh/authorized_keys/mennos-laptop
        mennos-desktop: ~/dotfiles/config/ssh/authorized_keys/mennos-desktop
        homeserver-pc: ~/dotfiles/config/ssh/authorized_keys/homeserver-pc
      target: ~/.ssh/authorized_keys
      chmod: 600

    # bashrc
    bashrc:
      source: ~/dotfiles/.bashrc
      target: ~/.bashrc

    # VSCode settings
    vscode:
      source: ~/dotfiles/vscode/settings.json
      target: ~/.config/Code/User/settings.json

    vscode-argv:
      source: ~/dotfiles/vscode/argv.json
      target: ~/.vscode/argv.json

    # Starship config
    starship:
      source: ~/dotfiles/config/starship.toml
      target: ~/.config/starship.toml

    # Autostart desktop file
    autostart:
      source: ~/dotfiles/config/dotf-autostart.desktop
      target: ~/.config/autostart/dotf-autostart.desktop

  # What groups users should be added
  user_groups:
    menno:
      - docker
      - libvirt
      - video
      - input

  # Keybinds to set into swhkd
  keybinds:
    terminal:
      shortcut: Ctrl + Alt + T
      command: gnome-terminal
    screenshot:
      shortcut: Shift + Alt + 4
      command: flameshot gui
    1password-quick-access:
      shortcut: Shift + Alt + Space
      command: 1password --quick-access
    missioncenter:
      shortcut: Ctrl + Shift + Escape
      command: flatpak run io.missioncenter.MissionCenter
    resources:
      shortcut: Alt + Shift + Escape
      command: flatpak run net.nokyan.Resources
    gtile:
      shortcut: Super + Tab
      command: xdotool key super+g
  
  # Commands to run after login
  startup:
    delay: 5
    delay_between_ms: 1000
    commands:
      1password: 1password
      hotkey-deamon: $HOME/dotfiles/bin/actions/hotkey-daemon.sh
      trayscale: flatpak run dev.deedles.Trayscale --hide-window
      vesktop: flatpak run dev.vencord.Vesktop
      telegram: flatpak run org.telegram.desktop
      spotify: flatpak run com.spotify.Client
      zapzap: flatpak run com.rtosta.zapzap
      steam: steam
  
  # Fonts to install (Mostly tested with Nerd Fonts)
  fonts:
    Hack:
      url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Hack.zip
      name: Hack
    Meslo:
      url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/Meslo.zip
      name: Meslo
    JetBrainsMono:
      url: https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip
      name: JetBrainsMono

  git:
    dotfiles:
      url: git@git.mvl.sh:vleeuwenmenno/dotfiles.git
      branch: master
      target: ~/dotfiles

    songguru-bot:
      url: git@github.com:vleeuwenmenno/songguru-bot.git
      branch: develop
      target: ~/Projects/Private/songguru-bot

    ssdc_app_v2:
      url: git@github.com:vleeuwenmenno/ssdc_app_v2.git
      branch: master
      target: ~/Projects/Private/ssdc_app_v2
    

  # Packages to install
  # Note: Uninstalling packages is not supported, if you remove a package from this list it will not be removed from the system!
  #       Likewise with flatpak remotes, apt repositories, etc.
  packages:
    # Supply a git_url and binary to install from source
    cargo:
      eza:
      lsd:
      bat:
      starship:
      ripgrep:
      fd-find:
      procs:
      bottom:
      Simple-Wayland-HotKey-Daemon:
        git_url: https://github.com/waycrate/swhkd.git
        binary: Simple-Wayland-HotKey-Daemon
      swhks:
        git_url: https://github.com/waycrate/swhkd.git
        binary: swhks

    pipx:
      - gnome-extensions-cli
      - bauh
      - shyaml

    apt:
      repos:
      apps:
        - bash
        - bash-completion
        - cargo
        - solaar
        - git
        - curl
        - wget
        - gpg
        - nala
        - ca-certificates
        - gnupg-agent
        - software-properties-common
        - apt-transport-https
        - vim
        - sl
        - jq
        - libglvnd-dev
        - libwayland-dev
        - libseat-dev
        - libxkbcommon-dev
        - libinput-dev
        - udev
        - dbus
        - liblzma-dev
        - libreadline-dev
        - libdbus-1-dev
        - libsystemd-dev
        - libpixman-1-dev
        - libssl-dev
        - libflatpak-dev
        - libpulse-dev
        - libexpat1-dev
        - libfontconfig-dev
        - libfreetype-dev
        - mold
        - clang
        - libgtk-3-dev
        - gcc
        - gcc-mingw-w64
        - btop
        - htop
        - libgbm-dev
        - libclang-dev
        - libsecret-1-dev
        - libpipewire-0.3-dev
        - libpam0g-dev
        - openssh-server
        - build-essential
        - flatpak
        - meson
        - pipx
        - python3-nautilus
        - gettext
        - fzf
        - neofetch
        - screenfetch
        - screen
        - brave-browser
        - code
        - 1password
        - 1password-cli
        - flameshot
        - cmake
        - libsqlite3-dev
        - libudev-dev
        - libncursesw5-dev
        - libgdbm-dev
        - libc6-dev
        - libbz2-dev
        - libffi-dev
        - tk-dev
        - cmatrix
        - toilet
        - oneko
        - libaa-bin
        - libcurses-perl
        - xdotool
        - xclip
        - unzip
        - zip
