Update .local/share/chezmoi/software.yml, .local/share/chezmoi/home/private_dot_config/shell/exports.sh.tmpl, .local/share/chezmoi/home/dot_local/bin/executable_gist, .local/share/chezmoi/home/.chezmoi.yaml.tmpl, .local/share/chezmoi/docs/CHEZMOI-INTRO.md, .local/share/chezmoi/system/etc/sanoid/sanoid.conf.TODO, .local/share/chezmoi/home/dot_local/bin/executable_install-program, .local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_after_14-cleanup-windows

This commit is contained in:
Brian Zalewski 2022-12-06 12:53:19 +00:00
parent cb8ec5c7f2
commit d9280fbdb1
8 changed files with 190 additions and 7 deletions

View file

@ -67,6 +67,12 @@ records.
* Environment variable: `CLOUDFLARE_API_TOKEN`
### GitHub Gist Token
Pass in a GitHub token with the `gist` scope to be able to use the `gist` CLI tool without having to authenticate.
* Environment variable: `GITHUB_GIST_TOKEN`
### GitHub Read-Only Token
Pass in a GitHub read-only token linked to your account to automatically save a backup of your

View file

@ -12,6 +12,7 @@
{{- $cloudflareSecretAccessKey := "" -}}
{{- $cloudflareR2AccountId := "" -}}
{{- $githubUsername := (default "ProfessorManhattan" (env "GITHUB_USERNAME")) -}}
{{- $githubGistToken := (default "" (env "GITHUB_GIST_TOKEN")) -}}
{{- $githubReadToken := (env "GITHUB_READ_TOKEN") -}}
{{- $gitlabReadToken := (env "GITLAB_READ_TOKEN") -}}
{{- $locale := (output "echo" "$LANG") }}
@ -132,6 +133,9 @@
{{- if not (env "GITHUB_USERNAME") -}}
{{- $githubUsername = promptStringOnce $data.user "githubUsername" "GitHub username" $githubUsername -}}
{{- end -}}
{{- if not (env "GITHUB_GIST_TOKEN") -}}
{{- $githubGistToken = promptStringOnce $data.user "githubGistToken" "GitHub Gist token" $githubGistToken -}}
{{- end -}}
{{- if not (env "GITLAB_READ_TOKEN") -}}
{{- $gitlabReadToken = promptStringOnce $data.user "gitlabReadToken" "GitLab read-only token" $gitlabReadToken }}
{{- end -}}
@ -212,6 +216,7 @@ data:
CLOUDSDK_CORE_PROJECT: "megabyte-labs"
GCE_CREDENTIALS_FILE: "{{ joinPath .chezmoi.homeDir ".config" "gcp.json" }}"
GCE_SERVICE_ACCOUNT_EMAIL: "molecule@megabyte-labs.iam.gserviceaccount.com"
GITHUB_GIST_TOKEN: "{{ $githubGistToken }}"
GITHUB_READ_TOKEN: "{{ $githubReadToken }}"
GITLAB_READ_TOKEN: "{{ $gitlabReadToken }}"
NGROK_AUTH_TOKEN: "{{ $ngrokAuthToken }}"

View file

@ -0,0 +1,4 @@
Remove-Item -Recurse -Force C:\PerfLogs
Remove-Item -Recurse -Force C:\$WinREAgent
Remove-Item C:\Users\*\Desktop\*lnk -Force
Clear-RecycleBin -Force

View file

@ -0,0 +1,5 @@
#!/usr/bin/env bash
echo {{ .user.GITHUB_GIST_TOKEN }} > ~/.gist
gist $@
rm -f ~/.gist

View file

