---
# eslint-disable eslint-comments/disable-enable-pair, max-lines
colors:
  background: '#161925'
  color0: '#161925'
  color1: '#282C34'
  color2: '#ED254E'
  color3: '#71F79F'
  color4: '#F9DC5C'
  color5: '#7CB7FF'
  color6: '#C74D89'
  color7: '#00C1E4'
  color8: '#DCDFE4'
  color9: '#4C5058'
  color10: '#FF4972'
  color11: '#95FFC3'
  color12: '#FFFF80'
  color13: '#A0DBFF'
  color14: '#EB71AD'
  color15: '#24E5FF'
  color16: '#FFFFFF'
config:
  gpg: https://raw.githubusercontent.com/drduh/config/master/gpg.conf
docker:
  healthchecks:
    allowedHosts: '*'
    s3Endpoint: s3.wasabisys.com
    siteLogoUrl: https://raw.githubusercontent.com/megabyte-labs/install.doctor/master/home/dot_local/etc/branding/black-icon-128x128.png
    siteName: Healthchecks
    siteRoot: '/'
  portainer:
    siteLogoUrl: https://gitlab.com/megabyte-labs/misc/assets/-/raw/master/logo/color3@10x.png
    templatesUrl: https://raw.githubusercontent.com/Lissy93/portainer-templates/main/templates.json
  statping:
    description: Uptime monitoring for Megabyte Labs managed web services
    name: Uptime Monitoring
  wireguard:
    serverUrl: megabyte.space
    internalSubnet: 10.93.92.0
# All JuiceFS volumes should be postfixed with "manhattan" so you should create private-manhattan, public-manhattan, user-manhattan, and docker-manhattan
juicefsVolumeNamePostfix: manhattan
kubernetesHost: kochab
macosRemoteLogin: 'on'
themeparkTheme: aquamarine
figmaAddons:
  - https://www.figma.com/community/plugin/1037309320238203168/DhiWise---Figma-to-Code
  - https://www.figma.com/community/plugin/1056467900248561542/Locofy-FREE-BETA---Figma-to-React%2C-React-Native%2C-HTML%2FCSS%2C-Next.js%2C-Gatsby
chromeExtensionsDisabled:
  - buster-captcha-solver-for/mpbjkejclgfgadiemmefgebjfooflfhl
  - chatgpt-app-for-chrome-me/camppjleccjaphfdbohjdohecfnoikec
  - chatgpt-for-google/jgjaeacdkonaoafenlfkkkmbaopkbilf
  - compose-ai-ai-powered-wri/ddlbpiadoechcolndfeaonajmngmhblj
  - headless-recorder/djeegiggegleadkkbgopoonhjimgehda
  - hoppscotch-browser-extens/amknoiejhlmhancpahfcfcfhllgkpbld
  - jiffy-reader/lljedihjnnjjefafchaljkhbpfhfkdic
  - liner-chatgpt-google-assi/bmhcbmnbenmcecpmpepghooflbehcack
  - loom-–-screen-recorder-sc/liecbddmkiiihnedobmlmillhodjkdmb
  - replixai/nhfededlooagdmcpamafanjolhkekbbl
chromeExtensions:
  - ai-based-grammar-checker/oldceeleldhonbafppcapldpdifcinji
  - automa/infppggnoaenmfagbfknfkancpbljcca
  - bardeen-automate-manual-w/ihhkmalpkhkoedlmcnilbbhhbhnicjga
  - bitly-powerful-short-link/iabeihobmhlgpkcgjiloemdbofjbdcic
  - bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb
  - briskine-email-templates/lmcngpkjkplipamgflhioabnhnopeabf
  - buffer/noojglkidnpfjbincgijbaiedldjfbhh
  - chrome-remote-desktop/inomeogfingihgjfjlpeplalcfajhgai
  - desktop-app-for-google-ta/lpofefdiokgmcdnnaigddelnfamkkghi
  - discoverly/dijhcpbkalfgkcebgoncjmfpbamihgaf
  - emoji-keyboard-by-joypixe/ipdjnhgkpapgippgcgkfcbpdpcgifncb
  - falcon/mmifbbohghecjloeklpbinkjpbplfalb
  - floccus-bookmarks-sync/fnaicdffflnofjppbagibeoednhnbjhg
  - giphy-for-chrome/jlleokkdhkflpmghiioglgmnminbekdi
  - gitako-github-file-tree/giljefjcheohhamkjphiebfjnlphnokk
  - gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep
  - google-dictionary-by-goog/mgijmajocgfcbeboacabfgobmjgjcoja
  - google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb
  - google-trends-supercharge/ocmojhiloccgbpjnkeiooioedaklapap
  - grepper/amaaokahonnfjjemodnpmeenfpnnbkco
  - gsconnect/jfnifeihccihocjbfcfhicmmgpjicaec
  - hunter-email-finder-exten/hgmhmanijnjhaffoampdlllchpolkdnj
  - huntr-job-search-tracker/mihdfbecejheednfigjpdacgeilhlmnf
  - hypertype/lohojfppjeknalpoklojhfnndocgekbd
  - json-resume-exporter/caobgmmcpklomkcckaenhjlokpmfbdec
  - json-viewer-pro/eifflpmocdbdmepbjaopkkhbfmdgijcc
  - magical-chatgpt-ai-writer/iibninhmiggehlcdolcilmhacighjamp
  - mailvelope/kajibbejlbohfaggdiogboambcijhkke
  - markdown-here/elifhakcjgalahccnjkneoccemfahfoa
  - metamask/nkbihfbeogaeaoehlefnkodbefgpgknn
  - notion-web-clipper/knheggckgoiihginacbkhaalnibhilkk
  - octohint/hbkpjkfdheainjkkebeoofkpgddnnbpk
  - pieces-save-code-snippets/igbgibhbfonhmjlechmeefimncpekepm
  - postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo
  - pushbullet/chlffgpmiacpedhhbkiomidkjlcfhogd
  - rakuten-get-cash-back-for/chhjbpecpncaggjpdakmflnfcopglcmi
  - refined-github/hlepfoohegkhhmjieoechaddaejaokhf
  - save-to-google-drive/gmbmikajjgmnabiglmofipeabaddhgne
  - screenity-screen-recorder/kbbdabhdfibnancpjfhlkhafgdilcnji
  - search-by-image/cnojnbdhbhnkbcieeekonklommdnndci
  - sessionbox-multi-login-to/megbklhjamjbcafknkgmokldgolkdfig
  - singlefile/mpiodijhokgodhhofbcjdecpffjipkle
  - sponsorblock-for-youtube/mnjggcdmjocbbbhaepdhchncahnbgone
  - toucan-language-learning/lokjgaehpcnlmkebpmjiofccpklbmoci
  - vimeo-record-screen-webca/ejfmffkmeigkphomnpabpdabfddeadcb
  - vytal/ncbknoohfjmcfneopnfkapmkblaenokb
  - web-archives/hkligngkgcpcolhcnkgccglchdafcnao
  - web-vitals/ahfhijdlegdabablpippeagghigmibma
firefoxPublicProfile: https://github.com/ProfessorManhattan/firefox-profile-with-plugins.git
firefoxAddOns:
  - automa
  - bitwarden-password-manager
  - buffer-for-firefox
  - buster-captcha-solver
  - canvasblocker
  - chatgpt-for-google
  - clearurls
  - decentraleyes
  - dictionary-anyvhere
  - ebates
  - emoji-sav
  - falcon_extension
  - firefox-translations
  - floccus
  - giphy-for-firefox
  - gnome-shell-integration
  - hoppscotch
  - json-lite
  - languagetool
  - pushbullet
  - mailvelope
  - markdown-here
  - medium-unlimited-read-for-free
  - multi-account-containers
  # - notion-web-clipper
  - pieces-save-code-from-the-web
  - private-relay
  - profile-switcher
  - refined-github-
  - search_by_image
  - single-file
  - sponsorblock
  - swift-selection-search
  - temporary-containers
  - tiny_url
  - ublock-origin
  - umatrix
  - undoclosetabbutton
  - view-page-archive
fonts:
  main: Montserrat Bold
grub:
  shiftToSee: false
  timeout: 9
