From 055568954c6feae0dcb8846dc361fb6829a61253 Mon Sep 17 00:00:00 2001 From: Brian Zalewski Date: Tue, 6 Dec 2022 04:44:36 +0000 Subject: [PATCH] Update .local/share/chezmoi/home/.chezmoidata.yaml, .local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10-install-packages.tmpl, .local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl --- .local/share/chezmoi/home/.chezmoidata.yaml | 906 +++++++----------- ...un_onchange_after_10-install-packages.tmpl | 6 +- .../dot_local/bin/executable_provision.tmpl | 2 +- 3 files changed, 348 insertions(+), 566 deletions(-) diff --git a/.local/share/chezmoi/home/.chezmoidata.yaml b/.local/share/chezmoi/home/.chezmoidata.yaml index edd7c1de..8ecc73bb 100644 --- a/.local/share/chezmoi/home/.chezmoidata.yaml +++ b/.local/share/chezmoi/home/.chezmoidata.yaml @@ -23,473 +23,61 @@ config: fonts: main: Montserrat Bold softwareGroups: - Basic: &basic - - aria2 - - bash-completion - - bat - - bitwarden-cli - - chezmoi - - curl - - curlie - - delta - - direnv - - docker - - elasticagent - - empty-trash - - exa - - fd - - ffsend - - fkill - - fzf - - glances - - glow - - gping - - gtop - - gum - - m-cli - - mas - - neovim - - node - - oh-my-posh - - skate - - speed-test - - task - - vim - - wget - - whalebrew - - wifi-password - - zoxide - - zx - Basic-Desktop: &basicDesktop - - *basic - - brave-browser - - firefox - - fonts - - tabby - - vscode - Network-Enabled: - - cloudflared - - cockpit - - cups - - lexicon - # - maas - - ngxtop - Standard: &standard - - *basic - - bitly - - bottom - - broot - - cheat - - commitizen - - croc - - ctop - - dasel - - dat - - deno - - difftastic - - dog - - duf - - dust - - fq - - fselect - - fx - - gdrive - - gist - - git - - git-lfs - - git-open - - glusterfs - - gnu - - go - - gomplate - - googler - - gphotos-sync - - grex - - gron - - htop - - hyperfine - - imagemagick - - imgur-uploader - - is-up - - jq - - kvm - - lxdc - - mas - - mcfly - - mkcert - - mycli - - nb - - netcat - - nmap - - nnn - - ots - - pass - - peco - - pm2 - - pnpm - - prettier - - procs - - pup - - pywhat - - rclone - - restic - - ripgrep - - ripgrep-all - - rm-improved - - rsync - - sd - - shellcheck - - serve - - share - - sharp - - spotdl - - sqlite - - ssh-vault - - sysbench - - t-rec - - teller - - tig - - tinypng - - tldr - - tmux - - translate - - tree - - typescript - - up - - vagrant - - vault - - vim - - volta - - watchexec - - yj - - ykman - - youtube-dl - - yq - - yubikey-manager - - zsh - Standard-Desktop: &standardDesktop - - *basicDesktop - - autokey - - balenaetcher - - bitwarden-cli - - cerebro - - google-chrome - - clocker - - cumulus - - dat-desktop - - google-assistant - - gimp - - inkscape - - jitsi-meet-electron - - keybase - - kodi - - ledgerlive - - libreoffice - - lollypop - - mailspring - - microsoft-office - - microsoft-todo - - motrix - - nuclear - # - onionshare - - parallels - - peek - - plex - - portmaster - - pretzel - - proton - - qbittorrent - - qlplugins - - remote-desktop - - rofi - # - secretive - - sharex - - shotcut - - shotwell - - skype - - slack - - stats - - microsoft-teams - - teamviewer - - temps - - timeshift - - virtualbox - - vlc - - webtorrent - - yubikey-authenticator - - yubikey-manager-qt - - zoom - Development: &development - - *standard - - beets - - bin - - browser-sync - - bundler - - caniuse - - carbon-now - - carthage - - clair - - cmake - - cocoapods - - composer - - container-structure-test - - cookiecutter - - cordova - - delve - - deno - - desed - - dframe - - dive - - docker-slim - - dockle - - dotenv-linter - - dotnet - - dprint - - drone - - easyengine - - editly - - electron - - emma - - emoj - - eslint - - etcd - - exiftool - - fastify - - feathers - - filebrowser - - firebase - - flutter - - fpm - - fq - - fuego - - fx - - gcloud - - gdown - - gfi - - gh - - ghorg - - git-filter-repo - - git-lfs - - git-secret - - gitui - - gitextras - - gitfuzzy - - gitlabrunner - - gitleaks - - gitomatic - - gitsome - - gitstats - - gixy - - glab - - glen - - go-chromecast - - go-outline - - golangci-lint - - gomodifytags - - gopkgs - - gopls - - gotests - - grype - - gulp - - hadolint - - hclq - - heroku - - hexyl - - hey - - hostctl - - htmlq - - http-prompt - - httpie - - httpstat - - hub - - ideviceinstaller - - impl - - infracost - - ionic - - ios-deploy - - ipfs - - ipfs-deploy - - jiq - - jo - - litecli - - jqp - - juju - - libimobiledevice - - localtunnel - - mc # TODO - - mitmproxy - - mkcert - - mockoon - - molecule - - mycli - - nativefier - - ncc - - nectar - - nest - - newman - - node-prune - - nomad - - nomino - - np - - npm-check - - oq - - package-size - - packer - - pageres - - pandoc - - pastel - - pkg - - playwright - - psi - - psu - - ramda - - rancher - - ruby - - rust - - s5cmd - - schema - - scrcpy - - sdkman - - semantic-release - - sentry-cli - - serverless - - shc - - shdoc - - shfmt - - slackterm - - sloth - - snitch - - starred - - statcode - - staticcheck - - stegcloak - - surge - - svgo - - t - - t-rec - - terminalizer - - tokei - - trellis - - trivy - - trufflehog - - ts2c - - up - - upx - - virtualenv - - watchexec - - watchman - - waypoint - - websocat - - whaler - - winrm-cli - - wireshark - - wkhtmltopdf - - wordpressify - - wrangler - - xurls - - yamllint - - yank - - yarn - Development-Desktop: &developmentDesktop - - *standardDesktop - - altair - - android-studio - - appium - - fig - - filezilla - - gitdock - - gitify - - gitkraken - - intellij-idea-ce - - ipfs-desktop - - iterm2 - - lepton - - microsoft-edge - - mjml - - mqttx - - postman - - pre-commit - - quasar - - raspberry-pi-imager - - redis-desktop-manager - - responsively - - runjs - - sqlectron - - visual-studio - Experimental: &experimental - - *development - - asciicinema - - assh - - astronvim - - awxcli - - budibase-cli - - cfssl - - chef - - chrome-cli - - cointop - - confd - - consul - - curator - - deta - - difftastic - - doctl - - envconsul - - fission - - fly - - fm - - fselect - - gdown - - gojq - - himalaya - - lazygit - - linuxkit - - logcli - - mergestat - - minikube - - mole - - muffet - - nebula - - osquery - - page-fetch - - papertrail - - poetry - - pony - - q - - sftpgo - - skm - - social-analyzer - - solidity - - teleport - - teller - - termius - - tfenv - - tflint - - tilt - - vector - Experimental-Desktop: &experimentalDesktop - - *developmentDesktop - - betwixt - - manta - - mark-text - - masscode - - mullvad-vpn - - powershell Android: &Android + - scrcpy Android-Desktop: &Android-Desktop - - *Android - android-studio + - scrcpy-gui Ansible: &Ansible - ansible - ansible-lint - ansibleconnect - awxcli - molecule - Backup: + - winrm-cli + Ansible-Roles: &Ansible-Roles + - ssh + - swarm + - vpn + - wsl + - yubikey + - antivirus + - common + - connect + - debloat + - defaultbrowser + - desktop + - disks + - dns + - dnsmasq + - easyengine + - environment + - extensions + - finish + - firewall + - fuse + - guacamole + - hosthomepage + - hosts + - motd + - pfsense + - pihole + - pip + - prepare + - security + - ssh + - swarm + - maas + Backup: &Backup - autorestic - ghorg - Basicz: - - curl - Browsers: + - restic + - sanoid + Backup-Desktop: &Backup-Desktop + - timeshift + Browsers: &Browsers + - w3m + Browsers-Desktop: &Browsers-Desktop - brave-browser - google-chrome - chrome-cli @@ -502,7 +90,7 @@ softwareGroups: - fpm - gitlab-runner - glen - CLI: + CLI: &CLI - bash-completion - bandwhich - bat @@ -510,6 +98,7 @@ softwareGroups: - broot - cheat - chezmoi + - curl - curlie - delta - direnv @@ -521,6 +110,7 @@ softwareGroups: - fd - fkill - fzf + - git - glances - glow - gnu @@ -539,10 +129,33 @@ softwareGroups: - oh-my-posh - pass - procs - CLI-Extras: + - prettier + - recoverpy + - ripgrep + - ripgrep-all + - rm-improved + - rsync + - sd + - snapd + - task + - tmux + - tor + - translate + - tree + - vim + - volta + - watchexec + - watchman + - wget + - whalebrew + - wifi-password + - yq + - zoxide + - zsh + - zx + CLI-Extras: &CLI-Extras - bin - bitly - - cointop - desed - emoj - fig @@ -566,7 +179,15 @@ softwareGroups: - peco - pgcli - pywhat - Cloud: + - slackterm + - social-analyzer + - speed-test + - statcode + - stegcloak + - tldr + - up + - yank + Cloud: &Cloud - awscli - azure-cli - azurefunctions @@ -583,18 +204,30 @@ softwareGroups: - lexicon - logcli - psu - Cloud-Storage: + - rancher-cli + Cloud-Storage: &Cloud-Storage - gdrive - gphotos-sync - Crypto: - Crypto-Desktop: - - *Crypto + - rclone + - s5cmd + Communication-Desktop: &Communication-Desktop + - microsoft-teams + - jitsi-meet + - skype + - slack + - zoom + Crypto: &Crypto + - cointop + Crypto-Desktop: &Crypto-Desktop - keybase - ledger-live - monero # - onionshare - onlykey - Data: + DNS: &DNS + - hostctl + - switchhosts + Data-Manipulation: &Data-Manipulation - dasel - fq - fselect @@ -608,43 +241,26 @@ softwareGroups: - osquery - pup - q - E-mail: - - himalaya - E-mail-Desktop: - - mailspring - - protonmail-bridge - Desktop: - - cerebro - - clocker - - cumulus - - jitsi-meet - - pretzel - Development-Tools: - - aqua - - asdf - # - astronvim - - automake - - bundler - - carthage - - chef - - cmake - - cocoapods - - dotnet - - gradle - - ideviceinstaller - - ios-deploy - - java - - libimobiledevice - - php + - ramda + - schema + - transfer + - xurls + - yj + - yq + Database: &Database + - sqlite + Database-Desktop: &Database-Desktop + - sqlectron Development-Tools-Desktop: &Development-Tools-Desktop - intellij-idea-ce - iterm2 - - lepton # snippet manager - - masscode # snippet manager + - lepton + - masscode - powershell - DNS: - - hostctl - Docker: + - redis-desktop-manager + - visual-studio + - xcode + Docker: &Docker - bane - clair - container-structure-test @@ -655,9 +271,26 @@ softwareGroups: - dockle - grype - gvisor - Finance: + - supdock + - trivy + - trufflehog + - whaler + E-mail: &E-mail + - himalaya + E-mail-Desktop: &E-mail-Desktop + - mailspring + - protonmail-bridge + Essentials: &Essentials + - docker + Essentials-Desktop: &Essentials-Desktop + - firefox + - portainer + - tabby + - vlc + - vscode + Finance: &Finance - infracost - Finance-Desktop: + Finance-Desktop: &Finance-Desktop - manta Git: &Git - commitizen @@ -678,12 +311,14 @@ softwareGroups: - hub - lazygit - mergestat - Git-Desktop: - - *Git + - starred + - tig + Git-Desktop: &Git-Desktop + - *ref_4 - gitdock - gitify - gitkraken - Go: + Go: &Go - delve - go - go-outline @@ -692,35 +327,10 @@ softwareGroups: - gopls - gotests - impl - Home: + - staticcheck + - wails + Home: &Home - go-chromecast - Linting: - - ansible-lint - - dotenv-linter - - dprint - - eslint - - gitleaks - - golangci-lint - - hadolint - - pre-commit - Logging: - - fuego - - papertrail - NGINX: - - certbot - - cfssl - - gixy - - mkcert - - nginx - - ngxtop - Package-Management: - - homebrew - Testing: &Testing - - allure - - appium - - molecule - Testing-Desktop: &Testing-Desktop - - *Testing Kubernetes: &Kubernetes - cmctl - kdash @@ -733,91 +343,226 @@ softwareGroups: - kubeval - linkerd2 - minikube + - tilt - velero Kubernetes-Desktop: &Kubernetes-Desktop - - *Kubernetes - lens - Media: - - balenaetcher + Linting: &Linting + - ansible-lint + - dotenv-linter + - dprint + - eslint + - gitleaks + - golangci-lint + - hadolint + - pre-commit + - shellcheck + - shfmt + - tflint + - tokei + - yamllint + Logging: &Logging + - fuego + - papertrail + - sentry-cli + Media: &Media - beets - editly - exiftool - ffmpeg - imagemagick - Media-Desktop: + - pandoc + - sharp + - spotdl + - svgo + - tinypng + - wkhtmltopdf + - youtube-dl + Media-Desktop: &Media-Desktop + - balenaetcher - gimp - inkscape - kodi - lollypop - nuclear - plex - Networking: + - raspberry-pi-imager + - shotcut + - shotwell + - vlc + Misc-Desktop: &Misc-Desktop + - cerebro + - clocker + - cumulus + - pretzel + - qlplugins + - remote-desktop + - rofi + - secretive + - stats + - temps + - teamviewer + Misc-Development-Tools: &Misc-Development-Tools + - aqua + # - asdf # Handled by dotfiles + # - astronvim + - automake + - bundler + - carthage + - chef + - cmake + - cocoapods + - dotnet + - gradle + - ideviceinstaller + - ios-deploy + - java + - libimobiledevice + - rust + - sdkman + - solidity + - upx + - windows-adk + - windows-admin-center + - windows-power-toys + NGINX: &NGINX + - certbot + - cfssl + - gixy + - mkcert + - nginx + # - maas + - ngxtop + Network-Enabled: &Network-Enabled + - cockpit + - cups + - lexicon + Networking: &Networking - etcd - cloudflared - glusterfs - mole - nebula - ngrok - PHP: + - ssl-proxy + - tailscale + - warp + Orchestration: &Orchestration + - nomad + - pm2 + - waypoint + PHP: &PHP - composer - Productivity: + - php + Package-Management: &Package-Management + - homebrew + - whalebrew + - zap + Productivity-Desktop: &Productivity-Desktop - libreoffice - microsoft-office - microsoft-todo - Python: + Python: &Python - poetry - python - Recording: + - virtualenv + Recording: &Recording - asciinema - carbon-now - dframe + - t-rec Recording-Desktop: &Recording-Desktop - peek + - sharex + Ruby: &Ruby + - ruby + SSH: &SSH + - assh + - skm + - ssh-vault + - sshpass + - ssh-tarpit + - sync-ssh-keys + - teleport Security: &Security - bitwarden-cli - pony + - skate + - ssh-vault + - teller + - vault + - ykman + - yubikey-manager Security-Desktop: &Security-Desktop - - *Security - bitwarden - mullvad-vpn - - nordvpn - portmaster - protonvpn - Server: + - santa + - yubikey-authenticator + - yubikey-manager-qt + Server: &Server - cockpit - consul - cups - elastic-agent - netdata - Specialty: - - maas - SSH: - - assh - Sys-Admin: + - samba + - sftpgo + - vector + - wazuh + Shell-Scripting: &Shell-Scripting + - shc + - shdoc + - shellcheck + - shfmt + Social-Networking: &Social-Networking + - social-analyzer + - t + Sys-Admin: &Sys-Admin - ctop - gtop - htop - Templates: + - sysbench + - sysdig + - sysget + - upt + - winrm-cli + - wireshark-cli + Sys-Admin-Desktop: &Sys-Admin-Desktop + - quasar + - sloth + - snitch + - wireshark + Templates: &Templates - confd - cookiecutter - gomplate - Transfer: + Terraform: &Terraform + - terraform + - tfenv + - tflint + Testing: &Testing + - allure + - appium + - molecule + Transfer: &Transfer + - aria2 - croc - dat - ffsend - gdown - ots - Misc-Tools: - - nomad - - pandoc - - pm2 - Transfer-Desktop: + - share + Transfer-Desktop: &Transfer-Desktop - dat-desktop - filezilla - motrix - Utilities: + - qbittorrent + - webtorrent + Utilities: &Utilities - nativefier - Virtualization: & + Virtualization: &Virtualization - kvm - linuxkit - lxdc @@ -825,8 +570,8 @@ softwareGroups: - packer - vagrant Virtualization-Desktop: &Virtualization-Desktop - - *Virtualization - parallels + - virtualbox - vmware Web-Development: &Web-Development - angular-cli @@ -866,8 +611,19 @@ softwareGroups: - playwright - pnpm - psi + - semantic-release + - serve + - serverless + - surge + - trellis + - ts2c + - websocat + - wordpressify + - wp-cli + - wrangler + - wrk + - yarn Web-Development-Desktop: &Web-Development-Desktop - - *Web-Development - altair - betwixt - ipfs-desktop @@ -875,11 +631,33 @@ softwareGroups: - mockoon - mqttx - postman + - responsively + - runjs + _Basic: &_Basic + << : [*CLI, *Essentials] + _Basic-Desktop: &_Basic-Desktop + << : [*_Basic, *Essentials-Desktop] + _Standard: &_Standard + << : [*_Basic, *Backup, *Cloud-Storage] + - bitwarden-cli + _Standard-Desktop: &_Standard-Desktop + << : [*_Basic-Desktop, *Backup-Desktop, *Communication-Desktop, *Media-Desktop, *Misc-Desktop, *Productivity-Desktop, *Recording-Desktop, *Virtualization-Desktop] + - bitwarden + - brave-browser + - mailspring + - protonvpn + - tailscale + - warp + _Full: &_Development + << : [*_Standard, *Android, *Ansible, *Backup, *Browsers, *CI, *CLI-Extras, *Cloud, *Cloud-Storage, *Crypto, *DNS, *Data-Manipulation, *Database, *Docker, *E-mail, *Finance, *Git, *Go, *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: &_Development-Desktop + << : [*_Full, *_Standard-Desktop, *Android-Desktop, *Backup-Desktop, *Browsers-Desktop, *Communication-Desktop, *Crypto-Desktop, *Database-Desktop, *Development-Tools-Desktop, *E-mail-Desktop, *Finance-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] deprecated: + - apt-cacher-ng - bivac - boilr - captain - - consultemplate + - consul-template - diffsofancy - difftastic - emplace @@ -892,15 +670,19 @@ softwareGroups: - lpass - lsd - mackup + - nordvpn - nvm - pyenv + - s3filesystem + - starship - raindrop - rear + - rvm - sad - supdock + - termius - transfer - ulauncher - - upt softwarePlugins: vim: plugins: @@ -929,4 +711,4 @@ softwarePlugins: - https://github.com/prettier/vim-prettier.git - https://github.com/tpope/vim-sensible.git - https://github.com/tpope/vim-surround.git - - https://github.com/nanotee/zoxide.vim.git + - https://github.com/nanotee/zoxide.vim.git \ No newline at end of file diff --git a/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10-install-packages.tmpl b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10-install-packages.tmpl index 8a102fad..43fe8cbc 100644 --- a/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10-install-packages.tmpl +++ b/.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_10-install-packages.tmpl @@ -3,17 +3,17 @@ {{- includeTemplate "universal/profile" }} {{- includeTemplate "universal/logg" }} -# software: {{ index .softwareGroups .host.softwareGroup | toString | replace "[" "" | replace "]" "" }} +# software: {{ index .softwareGroups (join "_" .host.softwareGroup) | toString | replace "[" "" | replace "]" "" }} # software map: {{ include (joinPath .chezmoi.homeDir ".local" "share" "chezmoi" "software.yml") | sha256sum }} if command -v install-program > /dev/null; then if command -v zx > /dev/null; then logg info 'Installing packages defined in .chezmoidata.yaml under the .softwareGroups key' - logg info 'Installing: {{ index .softwareGroups .host.softwareGroup | toString | replace "[" "" | replace "]" "" }}' + logg info 'Installing: {{ index .softwareGroups (join "_" .host.softwareGroup) | toString | replace "[" "" | replace "]" "" }}' # Ask for the administrator password upfront logg info 'A sudo password may be required for some of the installations' sudo echo "Sudo access granted." - install-program {{ index .softwareGroups .host.softwareGroup | toString | replace "[" "" | replace "]" "" }} + install-program {{ index .softwareGroups (join "_" .host.softwareGroup) | toString | replace "[" "" | replace "]" "" }} else logg error '`zx` is not available' fi diff --git a/.local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl b/.local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl index d02229f0..3f46d066 100644 --- a/.local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl +++ b/.local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl @@ -226,7 +226,7 @@ if [ ! -f "$HOME/.config/chezmoi/chezmoi.yaml" ]; then if command -v gum > /dev/null; then if [ -z "$SOFTWARE_GROUP" ]; then logg prompt 'Select the software group you would like to install. If your environment is a macOS, Windows, or environment with the DISPLAY environment variable then desktop software will be installed too. The software groups are in the ~/.local/share/chezmoi/home/.chezmoidata.yaml file.' - SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Development" "Experimental")" + SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Full")" fi fi