@ -500,6 +500,12 @@ async function afterInstall(packageManager) {
}
} else if (packageManager === "apk") {
} else if (packageManager === "apt") {
try {
await $`sudo apt-get autoclean`
await $`sudo apt-get autoremove`
} catch (e) {
log("error", logStage, 'Error cleaning up apt')
}
} else if (packageManager === "basher") {
} else if (packageManager === "binary") {
} else if (packageManager === "brew" || packageManager === "cask") {

View file

@ -308,4 +308,6 @@ fi
### WSL
export LIBGL_ALWAYS_INDIRECT="1"
export BROWSER='/mnt/c/Program\ Files\ \(x86\)/Google/Chrome/Application/chrome.exe'
{{ else }}
export BROWSER=google-chrome
{{ end }}

View file

@ -12,9 +12,11 @@
# Full example of a softwarePackage:
# altair:
# _bin: ng # Instead of checking if the object key (altair) is in the PATH, check if "ng" is in the PATH and only proceed if it is not available
# _deps: # Any piece of data can be a string or array. _deps will take each dep and run that through the installer first
# _deps: # Any piece of data can be a string or array. _deps will take each dep and run that through the installer first. If you need to just install dependencies with apt (for instance), you can also set the _deps equals to [altair:deps] and then define the apt dependencies like that instead of creating a new entry for each apt dependency.
# - angular-cli
# _docker: docker run --rm bannmann/docker-cheat # Command that the _bin value should alias to (similar to Whalebrew)
# _groups: # Groups that should be created / user added to
# - docker
# _when: | # Run the script defined with _when and only proceed if it exits with a 0
# test -f /usr
# _pre: |
@ -54,6 +56,7 @@
# snap: altair
# whalebrew:
# winget: Neovim.Neovim
# xbps: altair
# yay: altair
# zypper: altair
# angular-cli:
@ -332,6 +335,15 @@ softwarePackages:
_name: Aria2/AriaNg
_service: null
ansible: professormanhattan.aria
apt: aria2
brew: aria2
choco: aria2
dnf: aria2
pacman: aria2
port: aria2
scoop: aria2
ariang:
cask: ariang
asciinema:
_bin: null
_desc: null
@ -573,6 +585,7 @@ softwarePackages:
_name: Beets
_service: null
ansible: professormanhattan.beets
pipx: beets
betwixt:
_bin: null
_desc: Web Debugging Proxy based on Chrome DevTools Network panel
@ -1416,12 +1429,11 @@ softwarePackages:
_name: Docker Slim
_service: false
_type: cli
ansible: professormanhattan.dockerslim
brew: docker-slim
dnf: golang-github-docker-slim
github: github.com/docker-slim/docker-slim
yay: docker-slim
dockerpushrm:
docker-pushrm:
_bin: null
_desc: '[docker-pushrm](https://github.com/christian-korneck/docker-pushrm) is a Docker CLI plugin that adds a new docker pushrm command to Docker. The command pushes the README file from the current working directory to a container registry server. When using it with DockerHub, you can programmatically upload your README so that it shows up on your containers landing page.'
_docs: null
@ -1643,8 +1655,41 @@ softwarePackages:
_name: Empty Trash CLI
_service: false
npm: empty-trash-cli
envchain:
_deps:
- envchain:deps
_bin: envchain
_desc: Environment variables meet macOS Keychain and gnome-keyring
_docs: https://github.com/sorah/envchain#usage
_github: https://github.com/sorah/envchain
_home: https://github.com/sorah/envchain
_name: envconsul
_service: false
_type: cli
brew: envchain
github: github.com/sorah/envchain
envchain:deps:
apt:
- gnome-keyring
- gcc
- gnome-keyring
- libsecret-1-dev
- make
- libreadline-dev
dnf:
- gcc
- gnome-keyring
- libsecret-devel
- make
- readline-devel
pacman:
- gcc
- gnome-keyring
- libsecret
- make
- readline
envconsul:
_bin: null
_bin: envconsul
_desc: Launch a subprocess with environment variables using data from @hashicorp Consul and Vault
_docs: null
_github: https://github.com/hashicorp/envconsul
@ -1652,6 +1697,8 @@ softwarePackages:
_name: envconsul
_service: null
_type: cli
ansible: professormanhattan.envconsul
brew: envconsul
github: github.com/hashicorp/envconsul
environment:
_bin: null
@ -1801,6 +1848,7 @@ softwarePackages:
_name: Fig
_service: null
ansible: professormanhattan.fig
cask: fig
filebrowser:
_bin: null
_desc: '[File Browser](https://filebrowser.org/) is a tool that lets you browse and edit files on any mounting point in the operating system.'
@ -1948,6 +1996,8 @@ softwarePackages:
- homebrew/cask-fonts/font-meslo-lg-nerd-font
fpm:
_bin: null
_deps:
- fpm:deps
_desc: '[fpm](https://github.com/jordansissel/fpm) (short for Effing package management) allows you to build packages for multiple platforms with great ease. The source of your package can be a gem, Python module, pear, directory, .tar.gz, rpm, deb, Node.js package, or pacman package. The target packages it supports are deb, rpm, solaris, freebsd, tar, directory, Mac OS X .pkg file, or pacman package.'
_docs: null
_github: null
@ -1956,6 +2006,23 @@ softwarePackages:
_service: null
ansible: professormanhattan.fpm
gem: fpm
fpm:deps:
apt:
- build-essential
- ruby-dev
- rubygems
brew:
- gnu-tar
dnf:
- gcc
- libffi-devel
- make
- rpm-build
- ruby-devel
- rubygems
pacman:
- base-devel
- gcc
fq:
_bin: null
_desc: jq for binary formats
@ -1996,7 +2063,7 @@ softwarePackages:
_type: cli
github: github.com/sgarciac/fuego
snap: fuego
fuse:
macfuse:
_bin: null
_desc: '[macFUSE](https://osxfuse.github.io/) allows you to extend macOS via third party file systems.'
_docs: null
@ -2005,6 +2072,7 @@ softwarePackages:
_name: Fuse
_service: null
ansible: professormanhattan.fuse
cask: macfuse
fx:
_bin: fx
_desc: A terminal JSON viewer.
@ -2068,8 +2136,9 @@ softwarePackages:
_name: Google Cloud SDK
_service: false
ansible: professormanhattan.googlecloudsdk
brew: google-cloud-sdk
cask: google-cloud-sdk
choco: gcloudsdk
snap: google-cloud-sdk
yay: google-cloud-sdk
gdown:
_bin: null
@ -2146,7 +2215,9 @@ softwarePackages:
_service: null
_type: cli
ansible: professormanhattan.ghorg
brew: gabrie30/utils/ghorg
github: github.com/gabrie30/ghorg
go: github.com/gabrie30/ghorg@latest
yay: ghorg
gimp:
_bin: null
@ -2173,6 +2244,7 @@ softwarePackages:
_name: gist
_service: null
ansible: professormanhattan.gist
gem: gist
git:
_bin: git
_desc: null
@ -2254,7 +2326,11 @@ softwarePackages:
_home: null
_name: git-extras
_service: null
ansible: professormanhattan.gitextras
ansible:windows: professormanhattan.gitextras
apt: git-extras
brew: git-extras
dnf: git-extras
pacman: git-extras
git-fuzzy:
_bin: null
_desc: '[git-fuzzy](https://github.com/bigH/git-fuzzy) is an interactive `git` that is built on the shoulders of [`fzf`](https://gitlab.com/megabyte-labs/ansible-roles/fzf).'
@ -2406,7 +2482,28 @@ softwarePackages:
_service: null
_post:pipx: pipx inject glances glances[all]
ansible: professormanhattan.glances
apt:
- python3-dev
- python3-jinja2
- python3-pip
- python3-psutil
- python3-setuptools
- gcc
- glances
- lm-sensors
- wireless-tools
brew: glances
dnf:
- gcc
- glances
- lm_sensors
- python3-devel
- python3-pip
pacman:
- glances
- python
- lm_sensors
- wireless_tools
pipx: glances
port: glances
glen:
@ -3425,6 +3522,7 @@ softwarePackages:
_name: Lexicon
_service: null
ansible: professormanhattan.lexicon
pipx: dns-lexicon[full]
libimobiledevice:
_bin: null
_desc: null
@ -3850,6 +3948,21 @@ softwarePackages:
github: github.com/agalwood/Motrix
scoop: motrix
yay: motrix-bin
mpg123:
_bin: null
_desc: null
_docs: null
_github: null
_home: null
_name: mpg123
_service: null
apt: mpg123
brew: mpg123
choco: mpg123
dnf: mpg123
pacman: mpg123
port: mpg123
scoop: mpg123
mqttx:
_bin: null
_desc: MQTT X - Elegant Cross-platform MQTT 5.0 Desktop Client
@ -3896,7 +4009,12 @@ softwarePackages:
_home: null
_name: Multipass
_service: null
_post:cask: multipass set local.driver=virtualbox
_post:choco: multipass set local.driver=virtualbox
ansible: professormanhattan.multipass
cask: multipass
choco: multipass
snap: multipass
mycli:
_bin: mycli
_desc: A terminal client for MySQL with auto-completion and syntax highlighting.
@ -4072,6 +4190,9 @@ softwarePackages:
_name: Ngrok
_service: null
ansible: professormanhattan.ngrok
cask: ngrok
choco: ngrok
snap: ngrok
ngxtop:
_bin: null
_desc: null
@ -4164,6 +4285,8 @@ softwarePackages:
ansible: professormanhattan.nordvpn
normit:
_bin: null
_deps:
- mpg123
_desc: '[Normit](https://github.com/pawurb/normit) allows you to easily translate any text from one language to another. It also includes the ability to generate audio through speech synthesis as well.'
_docs: null
_github: null
@ -4171,6 +4294,7 @@ softwarePackages:
_name: Normit
_service: null
ansible: professormanhattan.normit
npm: normit
np:
_bin: null
_desc: null
@ -4256,8 +4380,15 @@ softwarePackages:
_github: null
_home: null
_name: onlykey
_post:snap: |
sudo curl -sSL https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/pages/49-onlykey.rules -o /etc/udev/rules.d/49-onlykey.rules
sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
_service: null
ansible: professormanhattan.onlykey
choco: onlykey
snap: onlykey-app
oq:
_bin: null
_desc: A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data
@ -4614,7 +4745,10 @@ softwarePackages:
_home: null
_name: Powershell
_service: null
_snapClassic: true
ansible: professormanhattan.powershell
cask: powershell
snap: powershell
pre-commit:
_bin: null
_desc: null
@ -5126,6 +5260,15 @@ softwarePackages:
_name: Sanoid
_service: null
ansible: professormanhattan.sanoid
apt:
- libcapture-tiny-perl
- libconfig-inifiles-perl
- libdata-dump-perl
- lzop
- mbuffer
- mhash2
- pv
- sanoid
santa:
_bin: null
_desc: A binary authorization system for MacOS (santa) role is a daemon that makes execution decisions based on the contents of a local database, a GUI agent that notifies the user in case of a block decision and a command-line utility for managing the system and synchronizing the database with a server.
@ -5768,10 +5911,16 @@ softwarePackages:
_desc: '[sysdig](https://www.sysdig.com/) is a simple tool for deep system visibility, exploration and troubleshooting, with native support for containers.'
_docs: null
_github: null
_groups:
- sysdig
_home: null
_name: sysdig
_service: null
ansible: professormanhattan.sysdig
brew: sysdig
pacman:
- sysdig
- sysdig-dkms
sysget:
_bin: null
_desc: One package manager to rule them all
@ -6396,6 +6545,7 @@ softwarePackages:
_name: Wails
_service: null
ansible: professormanhattan.wails
go: github.com/wailsapp/wails/cmd/wails@latest
warp:
_bin: null
_desc: '[Cloudflare WARP Client](https://cloudflarewarp.com/) is a free app that makes your Internet safer'
@ -6406,6 +6556,7 @@ softwarePackages:
_service: null
_when:darwin: '! test -d "/Applications/Cloudflare WARP.app"'
ansible: professormanhattan.warp
cask: cloudflare-warp
watchexec:
_bin: watchexec
_desc: Executes commands in response to file modifications.
@ -6435,6 +6586,10 @@ softwarePackages:
_name: Watchman
_service: null
ansible: professormanhattan.watchman
brew: watchman
choco: watchman
port: watchman
scoop: watchman
waypoint:
_bin: null
_desc: '[HashiCorp Waypoint](https://www.waypointproject.io/) allows developers to deploy, manage, and observe their applications through a consistent abstraction of underlying infrastructure. Waypoint works with Kubernetes, ECS and many other platforms.'