whiteLabel: false
removeLinuxPackages:
  - aisleriot
  - gnome-mahjongg
  - gnome-mines
  - gnome-sudoku
  - rhythmbox
removeLinuxShortcuts:
  - cmake_cmake-gui.desktop
  - display-im6.q16.desktop
  - flutter_openurl.desktop
  - htop.desktop
  - scvim.desktop
theme: Betelgeuse
softwareGroups:
  AI: &AI
    - aider
    - ai-shell
    - aifiles
    - talksheet
    - tgpt
  AI-Desktop: &AI-Desktop
    - chatgpt-nofwl
    - chatgpt-menubar
    - gpt-engineer
    - langflow
    - mage-ai
    - shell-gpt
  Android: &Android
    - apktool
    - repo
    - scrcpy
  Android-Desktop: &Android-Desktop
    - android-studio
    - genymotion
    - scrcpy-gui
    - soduto
  Anon: &Anon
    - onionshare
  Ansible: &Ansible
    - ansible
    - ansibler
    - ansible-lint
    - ansibleconnect
    - awxcli
    - molecule
    - winrm-cli
  Ansible-Roles: &Ansible-Roles []
    # TODO: Implement these using chezmoiscripts
    ## - ssh
    ## - swarm
    ## - vpn
    ## - wsl
    ## - antivirus
    ## - common
    # - connect
    ## - debloat
    ## - desktop
    # - disks
    ## - dns
    ## - dnsmasq
    ## - environment
    ## - extensions
    ## - finish
    ## - firewall
    ## - fuse
    ## - guacamole
    ## - hosthomepage
    ## - hosts
    # - motd
    # - pfsense
    # - pihole
    # - pip
    ## - prepare
    ## - security
    ## - ssh
    # - swarm
    # - maas
  Backup: &Backup
    - autorestic
    - backup
    - ghorg
    - mackup
    - restic
    - sanoid
  Backup-Desktop: &Backup-Desktop
    - cryptomator
    - seafile-client
    - timeshift
  Browsers: &Browsers
    - w3m
  Browsers-Desktop: &Browsers-Desktop
    - brave-browser
    - google-chrome
    - chrome-cli
    - ferdium
    - firefox
    - microsoft-edge
    - tor-browser
  CI: &CI
    - act
    - argo-cli
    - drone-cli
    - fpm
    - github-runner
    - gitlab-runner
    - glen
    - pipelight
    - tart
  CLI: &CLI
    - atuin
    - bash-completion
    - bandwhich
    - bat
    - bat-extras
    - bottom
    - broot
    - carapace
    - cheat
    - chezmoi
    - clipboard
    - curl
    - curlie
    - delta
    - desk
    - direnv
    - docker-langserver
    - dog
    - dua
    - duf
    - dust
    - empty-trash
    - exa
    - fcp
    - fd
    - firefox-profile
    - fkill
    - fzf
    - ghcup
    - git
    - microsoft-git
    - glances
    - glow
    - gnu
    - gping
    - gum
    - hoard
    - htmlq # htmlq is used by the the Firefox script
    - hyperfine
    - jq
    - lsd
    - mask
    - mc
    - navi
    - nb
    - neovim
    - netcat
    - ntfy
    - nmap
    - nnn
    - node
    - nushell
    - oh-my-posh
    - pass
    - postfix
    - procs
    - prettier
    - privoxy
    - python2
    - recoverpy
    - ripgrep
    - ripgrep-all
    - rm-improved
    - rsync
    - sd
    - sheldon
    - solargraph
    - sql-language-server
    - task
    - pkgx
    - tmux
    - tor
    - translate
    - tree
    - vim
    - volta
    - xpanes
    - xxh
    - watchexec
    - watchman
    - wget
    - whalebrew
    - wifi-password
    - yq
    - zoxide
    - zsh
    - zx
    - zenity
  CLI-Extras: &CLI-Extras
    - ack
    - airdrop-cli
    - axel
    - bin
    - bitly
    - brew-gem
    - brew-pkg
    - charm
    - cod
    - desed
    - difftastic
    - dockutil
    - doitlive
    - duti
    - ejs
    - emplace
    - emoj
    - fdupes
    - fig
    - figlet
    - filebrowser
    - forever
    - fm
    - gitmoji-cli
    - gopass
    - grex
    - gron
    - has
    - handlr
    - helix
    - hexyl
    - hstr
    - http-prompt
    - httpie
    - httpstat
    - howdoi
    - hurl
    - imgur-uploader
    - is-up
    - jiq
    - jqp
    - just
    - kcpassword
    - litecli
    - lolcat
    - marp
    - mods
    - mycli
    - neofetch
    - nomino
    - normit
    - nve
    # - obsidian-cli
    - opn-cli
    - pastel
    - peco
    - percol
    - pfsense-fauxapi
    - pick
    - pidcat
    - pgcli
    - pueue
    - pywhat
    - resume
    - s-search
    - sad
    - safe-rm
    - search-gpt
    - shml
    - shx
    - slack-term
    - slides
    - social-analyzer
    - soft-serve
    - speed-test
    - statcode
    - stegcloak
    - thefuck
    - tldr
    - xdotool
    - timewarrior
    - tmuxinator
    - up
    - vdirsyncer
    - wallpaper-cli
    - wego
    - whereami
    - wipe-modules
    - xh
    - xz
    - yank
    - zsh-completions
  Cloud: &Cloud
    - awscli
    - aws-shell
    - azure-cli
    - azure-functions
    - budibase-cli
    - consul-cli
    - curator
    - doctl
    - envconsul
    - fission
    - fly
    - gcloud
    - heroku-cli
    - infracost
    - juju
    - lexicon
    - logcli
    - mongodb-atlas
    - nextcloud
    - psu
    - rancher-cli
  Cloud-Storage: &Cloud-Storage
    - gdrive
    - gphotos-sync
    - rclone
    - s5cmd
  Compression: &Compression
    - p7zip
    - pigz
  Communication: &Communication
    - apprise
    - irssi
  Communication-Desktop: &Communication-Desktop
    - *Communication
    - discord
    - element
    - microsoft-teams
    # - jitsi-meet
    # - keybase
    - skype
    - slack
    # - telegram
    - zoom
  Crypto: &Crypto
    - cointop
    - monero
    - monero-cli
    - mymonero
  Crypto-Desktop: &Crypto-Desktop
    - ledger-live
    - onlykey
  DNS: &DNS
    - blocky
    - hostctl
    - iodine
    - switchhosts
  Data-Manipulation: &Data-Manipulation
    - dasel
    - fq
    - fselect
    - fx
    - gojq
    - hclq
    - jc
    - jo
    - jq
    - miller
    - oq
    - osquery
    - pup
    - ramda
    - schema
    - sttr
    - taplo
    - textql
    - toml-sort
    - xsv
    - xurls
    - yj
    - yq
  Database: &Database
    - iredis
    - mariadb
    - mongodb
    - octosql
    - sqlite
    - steampipe
    - usql
  Database-Desktop: &Database-Desktop
    - beekeeper-studio
    - medis
    - mongodb-compass
  Development-Tools-Desktop: &Development-Tools-Desktop
    - github-desktop
    - intellij-idea-ce
    # - iterm2
    - meld
    - powershell
    - redis-desktop-manager
    - redis-insight
    - visual-studio
    - warp-terminal
    - winui-gallery
    - wpfui
    - xcode
    - xcodes
    - xcodes-app
    - xcpretty
    - x64dbg
  Docker: &Docker
    - bane
    - clair
    - container-structure-test
    - dive
    - docker-pushrm
    - docker-slim
    - dockle
    - dockly
    - footloose
    - grype
    - trivy
    - trufflehog
  E-mail: &E-mail
    - himalaya
    - mailsy
  E-mail-Desktop: &E-mail-Desktop
    - m-cli
    - mailspring
    - protonmail-import-export
    - protonmail-bridge
    # - thunderbird
  Engineering-Desktop: &Engineering-Desktop
    - arduino-ide
    - cutter
    - fritzing
  Essentials: &Essentials
    - clamav
    - docker
    - meta-package-manager
    - openssl-osx-ca
    - rkhunter
  Essentials-Desktop: &Essentials-Desktop
    - autokey
    - bismuth
    - codeedit
    - eul
    - firefox
    - flow-launcher
    - gnome
    - iina
    - kvantum
    - lapce
    - malwarebytes
    - mpv
    - portmaster
    - rofi
    - sddm
    - spacedrive
    # - tabby
    - vlc
    - vscode
  File-System: &File-System
    - duck
    - glusterfs
    - goofys
    - sshfs
  File-System-Desktop: &File-System-Desktop
    - cyberduck
  Finance: &Finance
    - infracost
  Finance-Desktop: &Finance-Desktop
    - tradingview
  Games-Desktop: &Games-Desktop
    - mudlet # MUD client 
    - steam
  Git: &Git
    - aicommits
    - commitizen
    - gh
    - gist
    - git
    - gitql
    - git-bug
    - git-branchless
    - git-extras
    - git-filter-repo
    - git-jump
    - git-lfs
    - git-open
    - git-secret
    - git-subrepo
    - git-town
    - gitomatic
    - git-stats
    - gitui
    - glab
    - hub
    - lazygit
    - multi-gitter
    - opencommit
    - repo
    - starred
    - tig
  Git-Desktop: &Git-Desktop
    - github-classroom-assistant
    - gitify
    - gitkraken
  Git-Project-Tools: &Git-Project-Tools
    - appnest-readme
    - commitlint
    - git-notify
    - hbs-cli
    - husky
    - liquidjs
    - pnpm-lock-export
    - synp
    - yarnhook
  Go: &Go
    - delve
    - go
    - goreleaser
    - go-outline
    - gomodifytags
    - gopkgs
    - gopls
    - gotests
    - impl
    - staticcheck
    - wails
  Home: &Home
    - go-chromecast
  Kubernetes: &Kubernetes
    - cmctl
    - kdash
    - kn
    # TODO: Check if some of these are installed by Krew and remove if they are
    - krew
    - kubectx
    - kubekey
    - kubenav
    - kube-shell
    - kubernetes-cli
    - helm
    - helmfile
    - helm-docs
    - kubernetes-kompose
    - kubeval
    - k9s
    - kustomize
    - linkerd2
    - minikube
    - openshift-cli
    - skaffold
    - tilt
    - velero
  Kubernetes-Desktop: &Kubernetes-Desktop
    - lens
  Linting: &Linting
    - ansible-lint
    - cloc
    - dockfmt
    - dotenv-linter
    - dprint
    - eslint
    - eslint-dashboard
    - eslintd
    - esprint
    - gitleaks
    - golangci-lint
    - hadolint
    - markdownlint-cli
    - prettierd
    - pre-commit
    - psscriptanalyzer
    - reek
    - rubocop
    - ruff
    - shellcheck
    - shfmt
    - swiftformat
    - tflint
    - tfsec
    - tokei
    - trunk
    - vale
    - yamllint
    - yapf
  Logging: &Logging
    - fuego
    - papertrail
    - rsyslog
    - runitor
    - sentry-cli
    - unbuffer
  Media: &Media
    - alda
    - beets
    - crunch
    - exiftool
    - ffmpeg
    - gifsicle
    - imagemagick
    - jpegoptim
    - korkut
    - lux
    - pandoc
    - sharp
    - spotdl
    - svgo
    - tinypng
    - vidmerger
    - wkhtmltopdf
    - you-get
    - youtube-dl
    - yt-dlp
  Media-Desktop: &Media-Desktop
    # - airtame
    - audacity
    - balenaetcher
    - blender
    - brasero
    - crunch-app
    - gimp
    - handbrake
    - inkscape
    - kdenlive
    - kodi
    - krita
    - lollypop
    - obs-studio
    - plex
    - plex-htpc
    - plex-media-server
    - prezi-video
    - raspberry-pi-imager
    - shotcut
    - shotwell
    - upscayl
    - vlc
    - youtube-music
  Misc-Desktop: &Misc-Desktop
    - _misc-flatpaks
    - _nautilus-extensions
    - barrier
    - cakebrew
    - chrome-remote-desktop-host
    - clocker
    - devtoys
    - devtoys-windows
    - drawio
    - eartrumpet
    - edex-ui
    - envpane
    - google-assistant
    - gnome-tweaks
    - hiddenbar
    - keycastr
    - linkliar
    - logi-options-plus
    - logi-tune
    - mark-text
    - meetingbar
    - modern-flyouts
    - monitorcontrol
    - openinterminal
    - pake
    - pock
    - polybar
    - pretzel
    - privileges
    - qlplugins
    - remote-desktop
    - remmina
    - rofi
    - rustdesk
    - secretive
    - stats
    - swiftbar
    - teamviewer
    - tigervnc
    - xpra
  Misc-Development-Tools: &Misc-Development-Tools
    - ansifilter
    - aqua
    - astronvim
    - automake
    - bazelisk
    - binwalk
    - bfg
    - bundler
    - carthage
    - cmake
    - cocoapods
    # - codeclimate Errors it out because it requires Docker to be installed
    - dotnet
    - expect
    - fury
    - gradle
    - ideviceinstaller
    - ios-deploy
    - ios-sim
    - java
    - jenv
    - libimobiledevice
    - license
    - lightproxy
    - lua
    - makeself
    - meta
    - mono
    - ninja
    - ntl
    - nugetpackageexplorer
    - openjdk
    - platformio
    - please
    - porter
    - proxyman
    - pushpin
    - rust
    - snapcraft
    - solidity
    - swimat
    - tomcat
    - upx
    - windows-adk
    - windows-admin-center
    - windows-power-toys
  NGINX: &NGINX
    - caddy
    - certbot
    - cfssl
    - gixy
    - mkcert
    - nginx
    - nginx-unit
    # - maas
    - ngxtop
  Network-Enabled: &Network-Enabled
    - cockpit
    - cups
    - lexicon
    - squid
  Networking: &Networking
    - etcd
    - cloudflared
    - glusterfs
    - juicefs
    - mole
    - mutagen
    - nebula
    - ngrok
    - privaxy
    - pwnat
    - rustscan
    - ssl-proxy
    - tailscale
    - warp
  Orchestration: &Orchestration
    - dagu
    - nomad
    - pm2
    - robotframework
    - sake
    - waypoint
  PHP: &PHP
    - composer
    - php
  Package-Management: &Package-Management
    # - homebrew
    # - whalebrew
    - eget
    - gup
    - mise
    - syncpack
    - ultra
    - zap
  Productivity-Desktop: &Productivity-Desktop
    - alt-tab
    - amethyst
    - espanso
    # - fiscript
    - libreoffice
    - microsoft-office
    - notion
    # - obsidian
    - raycast
    - skhd
  Python: &Python
    - flake8
    - isort
    - mambaforge
    - micromamba
    - poetry
    - python
    - virtualenv
  Recording: &Recording
    - asciinema
    - blackhole
    - carbon-now
    - dframe
    - t-rec
    - terminalizer
    - vhs
  Recording-Desktop: &Recording-Desktop
    - flameshot
    - kap
    - peek
    - sharex
  Ruby: &Ruby
    - ruby
  SSH: &SSH
    - assh
    - endlessh
    - fabric
    - fail2ban
    - hss
    - mosh
    - openssh-server
    - skm
    - ssh-vault
    - sshpass
    - sshs
    - sync-ssh-keys
    - teleport
    - tmate
    - wetty
    - wishlist
  Security: &Security
    - bitwarden-cli
    - boringtun
    - debsecan
    - dotenv-vault
    - envchain
    - envconsul
    - envio
    - onlykey-agent
    - onlykey-cli
    - openssl
    - pony
    - protonvpn-cli
    - quark-engine
    - scap-security-guide
    - skate
    - ssh-vault
    - sshuttle
    - teller
    - vault
    - wireguard-client
    - wireguard-tools
    - yubikey-manager
  Security-Desktop: &Security-Desktop
    - bitwarden
    - lulu
    - portmaster
    - privileges
    - protonvpn
    - santa
    - swifty
    - tunnelblick
    - yubikey-authenticator
    - yubikey-manager-qt
  Server: &Server
    - cockpit
    - cups
    - easyengine
    - haproxy
    - netdata
    - samba
    - sftpgo
    - wazuh
  Shell-Scripting: &Shell-Scripting
    - argc
    - bashly
    - bats
    - shc
    - shdoc
    - shellcheck
    - shfmt
  Social-Networking: &Social-Networking
    - enola
    - holehe
    - social-analyzer
    - t
  Hacking: &Hacking
    - ettercap
    - john
  Sys-Admin: &Sys-Admin
    - arping
    - ctop
    - fleetctl
    - goaccess
    - gtop
    - htop
    - ipmitool
    - iproute2mac
    - macprefs
    - masscan
    - plumber
    - prefsniff
    - pulumi
    - rtop
    - supervisor
    - sysbench
    - sysdig
    - sysz
    - upt
    - winrm-cli
    # - wireshark-cli
  Sys-Admin-Desktop: &Sys-Admin-Desktop
    - networkmanager
    - pppc-utility
    - quasar
    - recuva
    - sloth
    - snitch
    - wireshark
  Templates: &Templates
    - confd
    - consul-template
    - cookiecutter
    - gomplate
  Terraform: &Terraform
    - aiac
    - terraform
    - tfenv
    - tflint
  Testing: &Testing
    - allure
    - appium
    - molecule
  Transfer: &Transfer
    - aria2
    - croc
    - dat
    - ffsend
    - gdown
    - magic-wormhole
    - nitroshare
    - ots
    - portal
    - share
    - syncthing
    - lsyncd
    - unison
  Transfer-Desktop: &Transfer-Desktop
    - dat-desktop
    - google-drive
    - motrix
    - qbittorrent
    - sparkleshare
    - webtorrent
  Utilities: &Utilities
    - blueutil
    - nativefier
  Virtualization: &Virtualization
    - d2vm
    - distrobox
    - kvm
    - libguestfs-tools
    - lxdc
    - lxd-ui
    - packer
    - quickemu
    - vagrant
    - vagrant-vmware-utility
    - vermin
  Virtualization-Desktop: &Virtualization-Desktop
    - docker-desktop
    - gnome-boxes
    - parallels
    - quickgui
    - utm
    - vagrant-manager
    - virtualbox
    - vmware
  Web-Development: &Web-Development
    - angular-cli
    - autodoc
    - auto-install
    - browser-sync
    - bun
    - caniuse
    - capacitor
    - cloudflare-cli
    - coder
    - cordova
    - deno
    - deta
    - devbox
    - devspace
    - electron
    - emma
    - fastify
    - fastlane
    - feathers
    - firebase
    - flutter
    - generator-ngx-rocket
    - gfi
    - gulp
    - hey
    - htmlhint
    - hugo
    - ionic
    - imageoptim-cli
    - ipfs
    - ipfs-deploy
    - jest
    - json-server
    - lighthouse
    - localtunnel
    - mailcatcher
    - majestic
    - medusa
    - mitmproxy
    - muffet
    - nativescript
    - ncc
    - nectar
    - nest
    - newman
    - ngrok
    - node-prune
    - nodemon
    - np
    - npkill
    - npm-check # Similar to npm-check-updates
    - npm-check-updates
    - nx
    - oclif
    - osx-sign
    - package-size
    - page-fetch
    - pageres
    - patch-package
    - pipedream-cli
    - pkg
    - playwright
    - pnpm
    - projen
    - psi
    - quicktype
    - semantic-release
    - serve
    - serverless
    - shuttle
    - sphinx
    - storybook
    - surge
    - trellis
    - ts2c
    - turbo
    - typescript
    - typescript-to-lua
    - web-ext
    - websocat
    - wordpressify
    - wp-cli
    - wrangler
    - wrk
    - yarn
    - zola
  Web-Development-Desktop: &Web-Development-Desktop
    # - altair
    - betwixt
    - fiddler
    - figma
    - google-web-designer
    - http-toolkit
    - imagine
    - imageoptim
    - ipfs-desktop
    - mjml
    - markmap
    - mockoon
    - mqttx
    - ndb
    - phpmon
    - pieces
    - pieces-os
    - pieces-cli
    - pika
    - postman
    - responsively
    - runjs
    - wordpresscom
    - zaproxy
  _Basic: &_Basic
    - *CLI
    - *Essentials
    - endlessh
    - fail2ban
    - openssh-server
  _General-Purpose-Server: &_General-Purpose-Server
    - *CLI
    - *Database
    - *Essentials
    - *File-System
    - *NGINX
    - *PHP
    - *Python
    - *Ruby
    - *SSH
    - *Sys-Admin
    - *Transfer
    - *Virtualization
    - ansifilter
    - aqua
    - astronvim
    - automake
    - autorestic
    - bat
    - bfg
    - boringtun
    - buildkite-agent
    - clamav
    - cloudflared
    - cmake
    - cockpit
    - docker
    - dotnet
    - envchain
    - etcd
    - exiftool
    - expect
    - ffmpeg
    - fury
    - git
    - git-extras
    - git-filter-repo
    - git-lfs
    - git-secret
    - git-subrepo
    - gitlab-runner
    - gitomatic
    - glusterfs
    - glusterfs
    - go
    - gomplate
    - goofys
    - gradle
    - imagemagick
    - java
    - libimobiledevice
    - nebula
    - netdata
    - openssh-server
    - pm2
    - rclone
    - restic
    - rkhunter
    - rust
    - sake
    - samba
    - sapling
    - sftpgo
    - sharp
    - skate
    - snapcraft
    - solidity
    - sqlite
    - ssh-vault
    - sshfs
    - teller
    - tinypng
    - upx
    - warp
    - wazuh
    - windows-adk
    - windows-admin-center
    - windows-power-toys
  _Basic-Desktop: &_Basic-Desktop
    - *_Basic
    - *Essentials-Desktop
    - firewall-applet
    - firewall-config
    - mas
    - plymouth
    - stacer
  _Standard: &_Standard
    - *_Basic
    - *Backup
    - *Cloud-Storage
    - bitwarden-cli
  _Standard-Desktop-Filter:
    - discord
    - gitkraken
    - jitsi-meet
    - microsoft-teams
    - plex-htpc
    - slack
    - thunderbird
    - yubico-authenticator
    - zoom
  _Standard-Desktop: &_Standard-Desktop
    - *_Basic-Desktop
    - *Backup-Desktop
    - *Communication-Desktop
    - *Media-Desktop
    - *Misc-Desktop
    - *Productivity-Desktop
    - *Recording-Desktop
    - *Virtualization-Desktop
    - bitwarden
    - bottles
    - brave-browser
    - mailspring
    - protonvpn
    - tailscale
    - warp
  _Full: &_Full
    - *_Standard
    - *AI
    - *Android
    - *Ansible
    - *Backup
    - *Browsers
    - *CI
    - *CLI-Extras
    - *Cloud
    - *Cloud-Storage
    - *Crypto
    - *DNS
    - *Data-Manipulation
    - *Database
    - *Docker
    - *E-mail
    - *File-System
    - *Finance
    - *Git
    - *Git-Project-Tools
    - *Go
    - *Hacking
    - *Home
    - *Kubernetes
    - *Linting
    - *Logging
    - *Media
    - *Misc-Development-Tools
    - *NGINX
    - *Network-Enabled
    - *Networking
    - *Orchestration
    - *PHP
    - *Package-Management
    - *Python
    - *Recording
    - *Ruby
    - *SSH
    - *Security
    - *Server
    - *Shell-Scripting
    - *Social-Networking
    - *Sys-Admin
    - *Terraform
    - *Templates
    - *Testing
    - *Transfer
    - *Utilities
    - *Virtualization
    - *Web-Development
  _Full-Desktop: &_Full-Desktop
    - *_Full
    - *_Standard-Desktop
    - *AI-Desktop
    - *Android-Desktop
    - *Backup-Desktop
    - *Browsers-Desktop
    - *Communication-Desktop
    - *Crypto-Desktop
    - *Database-Desktop
    - *Development-Tools-Desktop
    - *E-mail-Desktop
    - *Engineering-Desktop
    - *File-System-Desktop
    - *Finance-Desktop
    - *Games-Desktop
    - *Git-Desktop
    - *Kubernetes-Desktop
    - *Media-Desktop
    - *Misc-Desktop
    - *Productivity-Desktop
    - *Recording-Desktop
    - *Security-Desktop
    - *Sys-Admin-Desktop
    - *Transfer-Desktop
    - *Virtualization-Desktop
    - *Web-Development-Desktop
  _ID-Desktop:
    - browsersaurus
    - monitorcontrol
    - warp-terminal
  __hostname__base-basic-tmpl:
    - *_Basic
    - *_Basic-Desktop
  __hostname__base-standard-tmpl:
    - *_Basic
    - *_Basic-Desktop
    - *Docker
  __hostname__base-full-tmpl:
    - *_Full-Desktop
  __hostname__anon-tmpl:
    - *Anon
  __hostname__crypto-tmpl:
    - *Crypto
    - *Crypto-Desktop
  __hostname__dev-tmpl:
    - *_Full-Desktop
  __hostname__gpg-tmpl: []
  __hostname__kubernetes-tmpl:
    - *Kubernetes
    - *Kubernetes-Desktop
    - *Networking
  __hostname__maas:
    - maas
  __hostname__media-tmpl:
    - *Media
    - *Media-Desktop
  __hostname__office-tmpl:
    - *Communication-Desktop
    - *Productivity-Desktop
  __hostname__personal-tmpl: []
  __hostname__provision-tmpl: []
  __hostname__remote-tmpl:
    - *Networking
    - filezilla
    - remote-desktop
    - teamviewer
  __hostname__swarm-tmpl:
    - *Backup
    - *Docker
    - *Networking
    - swarm
  __hostname__util-tmpl: []
  __hostname__vault-tmpl:
    - onlykey
  __hostname__vpn-pritunl-tmpl: []
  __hostname__vpn-proton-tmpl:
    - protonvpn
  __hostname__vpn-random-tmpl:
    - vpn
  __hostname__vpn-tailscale-tmpl:
    - tailscale
  __hostname__vpn-warp-tmpl:
    - warp
  __hostname__vpn-tmpl: []
  __hostname__web-tmpl:
    - *Browsers-Desktop
  __hostname__work-tmpl: []
  deprecated:
    - pkg: apt-cacher-ng
      note: Deprecated in favor of using Sonatype Nexus apt proxies.
    - pkg: adobe-creative-cloud
      note: Creates distracting boot window pop-up
    - pkg: ariang
      note: Not very polished and only available via cask
    - pkg: asdf
      note: ASDF is currently installed via a script rather than in the software definitions.
    - pkg: astronvim
      note: AstronVIM is deprecated in favor of NvChad which has more stars and is less troublesome to install (in our experience)
    - pkg: bivac
      note: Deprecated in favor of using the RClone Docker plugin for S3-backed mounts
    - pkg: boilr
      note: Deprecated in favor of using `gomplate`
    - pkg: captain
      note: Unused Docker assistance package
    - pkg: catfs
      note: CatFS is reportedly in the alpha stage of development and we experienced issues when trying to use it.
    - pkg: catlight
      note: Free tier has strict limitations and app is not very polished
    - pkg: ccat
      note: bat can be used instead and has more features
    - pkg: cerebro
      note: macOS system search more native way of providing similar features. Better alternatives are available.
    - pkg: chromium
      note: Deprecated in favor of the regular Chrome.
    - pkg: cumulus
      note: Unnecessary menu bar widget for SoundCloud.
    - pkg: diffsofancy
      note: Deprecated in favor of `delta`
    - pkg: filezilla
      note: FileZilla has an offensive user-interface. Absolutely atrocious.
    - pkg: gdu
      note: Deprecated in favor of `duf` which is written in Rust
    - pkg: gitdock
      note: Only supports GitLab
    - pkg: git-fuzzy
      note: Installed via dotfiles via git
    - pkg: graphql-playground
      note: Altair is more popular and well-maintained on GitHub
    - pkg: gvm
      note: Deprecated in favor of using ASDF.
    - pkg: hyper
      note: Deprecated in favor of Tabby for a full-featured terminal.
    - pkg: kitty
      note: Deprecated in favor of using alternative terminals such as iTerm2, Tabby, and bundled Linux terminals.
    - pkg: koodo-reader
      note: Unneeded and interface is not perfect
    - pkg: ksnip
      note: macOS version was lackluster
    - pkg: lepton
      note: Deprecated in favor of [Pieces](https://pieces.app/). The core components of Pieces are not open-source but the functionality is significantly better than massCode.
    - pkg: librewolf
      note: Creates ~/.librewolf and Firefox is preferred
    - pkg: loop
      note: Encountering error during cargo install
    - pkg: lpass
      note: Deprecated in favor of using the BitWarden password manager and its related tools.
    - pkg: lsd
      note: Deprecated in favor of using `exa`. `lsd` may be re-introduced when Windows support is added.
    - pkg: manta
      note: Replaced by web apps like waveapps.com
    - pkg: masscode # Deprecated in favor of Pieces
      note: Deprecated in favor of [Pieces](https://pieces.app/). The core components of Pieces are not open-source but the functionality is significantly better than massCode.
    - pkg: mcfly
      note: Deprecated in favor of atuin
    - pkg: microsoft-todo
      note: Deprecated in favor of Google Tasks
    - pkg: mullvad-vpn
      note: Switched to ProtonVPN exclusively
    - pkg: multipass
      note: Opens persistent menu icon on GNOME and has issues that sometimes require switching the virt driver
    - pkg: neovide
      note: Prefer other IDEs - neovim is good for the terminal though
    - pkg: nordvpn
      note: Deprecated in favor of leveraging ProtonVPN as the primary VPN service.
    - pkg: nvm
      note: Deprecated in favor of using ASDF.
    - pkg: nuclear
      note: Music app - UI is horrendous
    - pkg: orbstack
      note: Faster / better alternative to Docker Desktop on macOS. Deprecated because it does not support Docker Extensions and is only for macOS.
    - pkg: pip
      note: The `pip` installation is handled by the `install-program` program bundled with Install Doctor.
    - pkg: pipx
      note: The `pipx` installation is handled by the `install-program` program bundled with Install Doctor.
    - pkg: profilecreator
      note: macOS app that allows creating profiles. Crashes on macOS with enterprise managed settings due to read-only file access.
    - pkg: pyenv
      note: Deprecated in favor of using ASDF.
    - pkg: s3filesystem
      note: Deprecated in favor of using RClone.
    - pkg: starship
      note: Deprecated in favor of alternative terminal status prompts such as PowerLevel10k.
    - pkg: raindrop
      note: Deprecated because browser extensions do a better job of unifying bookmarks. Namely, the extension called Floccus allows cross-browser bookmark syncing. The Raindrop package also requires a paid subscription for advanced features.
    - pkg: rvm
      note: Deprecated in favor of using ASDF.
    - pkg: sdkman-cli
      note: Deprecated in favor of mise
    - pkg: sidekick
      note: Not free for all features
    - pkg: standard-notes
      note: Deprecated in favor of Obsidian / Notion
    - pkg: sqlectron
      note: beekeeper-studio preferred
    - pkg: stubby
      note: Causes issues when other programs are modifying the DNS resolving endpoint. Might be worth reinvestigating but ideally the DNS should be encrypted on pfSense or use CloudFlare WARP to handle it.
    - pkg: temps
      note: macOS menu bar app for weather. Buggy software.
    - pkg: taskwarrior
      note: Removed from default install because the binary executable conflicts with go-task's binary executable.
    - pkg: termius
      note: Deprecated since all the interesting features require a paid subscription.
    - pkg: ugm
      note: Error encountered while installing with Go reported [here](https://github.com/ariasmn/ugm/issues/2).
    - pkg: ulauncher
      note: Deprecated in favor of alternative app launchers.
    - pkg: vscodium
      note: Not all VSCode plugins work with VSCodium.
    - pkg: xhyve
      note: Disabled on Homebrew because it has not been modified for several years and does not build properly
    - pkg: yubikey-agent
      note: The OpenSSH library can now create native keys that integrate with the client.
    - pkg: chef-workstation
      note: Not utilizing Chef and it automatically adds a top bar menu item that causes load delay
    - pkg: wordops
      note: Prefer EasyEngine instead
  # Files below need to be reviewed before adding them to the stack. They should include all of the
  # definitions in software.yml that are not included somewhere in the definitions that this file
  # maps out.
  queued:
    - pkg: android-platform-tools
      note: Might only be needed in headless scenarios since Android Studio will download the tools
    - pkg: editly
      note: Editly NPM package is failing to install on macOS. Attempts to compile with node-gyp and fails.
    - pkg: hishtory
      note: Erroring out - waiting on an alternate installation method like Homebrew to be released
    - pkg: metasploit
      note: Determine whether or not this will be flagged by management settings
    - pkg: rancher-desktop
      note: Conflicts with Docker Desktop
    - pkg: rear
      note: System backup utility that may be incorporated after comparing it with alternative and perhaps better alternatives.
    - pkg: frps / frpc
      note: No need to integrate these packages at this time.
    - pkg: vector
      note: Package currently relies on bash one-liner script
    - pkg: catfs
      note: After `sudo apt-get install -y fuse libfuse-dev, the following error still shows up error could not find system library 'fuse' required by the 'fuse' crate
    - pkg: snapd
      note: Bundled into installer
    - pkg: signal
      note: Not needed - mostly a phone app
  helmCharts:
    - vector
helm:
  # helm repo add cloudflare-exporter https://lablabs.github.io/cloudflare-exporter/ && helm install cloudflare-exporter/cloudflare-exporter
  - name: cloudflare-exporter
    url: https://lablabs.github.io/cloudflare-exporter/
    pkg: cloudflare-exporter/cloudflare-exporter
  - name: juicefs
    url: https://juicedata.github.io/charts/
    pkg: juicefs/juicefs-csi-driver
softwarePlugins:
  alfred:
    cmd: null
    plugins:
      - https://github.com/BalliAsghar/mailsy-alfred/releases/download/2.0.0/Mailsy.alfredworkflow
  android-studio:
    cmd: bash -c 'if ! sdkmanager --list_installed | grep "{PLUGIN}" > /dev/null; then echo y | sdkmanager --install "{PLUGIN}"; fi'
    plugins:
      - add-ons;addon-google_apis-google-24
      # - build-tools;31.0.0
      # - build-tools;32.0.0
      # - build-tools;33.0.2
      - build-tools;34.0.0
      - cmake;3.22.1
      - cmdline-tools;latest
      - emulator
      - extras;android;m2repository
      - extras;google;auto
      - extras;google;google_play_services
      - extras;google;instantapps
      - extras;google;m2repository
      - extras;google;market_apk_expansion
      - extras;google;market_licensing
      - extras;google;simulators
      - extras;google;webdriver
      - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2
      - extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2
      - ndk-bundle
      - platform-tools
      # - platforms;android-31
      # - platforms;android-32
      # - platforms;android-33
      - platforms;android-34
      - skiaparser;3
      # - sources;android-31
      # - sources;android-32
      # - sources;android-33
      - sources;android-34
      # - system-images;android-31;default;x86_64
      # - system-images;android-32;android-desktop;x86_64
      # - system-images;android-33-ext5;google_apis_playstore;arm64-v8a                                
      # - system-images;android-33-ext5;google_apis_playstore;x86_64
      # - system-images;android-33;android-automotive;arm64-v8a
      # - system-images;android-33;android-automotive;x86_64
      # - system-images;android-33;android-desktop;arm64-v8a
      # - system-images;android-33;android-desktop;x86_64
      # - system-images;android-33;android-tv;arm64-v8a
      # - system-images;android-33;android-tv;x86
      # - system-images;android-33;android-wear;arm64-v8a
      # - system-images;android-33;android-wear;x86_64
      # - system-images;android-33;aosp_atd;arm64-v8a
      # - system-images;android-33;aosp_atd;x86_64
      # - system-images;android-33;default;arm64-v8a
      # - system-images;android-33;default;x86_64
      # - system-images;android-33;google-tv;arm64-v8a
      # - system-images;android-33;google-tv;x86
      # - system-images;android-33;google_apis;arm64-v8a
      # - system-images;android-33;google_apis;x86_64
      # - system-images;android-33;google_apis_playstore;arm64-v8a
      # - system-images;android-33;google_apis_playstore;x86_64
      # - system-images;android-33;google_atd;arm64-v8a
      # - system-images;android-33;google_atd;x86_64
      - system-images;android-34-ext8;google_apis_playstore;arm64-v8a
      - system-images;android-34-ext8;google_apis_playstore;x86_64
      - system-images;android-34;android-tv;arm64-v8a
      - system-images;android-34;android-tv;x86
      - system-images;android-34;default;arm64-v8a
      - system-images;android-34;default;x86_64
      - system-images;android-34;google-tv;arm64-v8a
      - system-images;android-34;google-tv;x86
      - system-images;android-34;google_apis;arm64-v8a
      - system-images;android-34;google_apis;x86_64
      - system-images;android-34;google_apis_playstore;arm64-v8a
      - system-images;android-34;google_apis_playstore;x86_64
      # - system-images;android-TiramisuPrivacySandbox;google_apis;arm64-v8a
      # - system-images;android-TiramisuPrivacySandbox;google_apis;x86_64
      # - system-images;android-TiramisuPrivacySandbox;google_apis_playstore;arm64-v8a
      # - system-images;android-TiramisuPrivacySandbox;google_apis_playstore;x86_64
      # - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;arm64-v8a
      # - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64
  composer:
    cmd: null
    plugins:
      - deployer/deployer
  docker:
    cmd: bash -c 'if ! docker extension list | grep "$(echo "{PLUGIN}" | sed 's/\:.*//')" > /dev/null; then echo y | docker extension install "{PLUGIN}"; fi'
    plugins:
      - ambassador/telepresence-docker-extension:1.0.19
      - docker/disk-usage-extension:0.2.8
      - docker/logs-explorer-extension:0.2.5
      - docker/resource-usage-extension
      - docker/volumes-backup-extension:1.1.4
      - drone/drone-ci-docker-extension:0.2.0
      - mutagenio/docker-desktop-extension:0.17.3
      - okteto/docker-desktop-extension:0.3.3
      - portainer/portainer-docker-extension:2.19.3
      - redhatdeveloper/openshift-dd-ext
      - snyk/snyk-docker-desktop-extension:0.7.4
      - tailscale/docker-extension:1.0.1
    when: docker extension list &> /dev/null
  docker-images:
    cmd: bash -c 'if ! docker image list | awk \'{print $1 " " $2}\' | grep "{PLUGIN}" > /dev/null; then docker pull "{PLUGIN}"; fi'
    plugins:
      - alpine:latest
      - postgres:10
      - postgres:12
      - postgres:latest
      - ubuntu:latest
  docker-plugins:
    cmd: bash -c 'if ! docker plugin ls | grep "{PLUGIN}" > /dev/null; then echo y | docker plugin install "{PLUGIN}"; fi'
    plugins:
      # TODO - Add https://github.com/ContainX/docker-volume-netshare
      - juicedata/juicefs
      - n0r1skcom/docker-volume-cephfs
      - sapk/plugin-rclone
      - vieux/sshfs
    when: docker plugin ls &> /dev/null
  dotnet:
    cmd: bash -c 'if ! dotnet tool list -g | grep "{PLUGIN}" > /dev/null; then dotnet tool install -g "{PLUGIN}"; fi'
    plugins:
      - Cake.Tool
      - microsoft.cst.attacksurfaceanalyzer.cli
      - dotnet-format
      - git-credential-manager
  gcloud:
    cmd: bash -c 'if ! gcloud components list | grep "^..Installed.*{PLUGIN}" > /dev/null; then echo "Installing.." && gcloud components install --quiet "{PLUGIN}"; fi'
    plugins:
      - app-engine-go
      - cloud-datastore-emulator
      - cloud-firestore-emulator
      - cloud-run-proxy
      - gke-gcloud-auth-plugin
      - log-streaming
      - pubsub-emulator
      - terraform-tools
    update: gcloud components update
  gh:
    cmd: bash -c 'if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" ]; then source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh"; fi && if [ -n "$GITHUB_TOKEN" ] && ! gh extension list | grep "{PLUGIN}" > /dev/null; then gh extension install "{PLUGIN}"; fi'
    plugins:
      - abdfnx/gh-tran
      - dlvhdr/gh-dash
      - github/gh-net
      - mislav/gh-cp
  intellij-idea-ce:
    cmd: bash -c 'if [ ! -f "${XDG_CACHE_HOME:-$HOME/.cache}/install.doctor/intellij-idea-ce" ] || ! cat "${XDG_CACHE_HOME:-$HOME/.cache}/install.doctor/intellij-idea-ce" | grep "${PLUGIN}" &> /dev/null; then idea installPlugins "{PLUGIN}" && mkdir -p "${XDG_CACHE_HOME:-$HOME/.cache}/install.doctor" && echo "{PLUGIN}" >> "${XDG_CACHE_HOME:-$HOME/.cache}/install.doctor/intellij-idea-ce"; fi'
    plugins:
      - AngularJS
      - app.pieces.plugins.jetbrains
      - com.dmarcotte.handlebars
      - com.github.copilot
      - com.github.masahirosuzuka.PhoneGapIntelliJPlugin
      - com.jetbrains.edu
      - com.jetbrains.rust
      - com.wakatime.intellij.plugin
      - org.intellij.plugins.hcl
      - com.intellij.lang.jsgraphql
      - com.chrisrm.idea.MaterialThemeUI
      - name.kropp.intellij.makefile
      - com.genymotion.idea
      - Docker
      - io.flutter
      - Dart
      - Jetbrains TeamCity Plugin
      - com.wakatime.intellij.plugin
      - mobi.hsz.idea.gitignore
      - NodeJS
      - org.editorconfig.editorconfigjetbrains
      - org.intellij.plugins.markdown
      - org.jetbrains.completion.full.line
      - org.jetbrains.plugins.go-template
  helm:
    cmd: bash -c '{PLUGIN}'
    plugins:
      - if ! helm plugin list | grep "Preview helm upgrade changes as a diff" > /dev/null; then helm plugin install https://github.com/databus23/helm-diff; fi
      - if ! helm plugin list | grep "Query at a given interval a Prometheus, ElasticSearch or Sentry instance." > /dev/null; then helm plugin install https://github.com/ContainerSolutions/helm-monitor; fi
      - if ! helm plugin list | grep "This plugin provides secrets values encryption for Helm charts secure storing" > /dev/null; then helm plugin install https://github.com/jkroepke/helm-secrets; fi
  krew:
    cmd: bash -c 'if ! kubectl krew list | grep "^{PLUGIN}$" > /dev/null; then if ! kubectl krew search "{PLUGIN}" | grep " unavailable on " > /dev/null; then kubectl krew install "{PLUGIN}"; else echo "UNSUPPORTED PLATFORM - {PLUGIN} is not supported on the current platform"; fi; fi'
    plugins:
      - access-matrix
      - cert-manager
      - cost
      - ctx
      - datree
      - deprecations
      # flyte fails to install on macOS arm64
      # W1105 install.go:164] failed to install plugin "flyte": plugin "flyte" does not offer installation for this platform
      - flyte
      - get-all
      - graph
      # ingress-nginx fails to install on macOS arm64
      # W1105 install.go:164] failed to install plugin "ingress-nginx": plugin "ingress-nginx" does not offer installation for this platform
      - ingress-nginx
      - karmada
      - konfig
      - kyverno
      - liqo
      - minio
      - modify-secret
      - neat
      - node-shell
      - ns
      - oidc-login
      - resource-capacity
      - score
      - sniff
      - tail
      - tree
      - tunnel
      - view-allocations
      # virt fails to install on macOS arm64
      # W1105 install.go:164] failed to install plugin "virt": plugin "virt" does not offer installation for this platform
      - virt
      # warp fails to install on macOS arm64
      # W1105 install.go:164] failed to install plugin "warp": plugin "warp" does not offer installation for this platform
      - warp
      - who-can
  obsidian:
    cmd: |
      #!/usr/bin/env bash
      PLUGIN_FOLDER="$(echo "{PLUGIN}" | sed 's/.*\/\(.*\)$/\1/')"
      MAIN_TMP="$(mktemp)" && curl -sSL "{PLUGIN}/releases/latest/download/main.js" > "$MAIN_TMP"
      MANIFEST_TMP="$(mktemp)" && curl -sSL "{PLUGIN}/releases/latest/download/manifest.json" > "$MANIFEST_TMP"
      STYLES_TMP="$(mktemp)"
      curl -sSL "{PLUGIN}/releases/latest/download/styles.css" > "$STYLES_TMP" || unset STYLES_TMP
      find "$HOME/Documents" -type d -maxdepth 5 -name ".obsidian" | while read OBSIDIAN_DIR; do
        mkdir -p "${OBSIDIAN_DIR}/plugins/${PLUGIN_FOLDER}"
        cp -f "$MAIN_TMP" "${OBSIDIAN_DIR}/plugins/${PLUGIN_FOLDER}/main.js"
        cp -f "$MANIFEST_TMP" "${OBSIDIAN_DIR}/plugins/${PLUGIN_FOLDER}/manifest.json"
        if [ -n "$STYLES_TMP" ]; then
          cp -f "$STYLES_TMP" "${OBSIDIAN_DIR}/plugins/${PLUGIN_FOLDER}/styles.css"
        fi
      done
    plugins:
      - https://github.com/aidenlx/media-extended
      - https://github.com/alangrainger/obsidian-google-photos
      - https://github.com/aleksey-rezvov/obsidian-local-images
      - https://github.com/alexandru-dinu/obsidian-sortable
      - https://github.com/AlexW00/obsidian-note-linker
      - https://github.com/argenos/nldates-obsidian
      - https://github.com/bingryan/obsidian-markdown-export-plugin
      - https://github.com/blacksmithgu/obsidian-dataview
      - https://github.com/bramses/chatgpt-md
      - https://github.com/Canna71/obsidian-janitor
      - https://github.com/caronchen/obsidian-epub-plugin
      - https://github.com/CIMSTA/obsidiosaurus
      - https://github.com/Clemens-E/obsidian-languagetool-plugin
      - https://github.com/coddingtonbear/obsidian-local-rest-api
      - https://github.com/dartungar/obsidian-mermaid
      - https://github.com/davish/obsidian-full-calendar
      - https://github.com/deathau/cm-editor-syntax-highlight-obsidian
      - https://github.com/deathau/csv-obsidian
      - https://github.com/denolehov/obsidian-git
      - https://github.com/devbean/obsidian-wordpress
      - https://github.com/dexin-qi/obsidian-sync-calendar
      - https://github.com/dhamaniasad/obsidian-rich-links
      - https://github.com/different-ai/obsidian-ava
      - https://github.com/EasyChris/obsidian-to-notion
      - https://github.com/Ellpeck/ObsidianCustomFrames
      - https://github.com/FlorianWoelki/obsidian-iconize
      - https://github.com/ganesshkumar/obsidian-table-editor
      - https://github.com/getmatterapp/obsidian-matter
      - https://github.com/HEmile/obsidian-search-on-internet
      - https://github.com/hipstersmoothie/obsidian-plugin-toc
      - https://github.com/ivan-lednev/obsidian-day-planner
      - https://github.com/jamesmagoo/nostr-writer
      - https://github.com/javalent/settings-search
      - https://github.com/joethei/obsidian-rss
      - https://github.com/jonstodle/obsius-obsidian-plugin
      - https://github.com/khoj-ai/khoj
      - https://github.com/liamcain/obsidian-calendar-plugin
      - https://github.com/liamcain/obsidian-periodic-notes
      - https://github.com/linjunpop/obsidian-gist
      - https://github.com/lukeleppan/better-word-count
      - https://github.com/lukeleppan/obsidian-discordrpc
      - https://github.com/Make-md/makemd
      - https://github.com/marcjulianschwarz/obsidian-file-link
      - https://github.com/marcusolsson/obsidian-projects
      - https://github.com/mcndt/obsidian-quickshare
      - https://github.com/meld-cp/obsidian-encrypt
      - https://github.com/mgmeyers/obsidian-kanban
      - https://github.com/mgmeyers/obsidian-style-settings
      - https://github.com/MrGVSV/obsidian-github-embeds
      - https://github.com/MSzturc/obsidian-advanced-slides
      - https://github.com/noatpad/obsidian-banners
      - https://github.com/NomarCub/obsidian-open-vscode
      - https://github.com/nybbles/obsidian-pocket
      - https://github.com/Obsidian-Desci/Obsidian-Desci
      - https://github.com/obsidian-tasks-group/obsidian-tasks
      - https://github.com/obsidianmd/obsidian-importer
      - https://github.com/ObsidianPublisher/obsidian-github-publisher
      - https://github.com/oeN/liquid-template
      - https://github.com/OliverBalfour/obsidian-pandoc
      - https://github.com/oliveryh/obsidian-emoji-toolbar
      - https://github.com/omnivore-app/obsidian-omnivore
      - https://github.com/ozntel/file-tree-alternative
      - https://github.com/phibr0/obsidian-charts
      - https://github.com/phibr0/obsidian-dictionary
      - https://github.com/pieces-app/obsidian-pieces
      - https://github.com/pieces-app/obsidian-pieces.git
      - https://github.com/platers/obsidian-linter
      - https://github.com/polyipseity/obsidian-terminal
      - https://github.com/ravimashru/obsidian-show-file-path
      - https://github.com/sbquinlan/obsidian-handlebars
      - https://github.com/scambier/obsidian-omnisearch
      - https://github.com/shabegom/buttons
      - https://github.com/snezhig/obsidian-front-matter-title
      - https://github.com/tadashi-aikawa/obsidian-various-complements-plugin
      - https://github.com/trashhalo/obsidian-webhooks
      - https://github.com/twentytwokhz/language-translator
      - https://github.com/twibiral/obsidian-execute-code
      - https://github.com/Vinzent03/find-unlinked-files
      - https://github.com/Vinzent03/obsidian-advanced-uri
      - https://github.com/weichenw/obsidian-hypothesis-plugin
      - https://github.com/xryul/obsidian-image-converter
      - https://github.com/YukiGasai/obsidian-google-calendar
      - https://github.com/YukiGasai/obsidian-google-tasks
      - https://github.com/zsviczian/excalibrain
      - https://github.com/zsviczian/obsidian-excalidraw-plugin
  # raycast: Manually install Raycast extensions - no CLI method
  steampipe:
    cmd: bash -c 'if [ ! -f /tmp/steampipe-plugin-list ]; then steampipe plugin list > /tmp/steampipe-plugin-list; fi && if ! cat /tmp/steampipe-plugin-list | grep "{PLUGIN}" > /dev/null; then steampipe plugin install "{PLUGIN}"; fi'
    plugins:
      - algolia
      - aws
      - azure
      - azuread
      - azuredevops
      - bitbucket
      - buildkite
      - cloudflare
      - code
      - config
      - consul
      - csv
      - digitalocean
      - docker
      - gcp
      - github
      - googledirectory
      - googlesheets
      - googleworkspace
      - grafana
      - heroku
      - hibp
      - imap
      - ipinfo
      - jira
      - jumpcloud
      - kubernetes
      - ldap
      - linkedin
      - net
      - nomad
      - openai
      - prometheus
      - reddit
      - rss
      - sentry
      - shopify
      - slack
      - stripe
      - tailscale
      - terraform
      - trivy
      - twilio
      - whois
      - ernw/openstack
      - theapsgroup/gitlab
      - theapsgroup/keycloak
      - theapsgroup/vault
      - twitter
    update: steampipe plugin update --all
  teams:
    cmd: echo "Teams plugins are installed via the Teams app"
    plugins:
      - name: Pieces
        plugin: https://teams.microsoft.com/l/app/789f23b3-d882-45ca-b3a3-de7f850656ea
  vagrant:
    cmd: bash -c 'if ! vagrant plugin list | grep "{PLUGIN}" > /dev/null; then vagrant plugin install "{PLUGIN}"; fi'
    plugins:
      - vagrant-bindfs
      - vagrant-digitalocean
      - vagrant-google
      - vagrant-hostmanager
      - vagrant-libvirt
      # Dependency issues
      # - vagrant-openstack-provider
      # - vagrant-openstack
      - vagrant-parallels
      # Dependency issue
      # - vagrant-proxmox
      - vagrant-share
      - vagrant-vbguest
      - vagrant-vmware-desktop
      - vagrant-xenserver
  visual-studio:
    cmd: null # VSIXInstaller.exe can be used to install a local file. The first step is to download the plugin file. https://gist.github.com/ScottHutchinson/b22339c3d3688da5c9b477281e258400
    plugins:
      - GitHub.copilotvs
      - TemplateStudio.TemplateStudioForWinUICs
      - lepo.wpf-ui
  vim:
    plugins:
      - https://github.com/airblade/vim-gitgutter.git
      - https://github.com/dense-analysis/ale.git
      - https://github.com/editorconfig/editorconfig-vim.git
      - https://github.com/ekalinin/dockerfile.vim.git
      - https://github.com/fatih/vim-go.git
      - https://github.com/github/copilot.vim
      - https://github.com/hdima/python-syntax.git
      - https://github.com/junegunn/fzf.git
      - https://github.com/junegunn/fzf.vim.git
      - https://github.com/kristijanhusak/vim-carbon-now-sh.git
      - https://github.com/mxw/vim-jsx.git
      - https://github.com/Yggdroot/indentLine
      - https://github.com/nanotee/zoxide.vim.git
      - https://github.com/pangloss/vim-javascript.git
      - https://github.com/pearofducks/ansible-vim.git
      - https://github.com/plasticboy/vim-markdown.git
      - https://github.com/sheerun/vim-polyglot.git
      - https://github.com/prettier/vim-prettier.git
      - https://github.com/ryanoasis/vim-devicons.git
      - https://github.com/scrooloose/nerdtree.git
      - https://github.com/stanangeloff/php.vim.git
      - https://github.com/terryma/vim-multiple-cursors.git
      - https://github.com/tpope/vim-fugitive.git
      - https://github.com/tpope/vim-sensible.git
      - https://github.com/justinmk/vim-sneak.git
      - https://github.com/tpope/vim-surround.git
      - https://github.com/vim-airline/vim-airline.git
      - https://github.com/vim-syntastic/syntastic.git
      - https://github.com/leafgarland/typescript-vim.git
  # Handled by script that looks at ~/.config/Code/extensions.json
  # vscode:
  #   cmd: bash -c 'if ! code --list-extensions | grep "{PLUGIN}" > /dev/null; then code --install-extension "{PLUGIN}"; fi'
  #   plugins:
  #     - GitHub.copilot
  # vscodium:
  #   cmd: bash -c 'if ! codium --list-extensions | grep "{PLUGIN}" > /dev/null; then codium --install-extension "{PLUGIN}"; fi'
  #   plugins:
  #     - GitHub.copilot
qubes:
  dom0Packages:
    - bismuth
    - latte-dock
    - nautilus
    - nautilus-gtkhash
    - nautilus-search-tool
    - kde-settings-qubes
    - kdeplasma-addons
    - konsole
    - kscreen
    - kvantum
    - plymouth-kcm
    - sssd-kcm
    - sddm-kcm
  mirageUrl: https://github.com/mirage/qubes-mirage-firewall/releases/latest/download/mirage-firewall.tar.bz2
  promptKeyboards: false
  provisionVM: provision
  templates:
    # - centos-8
    # - centos-8-minimal
    # - debian-10
    - debian-11
    - debian-11-minimal
    - fedora-37
    - fedora-38
    - fedora-38-minimal
    # - gentoo
    # - gentoo-minimal
    # - kali
    - whonix-gw-16
    - whonix-ws-16
  templatesUnofficial:
    - https://qubes.3isec.org/Templates_4.1/qubes-template-archlinux-4.0.6-202204171510.noarch.rpm
    - https://qubes.3isec.org/Templates_4.1/qubes-template-debian-12-4.0.6-202208292254.noarch.rpm
    - https://qubes.3isec.org/Templates_4.1/qubes-template-jammy-4.0.6-202205012228.noarch.rpm

perfectStack:
  darwin:
    - warp-terminal