#         Config file for the onboardme cli command.             #
# -------------------------------------------------------------- #
#    This files should be in: ~/.config/onboardme/config.yaml    #
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
---

log:
  # Full path to a file you'd like to log to. Creates file if it doesn't exist
  # if empty, onboardme does not log to a file
  file: ""
  # what level of logs to output (debug, info, warn, error)
  level: "warn"

# steps refer to a specific function in the list of functions we run
steps:
  # mac specific steps
  Darwin:
    - dot_files
    - packages
    - font_setup
    - neovim_setup
    - cron
    - sudo_setup
  # linux specific steps
  Linux:
    - dot_files
    - packages
    - font_setup
    - neovim_setup
    - cron
    - group_setup

dot_files:
  # personal git repo URL for your dot files, defaults to jessebot/dot_files
  git_url: "https://github.com/jessebot/dot_files.git"
  # the branch to use for the git repo above, defaults to main
  git_branch: "main"
  # this is where the actual git config for your dot files lives
  # it can't live in ~/.git because that will affect _everything_ under ~/
  git_config_dir: "~/.config/dot_files"
  # !!CAREFUL: runs a `git reset --hard`, which will overwite/delete files in
  # $HOME that conflict with the above defined git repo url and branch.
  # You should run the following to get the files that would be overwritten:
  # onboardme -s dot_files
  # if set to true, then using onboardme -O will toggle it back to false
  overwrite: false

# This is the basic package config.
package:
  # Remove any of the below pkg managers to only run the remaining pkg managers
  managers:
    # macOS specific steps
    Darwin:
      - brew
      - pip3.12
      - pipx
    # Debian/Ubuntu specific steps
    Linux:
      - apt
      - brew
      - pip3.12
      - pipx
      - flatpak
      - snap
  # list of extra existing packages groups to install
  groups:
    # any package groups in this default section are always installed
    default:
      # basic tui stuff to have a nice time in the terminal :)
      - default
    # move these package.groups.default to always install them
    optional:
      # setting up more python data science specific tooling
      - data_science
      # kubernetes and docker tools
      - devops
      # gaming always installs gui
      - gaming
      # freetube and other gui applications
      - gui
      # this configures neomutt and offlineimap
      - mail
      # sets up useful music tui stuff for spotify and youtube
      - music
      # things like zoom and slack
      - work

# 🚧 this section is under construction
# cron:
#   reminders:
#     lunch:
#       enabled:
#         Linux: true
#         Darwin: true
#       # daily at noon
#       schedule: "0 12 * * *"
#       # whether or not to use the macOS "say" program
#       # not sure equivilent on linux 🤔
#       text_to_speech: true
#       blurb: "It is snack time!"
#
#     take_breaks:
#       enabled:
#         Linux: true
#         Darwin: true
#       # hourly by default
#       schedule: "0 * * * *"
#       text_to_speech: true
#       blurb: "Take a break from your screen! Consider a glass of water and a short walk to stretch your legs."
#
#   backups:
#     freetube:
#       # defaults to daily at 6PM in your local timezone
#       # you can use this site for schedules: https://crontab-generator.org/
#       schedule: "0 18 * * *"
#       files:
#         - history.db
#         - playlists.db
#         - profiles.db
#         - settings.db
#       from_dir:
#         Linux: "~/.config/FreeTube"
#         Darwin: "~/Library/Application\ Support/FreeTube"
#       to_dir:
#         Linux: "~/Nextcloud/freetube/linux"
#         Darwin: "~/Nextcloud/freetube/macos"

# 🚧 this section is under construction
# known safe remote hosts that you expect to be able to ping and SSH into
remote_hosts: []
  # - 192.168.42.42

# 🚧 this section is under construction
# setup iptable on Linux only
firewall: false

# 🚧 this section is under construction
# set wallpapers directory. MacOS: https://apple.stackexchange.com/a/348454
# wallpapers_dir: ""
