diff --git a/.config/taskfiles/common/Taskfile.yml b/.config/taskfiles/common/Taskfile.yml index b9e2023d..44a86ab9 100644 --- a/.config/taskfiles/common/Taskfile.yml +++ b/.config/taskfiles/common/Taskfile.yml @@ -134,10 +134,10 @@ tasks: sh: mktemp cmds: - | - curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}' - export ZXXXY="$(yq e '.' {{.MODEL_TMP}})" + curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}.yml' + export ZXXXY="$(yq e '.' {{.MODEL_TMP}}.yml)" yq e -i '. | .vars = (env(ZXXXY) | .vars) | .env = (env(ZXXXY) | .env)' Taskfile.yml - yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}' Taskfile.yml + yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}.yml' Taskfile.yml requirements: deps: diff --git a/.config/taskfiles/fix/Taskfile.yml b/.config/taskfiles/fix/Taskfile.yml index 76f3784d..f27d7a26 100644 --- a/.config/taskfiles/fix/Taskfile.yml +++ b/.config/taskfiles/fix/Taskfile.yml @@ -277,11 +277,11 @@ tasks: start: Running Prettier on {{if .CLI_ARGS}}`{{.CLI_ARGS}}`{{else}}project{{end}} cmds: - cmd: | - prettier --plugin node_modules/prettier-plugin-toml-fixed --ignore-path {{.PRETTIERIGNORE_CONFIG}} \ + prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \ --write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}} || EXIT_CODE=$? if [ -n "$EXIT_CODE" ]; then .config/log warn 'Failed to run `prettier` - falling back to `prettier`' - prettier --plugin node_modules/prettier-plugin-toml-fixed --ignore-path {{.PRETTIERIGNORE_CONFIG}} \ + prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \ --write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}} fi ignore_error: true diff --git a/.vscode/settings.json b/.vscode/settings.json index c4a57fb0..1f60933a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,7 +3,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[javascript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[javascriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" @@ -12,7 +12,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[json]": { - "editor.defaultFormatter": "vscode.json-language-features" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "[jsonc]": { "editor.defaultFormatter": "esbenp.prettier-vscode" @@ -33,7 +33,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[yaml]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "dbaeumer.vscode-eslint" }, "codetour.customTourDirectory": ".config/codetour.yml", "editor.defaultFormatter": "esbenp.prettier-vscode", diff --git a/docs/CHEZMOI-INTRO.md b/docs/CHEZMOI-INTRO.md index 6763bf64..d3055138 100644 --- a/docs/CHEZMOI-INTRO.md +++ b/docs/CHEZMOI-INTRO.md @@ -1,170 +1,5 @@ -## User / Environment Variable Configuration +# Environment Variable Configuration -This script will automatically set up a handful of different configurations / integrations -if you decide to add your information. The script will first check for environment variables -and then show prompts to fill in the gaps if the system is not headless. Below you can find -a description of what each piece of information is used for as well as the name of the -environment variable you can specify to bypass the prompt. +Install Doctor can provision most of the system without additional input. However, you can take advantage of more features if you pass in variables with API keys which are used to leverage free cloud services. -If a description starts off with **Environment Variable Only** then the prompt system will not ask you for the default value. Instead, you should run `export VARIABLE_NAME="VALUE_HERE"` for each value you want to utilize before you proceed with the provisioning. - -### Fork / Source Repository - -To use a fork (if you made modifications to the original project), set this equal to one of the following: - -1. Your GitHub username if you forked this project and the project slug is `install.doctor` -2. Your GitHub username / slug if you changed it from `install.doctor` (e.g. `ProfessorManhattan/install.doctor`) -3. A git remote URL (e.g. `git@gitlab.com:megabyte-labs/install.doctor`) - -- Environment variable: `START_REPO` - -Note, this variable is used by the `bash <(curl -sSL https://install.doctor/start)` command and is not used anywhere in the project itself. - -### Headless Install - -Set to true if you would like all prompts to be bypassed. If you have not already set up -your encryption keys, then the encryption process will be bypassed and default fallback -files will be used. Set to any value to perform a headless installation. - -- Environment variable: `HEADLESS_INSTALL` - -### Work Environment - -Set to true if you are setting up a work environment where things like Tor should -not be installed. - -- Environment variable: `WORK_ENVIRONMENT` - -### Restricted Environment - -Set to true if you are setting up an environment that should not use sudo / administrator -privileges. This is a WIP. - -- Environment variable: `RESTRICTED_ENVIRONMENT` - -### Software Group - -The category you select for software group will determine which list of software should be -installed. The lists are configurable by modifying `~/.local/share/chezmoi/software.yml`. - -- Environment variable: `SOFTWARE_GROUP` - -### Name - -Enter your full name as you would like it to appear in configuration files such as the Git -configuration. - -- Environment variable: `FULL_NAME` - -### E-mail - -Enter your primary e-mail address. - -- Environment variable: `PRIMARY_EMAIL` - -### Public GPG Key ID - -**Environment Variable Only** If you have a public GPG key available on the Ubuntu or MIT keyservers, then you can enter it -so that it is automatically imported. - -- Environment variable: `KEYID` - -### Timezone - -Enter your timezone in the format of `America/New_York`. It should be available in the TZ database. - -- Environment variable: `TIMEZONE` - -### Domain - -The domain address you would like to use for any part of the deployment that involves launching -a publicly web service. - -- Environment variable: `PUBLIC_SERVICES_DOMAIN` - -### CloudFlare API Token - -The API token is used to automatically configure various web services that rely on public DNS -records. - -- Environment variable: `CLOUDFLARE_API_TOKEN` - -### GitHub Gist Token - -**Environment Variable Only** 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 - -**Environment Variable Only** Pass in a GitHub read-only token linked to your account to automatically save a backup of your -GitHub repositories. For more information, see [this link](https://github.com/gabrie30/ghorg#scm-provider-setup). - -- Environment variable: `GITHUB_READ_TOKEN` - -### GitLab Read-Only Token - -**Environment Variable Only** Pass in a GitLab read-only token linked to your account to automatically save a backup of your -GitLab repositories. For more information, see [this link](https://github.com/gabrie30/ghorg#scm-provider-setup). - -- Environment variable: `GITLAB_READ_TOKEN` - -### G-mail Address - -**Environment Variable Only** Add a G-mail address which you would like to use as the handler for outgoing SMTP mail. - -- Environment variable: `GMAIL_ADDRESS` - -### G-mail App Password - -**Environment Variable Only** Add the app password to your G-mail address so that outgoing mail can be handled by G-mail. - -- Environment variable: `GMAIL_APP_PASSWORD` - -### Ngrok Authentication Token - -**Environment Variable Only** Add your Ngrok authentication token so that the configuration file can be automatically -generated. - -- Environment Variable: `NGROK_AUTH_TOKEN` - -### Slack API Token - -**Environment Variable Only** Add your Slack API token so that `slackterm` can be automatically set up. - -- Environment Variable: `SLACK_API_TOKEN` - -### Surge.sh Username - -**Environment Variable Only** Add your surge.sh username to automatically sign into surge.sh. Encrypted password should be stored -in `.chezmoitemplates/secrets/key-surgesh-password` to leverage this functionality. - -### Tailscale Auth Key - -**Environment Variable Only** Add a Tailscale authentication key so that Tailscale can be automatically connected to your Tailscale network. - -- Environment Variable: `TAILSCALE_AUTH_KEY` - -### OpenVPN Username - -- Environment Variable: `OVPN_USERNAME` - -### OpenVPN Password - -- Environment Variable: `OVPN_PASSWORD` - -### VMWare Workstation Key - -- Environment Variable: `VMWARE_WORKSTATION_LICENSE_KEY` - -### Google Cloud SDK Default E-mail - -- Environment Variable: `GCE_SERVICE_ACCOUNT_EMAIL` - -### Google Cloud SDK Default Project - -- Environment Variable: `CLOUDSDK_CORE_PROJECT` - -### Snapcraft E-mail - -- `SNAPCRAFT_EMAIL` +For more details on how you can customize your deployment, check out the [Customization](https://install.doctor/customization) and the [Integrating Secrets](https://install.doctor/customization/secrets) documentation. diff --git a/home/.chezmoiscripts/universal/run_onchange_after_14-warp.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_14-warp.tmpl index 9637c4bf..cc4506be 100644 --- a/home/.chezmoiscripts/universal/run_onchange_after_14-warp.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_after_14-warp.tmpl @@ -32,10 +32,10 @@ if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]] && com # warp-cli set-mode warp+doh # TODO - {{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-teams-client-id")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-teams-client-secret")) -}} + {{ if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID"))) (env "CLOUDFLARE_TEAMS_CLIENT_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_SECRET"))) (env "CLOUDFLARE_TEAMS_CLIENT_SECRET")) -}} ### Enroll with CloudFlare Teams logg info 'Enrolling with CloudFlare Teams' - warp-cli teams-enroll '{{- includeTemplate "secrets/key-cloudflare-teams-client-id" | decrypt -}}' '{{- includeTemplate "secrets/key-cloudflare-teams-client-secret" | decrypt -}}' + warp-cli teams-enroll '{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID")) }}{{ includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_ID" | decrypt }}{{ else }}{{ env "CLOUDFLARE_TEAMS_CLIENT_ID" }}{{ end }}' '{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_SECRET")) }}{{ includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_SECRET" | decrypt }}{{ else }}{{ env "CLOUDFLARE_TEAMS_CLIENT_SECRET" }}{{ end }}' {{- end }} fi diff --git a/home/.chezmoiscripts/universal/run_onchange_after_24-vpn-linux.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_24-vpn-linux.tmpl index 7cc7102d..0605e367 100644 --- a/home/.chezmoiscripts/universal/run_onchange_after_24-vpn-linux.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_after_24-vpn-linux.tmpl @@ -1,8 +1,17 @@ -{{- if and (eq .host.distro.family "linux") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) -}} +{{- if (eq .host.distro.family "linux") -}} #!/usr/bin/env bash -{{ $ovpnUsername := (default (env "OVPN_USERNAME") ((includeTemplate "secrets/key-ovpn-username") | decrypt)) }} -{{ $ovpnPassword := (default (env "OVPN_PASSWORD") ((includeTemplate "secrets/key-ovpn-password") | decrypt)) }} +{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OVPN_USERNAME")) }} +{{ $ovpnUsername := includeTemplate "secrets/OVPN_USERNAME" | decrypt }} +{{ else }} +{{ $ovpnUsername := (env "OVPN_USERNAME") }} +{{ end }} + +{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OVPN_PASSWORD")) }} +{{ $ovpnPassword := includeTemplate "secrets/OVPN_PASSWORD" | decrypt }} +{{ else }} +{{ $ovpnPassword := (env "OVPN_PASSWORD") }} +{{ end }} {{ includeTemplate "universal/profile" }} {{ includeTemplate "universal/logg" }} @@ -59,6 +68,7 @@ if command -v nmcli > /dev/null; then logg info 'See the `docs/VARIABLES.md` file for details.' fi +{{ if (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) }} ### Setup WireGuard profiles if [ -d /etc/NetworkManager/system-connections ]; then find "${XDG_CONFIG_HOME:-$HOME/.config}/vpn" -type f -name "*.nmconnection" | while read WG_FILE; do @@ -85,6 +95,7 @@ if command -v nmcli > /dev/null; then else logg warn '/etc/NetworkManager/system-connections is not a directory!' fi +{{ end -}} ### Restart NetworkManager if changes were made and environment is not WSL if [ "$RESTART_NM" == 'true' ] && [[ ! "$(test -d proc && grep Microsoft /proc/version > /dev/null)" ]]; then diff --git a/home/.chezmoiscripts/universal/run_onchange_after_26-system-vscode-node-modules.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_26-system-vscode-node-modules.tmpl new file mode 100644 index 00000000..04f17871 --- /dev/null +++ b/home/.chezmoiscripts/universal/run_onchange_after_26-system-vscode-node-modules.tmpl @@ -0,0 +1,30 @@ +{{- if (ne .host.distro.family "windows") -}} +#!/usr/bin/env bash + +{{ includeTemplate "universal/profile" }} +{{ includeTemplate "universal/logg" }} + +if command -v code > /dev/null && command -v pnpm > /dev/null && [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" ]; then + ### Install linter fallback node_modules / package.json to system or home directory + if sudo cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" /package.json; then + logg info 'Successfully copied linter fallback configurations package.json to /package.json' + logg info 'Installing system root directory node_modules' + cd / && sudo pnpm i --no-lockfile || EXIT_CODE=$? + else + logg warn 'Unable to successfully copy linter fallback configurations package.json to /package.json' + logg info 'Installing linter fallback configurations node_modules to home directory instead' + cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" "$HOME/package.json" + cd ~ && pnpm i --no-lockfile || EXIT_CODE=$? + fi + + ### Log message if install failed + if [ -n "$EXIT_CODE" ]; then + logg warn 'Possible error(s) were detected while installing linter fallback configurations to the home directory.' + else + logg success 'Installed linter fallback configuration node_modules' + fi +else + logg info 'Skipping installation of fallback linter configurations because one or more of the dependencies is missing.' +fi + +{{ end -}} diff --git a/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.tmpl index 536b2284..67d6b95c 100644 --- a/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_after_44-vmware-install.tmpl @@ -2,8 +2,8 @@ #!/usr/bin/env bash {{- $secretKey := "" -}} -{{- if (stat (joinPath (.chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-VMWARE_WORKSTATION_LICENSE_KEY"))) -}} -{{- $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (includeTemplate "secrets/key-VMWARE_WORKSTATION_LICENSE_KEY" | decrypt)) -}} +{{- if (stat (joinPath (.chezmoi.sourceDir ".chezmoitemplates" "secrets" "VMWARE_WORKSTATION_LICENSE_KEY"))) -}} +{{- $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (includeTemplate "secrets/VMWARE_WORKSTATION_LICENSE_KEY" | decrypt)) -}} {{- else -}} {{- $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (env "VMWARE_WORKSTATION_LICENSE_KEY")) -}} {{- end }} diff --git a/home/.chezmoiscripts/universal/run_onchange_after_57-netdata.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_57-netdata.tmpl index 07a70903..efeb3ff3 100644 --- a/home/.chezmoiscripts/universal/run_onchange_after_57-netdata.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_after_57-netdata.tmpl @@ -1,4 +1,4 @@ -{{- if and (ne .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-NETDATA_TOKEN")) (env "NETDATA_TOKEN")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-NETDATA_ROOM")) (env "NETDATA_ROOM")) -}} +{{- if and (ne .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_TOKEN")) (env "NETDATA_TOKEN")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_ROOM")) (env "NETDATA_ROOM")) -}} #!/usr/bin/env bash {{ includeTemplate "universal/profile" }} @@ -6,8 +6,8 @@ ### Claim the instance with Netdata Cloud if command -v netdata-claim.sh > /dev/null; then - NETDATA_TOKEN="$(cat "{{ .chezmoi.sourceDir }}/.chezmoitemplates/secrets/key-netdata-token" | chezmoi decrypt)" - NETDATA_ROOM="$(cat "{{ .chezmoi.sourceDir }}/.chezmoitemplates/secrets/key-netdata-room" | chezmoi decrypt)" + NETDATA_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_TOKEN")) }}{{ includeTemplate "secrets/NETDATA_TOKEN" | decrypt }}{{ else }}{{ env "NETDATA_TOKEN" }}{{ end }}" + NETDATA_ROOM="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_ROOM")) }}{{ includeTemplate "secrets/NETDATA_ROOM" | decrypt }}{{ else }}{{ env "NETDATA_ROOM" }}{{ end }}" netdata-claim.sh -token="$NETDATA_TOKEN" -rooms="$NETDATA_ROOM" -url="{{ .netdataClaimURL }}" # Kernel optimizations diff --git a/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl index abcf9af1..36168eba 100644 --- a/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl +++ b/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl @@ -1,4 +1,4 @@ -{{- if and (ne .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "tailscale")) -}} +{{- if or (and (ne .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "TAILSCALE_AUTH_KEY")) (env "TAILSCALE_AUTH_KEY")) -}} #!/usr/bin/env bash ### Install the Tailscale system daemon @@ -14,7 +14,7 @@ if [ -d /Applications ] && [ -d System ]; then fi ### Connect to Tailscale network -TAILSCALE_AUTH_KEY="$(cat "{{ .chezmoi.sourceDir }}/.chezmoitemplates/secrets/key-netdata-token" | chezmoi decrypt)" +TAILSCALE_AUTH_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "TAILSCALE_AUTH_KEY")) }}{{ includeTemplate "secrets/TAILSCALE_AUTH_KEY" | decrypt }}{{ else }}{{ env "TAILSCALE_AUTH_KEY" }}{{ end }}" if command -v tailscale > /dev/null && [ "$TAILSCALE_AUTH_KEY" != "" ]; then logg info 'Connecting to Tailscale with user-defined authentication key' timeout 14 tailscale up --authkey="$TAILSCALE_AUTH_KEY" --accept-routes || EXIT_CODE=$? diff --git a/home/.chezmoitemplates/secrets/google-assistant-client-secret b/home/.chezmoitemplates/files/google-assistant-client-secret similarity index 100% rename from home/.chezmoitemplates/secrets/google-assistant-client-secret rename to home/.chezmoitemplates/files/google-assistant-client-secret diff --git a/home/.chezmoitemplates/secrets/google-assistant-tokens b/home/.chezmoitemplates/files/google-assistant-tokens similarity index 100% rename from home/.chezmoitemplates/secrets/google-assistant-tokens rename to home/.chezmoitemplates/files/google-assistant-tokens diff --git a/home/.chezmoitemplates/secrets/gphotos-sync b/home/.chezmoitemplates/files/gphotos-sync similarity index 100% rename from home/.chezmoitemplates/secrets/gphotos-sync rename to home/.chezmoitemplates/files/gphotos-sync diff --git a/home/.chezmoitemplates/files/tabby b/home/.chezmoitemplates/files/tabby new file mode 100644 index 00000000..6a0fce55 --- /dev/null +++ b/home/.chezmoitemplates/files/tabby @@ -0,0 +1,173 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2VG93RVdJWEgvTlp6M3Zi +NGxrZTNjRm1HZ05Xc01uL2JQYmJ2aThnYVd3Ckx5OFZQODJNNEFiV3A1Yk5IbENZ +V3VOM2lsbXpXd3dVQ2ZVZC9nOTQ1TFUKLS0tIFpuZEZ4SFRScVpQZEZRZy9ZSVhI +QlFLbTVTaUNYK2ZhSzhqWEliWGpibkEKxM+YRRrJiCupt/URAknmPR5MHKfB8McE +e7BoUO1+qLboyAvTFQuwDRhfJu578xQ0FC6lNaknngUcsAaqzIdV4qLm5fUGEEJJ +7jxHHWsjk52qSpVJp8Hqu4ew1yrjaOZtlTm+aJ6sfTnyUWHGiALc+i4upAa5yA4B +OCOm6Yub25tRU9hm2m58wqFgJzfu654baLY7kwb146tlKOPhvlJveyOy+1ghCrj7 +nUL5tAx+rm6XF+h7AEOecKSEYnncKa0TP8I+oKr8MyuHwD+iNLT5RDnO0qxVUYWX +7g0TPNLFVbMCUUWTAsMNKLGLKJ8WRoB6uKJa+Pq4ZvwAMx8dGyZk+NP2Nj8HuY3+ +rdZDDNlCy723NYXEeX+SpWjXHPpIqEUvPGeRDtRlNu+5U6ILOaLvL20RxizIgoON +YCdFrrV7ixSU0GX8QHSgpMJY9vcYOy8F0/QDsK2e4ljfbwAHVuE8lHQEaT3gskG4 +3sMK2rw5LHFuYK03od+ogY5HA2QvFpuUy/h80MI33jyvwrgrhxV8oJ2xQJUvX7Fn +bfDLicwfL6B9orSmlRPGPwNZC6UuxqLnQr47PdB+GnFYbgEx4ZQ03rdSGirM8D6m +GgbdTaYXb81GqNRwD1VKx+GlhFLwSRXlkEEZnkx91dz54Wb6GXIHGa1T9ldupcbi +V/jHrvLvjusIKrbrj/P3DmxgpKgxH29dhbCBp5zMMWsoMEyl55Y3Ff5ldsYNS1F4 +wihDGV2p633jhdmRKM2nR535bQ4/Gb98osKkPB8s8rbI5HM/wc93mSnKyMRcruLM +K51Gk4sFGvNHje7EYniqDRaBFoMl+tPKYuB9Rkv3x99itsdtKFUqU0pawB7IapCi +OmcdBJPLE2GJQRCxRhDk5FH/DJ3qBUha77X9eyf45KrGWFDZDGbfXC7PggfSZ2Bb +jefVMVads8/K58FrbBUEe7fpanGtz06Ht0YGFf/bhoOe6grUTa69SHyYg1eFJfC0 +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 +-----END AGE ENCRYPTED FILE----- diff --git a/home/.chezmoitemplates/secrets/key-ANSIBLE_GALAXY_TOKEN b/home/.chezmoitemplates/secrets/ANSIBLE_GALAXY_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-ANSIBLE_GALAXY_TOKEN rename to home/.chezmoitemplates/secrets/ANSIBLE_GALAXY_TOKEN diff --git a/home/.chezmoitemplates/secrets/key-ANSIBLE_VAULT_PASSWORD b/home/.chezmoitemplates/secrets/ANSIBLE_VAULT_PASSWORD similarity index 100% rename from home/.chezmoitemplates/secrets/key-ANSIBLE_VAULT_PASSWORD rename to home/.chezmoitemplates/secrets/ANSIBLE_VAULT_PASSWORD diff --git a/home/.chezmoitemplates/secrets/key-DOCKERHUB_TOKEN b/home/.chezmoitemplates/secrets/DOCKERHUB_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-DOCKERHUB_TOKEN rename to home/.chezmoitemplates/secrets/DOCKERHUB_TOKEN diff --git a/home/.chezmoitemplates/secrets/GITHUB_GIST_TOKEN b/home/.chezmoitemplates/secrets/GITHUB_GIST_TOKEN new file mode 100644 index 00000000..c890ac2c --- /dev/null +++ b/home/.chezmoitemplates/secrets/GITHUB_GIST_TOKEN @@ -0,0 +1,8 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHQmdqaFhVR2Yxbk9DbjM0 +NlBQUUpVZ0tHSzI1aHZFSFh1U2RmdFEvdTJrCjVrY29GNjFPeFlneUhZNWpVS1FD +cG0yejFDRDZ1UHRvN24vdk9nZmRSSVEKLS0tIEpPWmxFaTRKRmVkeVRxSGlUWU9V +ZXoyQmZpeVZoeHlrRU1LK01HbmN2ZFkKWJ15bjX0AW7AIfceDtWOaNCSoFWSfJ4y +F2mmBPzEtKuZFDSl728rZCO5OFiWYQQ1EiI80HaHv1m3ymUxCnJQoyT1tw+Nv5u2 +/g== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/GITHUB_READ_TOKEN b/home/.chezmoitemplates/secrets/GITHUB_READ_TOKEN new file mode 100644 index 00000000..cd7da089 --- /dev/null +++ b/home/.chezmoitemplates/secrets/GITHUB_READ_TOKEN @@ -0,0 +1,8 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJYTY4eHFIT1cwUURJRFdn +bFBjM1lGbjdyYlk2andlalJ4dHJvdldzeFd3CmFNTjZRTjdjcUo5cGRLKy9iTEhG +NlFsb2pHZm5IUml5WWxPYkxJOUl3aEEKLS0tIG8yekh6ei9PNFFDSzd0MnFRd084 +cXV5NVA0YklEZjlSbTdoeUd5a0dNck0KJn9Z//wqaIyMauUX9QG0EnXFnYIAm1Ia +IAgUxDZEJ/ghuEx12PfUkfmtSfBU6Da5bR3JsTbkzOkBMKxMC0NbgmZU3QLI5eV5 +mw== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/key-GITHUB_TOKEN b/home/.chezmoitemplates/secrets/GITHUB_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-GITHUB_TOKEN rename to home/.chezmoitemplates/secrets/GITHUB_TOKEN diff --git a/home/.chezmoitemplates/secrets/GITLAB_READ_TOKEN b/home/.chezmoitemplates/secrets/GITLAB_READ_TOKEN new file mode 100644 index 00000000..c97cd731 --- /dev/null +++ b/home/.chezmoitemplates/secrets/GITLAB_READ_TOKEN @@ -0,0 +1,7 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5QVdYNzJaNGhJNER1QThS +NU15U2VSOExrMy9RUXFrcGhoa2EwYnJuR2lBCjdhdXcwSVpHRUZrMWZpTXBwUmE4 +RXFtcnZrU0lRS3dzeTZibW9BSFA3cUEKLS0tIDhGRTJ1MGlXTXlycWYxNnl4OGUv +cFpxdkdUTm9VclN5WmdsakZBRjNQTjgKPiL3djbp+JETKj4D2sQdhusBWScREG0h +p05r7A0o8TSuYEBykXkJpeduCWW+BrmF93XOo1G2MRC97Yc= +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/key-GITLAB_TOKEN b/home/.chezmoitemplates/secrets/GITLAB_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-GITLAB_TOKEN rename to home/.chezmoitemplates/secrets/GITLAB_TOKEN diff --git a/home/.chezmoitemplates/secrets/key-HEROKU_API_KEY b/home/.chezmoitemplates/secrets/HEROKU_API_KEY similarity index 100% rename from home/.chezmoitemplates/secrets/key-HEROKU_API_KEY rename to home/.chezmoitemplates/secrets/HEROKU_API_KEY diff --git a/home/.chezmoitemplates/secrets/key-NETDATA_ROOM b/home/.chezmoitemplates/secrets/NETDATA_ROOM similarity index 100% rename from home/.chezmoitemplates/secrets/key-NETDATA_ROOM rename to home/.chezmoitemplates/secrets/NETDATA_ROOM diff --git a/home/.chezmoitemplates/secrets/key-NETDATA_TOKEN b/home/.chezmoitemplates/secrets/NETDATA_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-NETDATA_TOKEN rename to home/.chezmoitemplates/secrets/NETDATA_TOKEN diff --git a/home/.chezmoitemplates/secrets/NGROK_AUTH_TOKEN b/home/.chezmoitemplates/secrets/NGROK_AUTH_TOKEN new file mode 100644 index 00000000..6cd12014 --- /dev/null +++ b/home/.chezmoitemplates/secrets/NGROK_AUTH_TOKEN @@ -0,0 +1,8 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArUHJ2VURHcFFvZ0hOUE1s +UzhkM0hIZEh6RHVBV3JJeXVldW1wbUd1Z1M0CnRUNzhiMHFiUEQ0WFpkVzVLUWxV +bEtOTmwxWjhHb2dUZUs1N2dsOU14M0EKLS0tIGRMZnNMMjBpTTJCOUliY2psVG82 +WCtCcXZPUGxjbXRsYnNhd1hHRVNNWUUKYWiPZVmfJnjhv9Zg3t0u3ozdD4hQvMrV +EXtAfBeDLbh8ef4Rnz+G4fuXhuNNBO9VuhB/PB97l1za5wcl7SdrmjwcuMB84vLe +qS3naHK7cHJp3g== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/key-NPM_TOKEN b/home/.chezmoitemplates/secrets/NPM_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-NPM_TOKEN rename to home/.chezmoitemplates/secrets/NPM_TOKEN diff --git a/home/.chezmoitemplates/secrets/key-openvpn-password b/home/.chezmoitemplates/secrets/OVPN_PASSWORD similarity index 100% rename from home/.chezmoitemplates/secrets/key-openvpn-password rename to home/.chezmoitemplates/secrets/OVPN_PASSWORD diff --git a/home/.chezmoitemplates/secrets/key-openvpn-username b/home/.chezmoitemplates/secrets/OVPN_USERNAME similarity index 100% rename from home/.chezmoitemplates/secrets/key-openvpn-username rename to home/.chezmoitemplates/secrets/OVPN_USERNAME diff --git a/home/.chezmoitemplates/secrets/key-PYPI_TOKEN b/home/.chezmoitemplates/secrets/PYPI_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-PYPI_TOKEN rename to home/.chezmoitemplates/secrets/PYPI_TOKEN diff --git a/home/.chezmoitemplates/secrets/SLACK_API_TOKEN b/home/.chezmoitemplates/secrets/SLACK_API_TOKEN new file mode 100644 index 00000000..2b1d73ec --- /dev/null +++ b/home/.chezmoitemplates/secrets/SLACK_API_TOKEN @@ -0,0 +1,8 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2WE14QUJVb0Ewb0dVaVVn +bnV4NzVlR3NsY21uM3ZwL2VsbnFxaS93Z0R3CjZYenhwSGJLMG1HQTRSRWI5VFU3 +R1ZFenFLcGIwS0pQc3BSSngyczVTa3cKLS0tIDZuZVpuMFRkWVRtS0N2OGdSUDgv +bFZQMjR0M0dML2xJbEJpSjZOeHA0QmcKo4faB/sD0R4cXeE0hGfB4lh4vpZSdDgM +SUlzJvMatYyMRD/bMX2TrRKBeag6GMAC5lUPAxQyTjjB+a2GBJMh+x4O/HRTdInz +I78ytbMTkArOXTSScKZC8Rs0uvWw8AnTOEGeoC7Kx0GgIfs4BKlXyg== +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/key-SNAPCRAFT_MACAROON b/home/.chezmoitemplates/secrets/SNAPCRAFT_MACAROON similarity index 100% rename from home/.chezmoitemplates/secrets/key-SNAPCRAFT_MACAROON rename to home/.chezmoitemplates/secrets/SNAPCRAFT_MACAROON diff --git a/home/.chezmoitemplates/secrets/key-SNAPCRAFT_UNBOUND_DISCHARGE b/home/.chezmoitemplates/secrets/SNAPCRAFT_UNBOUND_DISCHARGE similarity index 100% rename from home/.chezmoitemplates/secrets/key-SNAPCRAFT_UNBOUND_DISCHARGE rename to home/.chezmoitemplates/secrets/SNAPCRAFT_UNBOUND_DISCHARGE diff --git a/home/.chezmoitemplates/secrets/SURGE_LOGIN b/home/.chezmoitemplates/secrets/SURGE_LOGIN new file mode 100644 index 00000000..0e9adddd --- /dev/null +++ b/home/.chezmoitemplates/secrets/SURGE_LOGIN @@ -0,0 +1,7 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvNEhWZEUrdkt2VXVPWmpn +OHNxVUI3dWFKcDJEN0RmSnJYYnJwaDhEemdjCkRnWFlQMkhmZjJLRUQ3RElDUExo +ZTBKcVc0djE4SSsvemdpTDVwamtvWDQKLS0tIElKczd6dFppWVowVXF3bU5uaktw +ZTFoWkJJTnVHQXgybmtOWjFwZzlYc1EKdV9vAIJQ6qbei2Bex/iIal4hRAFajMyp +zd3It6bk6NtmN5RQNvAndX5yG8z/Qg06Q7HgKRY= +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/SURGE_TOKEN b/home/.chezmoitemplates/secrets/SURGE_TOKEN new file mode 100644 index 00000000..e267963f --- /dev/null +++ b/home/.chezmoitemplates/secrets/SURGE_TOKEN @@ -0,0 +1,7 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhcUUwR01TYzdWc2o4S1ph +RWlubENHM2tvekpZWHRWTHVJQUg2dHdYdEhRClJMbTcybUh2NGRQN0RzL2k3RTV0 +cml2NXBBdmVORWVoNjNpZzFTamQzMlkKLS0tIGpsblhxcDlvYk9xbVlmckNIWlUr +VmwyUVQvZmNkc2NBdklQckdGeXJYOEkKlZApyKetyIin/wrv+YTlc5TJU3ectaKo +oAw1v1/dpQ+ZZu2XbQb4jE8db2x+qPmwL8gfklPkg9GNNEH0HUYi13s= +-----END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/tailscale b/home/.chezmoitemplates/secrets/TAILSCALE_AUTH_KEY similarity index 100% rename from home/.chezmoitemplates/secrets/tailscale rename to home/.chezmoitemplates/secrets/TAILSCALE_AUTH_KEY diff --git a/home/.chezmoitemplates/secrets/key-VAGRANT_CLOUD_TOKEN b/home/.chezmoitemplates/secrets/VAGRANT_CLOUD_TOKEN similarity index 100% rename from home/.chezmoitemplates/secrets/key-VAGRANT_CLOUD_TOKEN rename to home/.chezmoitemplates/secrets/VAGRANT_CLOUD_TOKEN diff --git a/home/.chezmoitemplates/secrets/ghorg b/home/.chezmoitemplates/secrets/ghorg deleted file mode 100644 index 7cf67af1..00000000 --- a/home/.chezmoitemplates/secrets/ghorg +++ /dev/null @@ -1,186 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5WmtYMXV6K21NWldPc3g4 -VXA4dzJHQTNDQ3ByNmJOb3N1dEZ1ck56Q3lFCkNjeEdha2w3RElBdnh6Y0ZQRXZo -OEcxUTNXcFlSR2ErWXB6Znl0RjdBUzQKLS0tIGt6RmxhYTU3SzZhME92dXRlRGRQ -TWt5WXVPYWxrc0hNSjNvU3R5d1NGKzgKEX2n4iuwetHFGC/rYST5C1rDajyU/adk -bhhIRxE0LqQayqLH6feLQrEW3GNUjVIsI9wPT1oa6anzVxxXePVDy4xEnIvog+IK -NhFTz2teM4Ht6S9oOyh2TCugFpeCvDk0LEMgw95o9tB+0jWVW5cUiS4L3qgkVBvh -iFtr/ykOQaSnTuigvhc/x90jPnN8pJJJI8nMGZcjY2JIl0VJDjw705bI9lrQZ0IH -YUMVLAqAORO/rsvB7Dj2r7f6MyNZv9dkyC5WmNQtpjuvSFCOdrD5vTONxgK2T/Jn -H2SZt3d5PgUaH5JdUGl6AVZqo3n/TKlByecpvke3ypORt+YY2pizOMQtxwfTDN+e -GPUGVusRZQzI9tDY324UVug7BOFvL7hUdTE2FOj41FF6gMA+VULMIddjMVQzYIY2 -upNFjUhzteXKESFHqbkOgKOoApAcV3W97z366zHwDywZUehGG6wBEK3v7PMgp/vd -+zCRmqMVdQxtnMv57HTtnvqgVUTAQJQmcMqDBHM1zMuO0iG1YIuox1+BqCOFjgOs -KN94bQp07zSnGAuAY/YEBJBBykkgduCab77iI8r1R4Gooe7X+4CK02TwfHfqpAbc -QEdgfRqUHklOFIXIdgdaxaSfb5uvOQMcSBiAf6QatNxqCuhYF/QHtO4TU9x+ESyF -Wh7rlj18vBcZPZkG1pJYlItbX+Hn3C0d9iDBk/BjMpZMhWOHUQz9kOTmG5Ew79E1 -Xs+lK4/SKMrmvg2R/STesX84yHXzz5mK3n+qzRFZ5ykc4WItNCFZMuLrZod/u4Zx -d0WoX4HpcxrM9WaMbuPAtYXHC//79qwSpFwo7qE+dFSdQoD0+QAXyAu3jboBMHZI -kLv8EfVnPlg4fAr7WFBH/iN6eWWTli59r0PuohprFj4qUNqMVwb+kAoS1jGzuIZE -O1LkCqnuX+kCpNTV5KzxQsa/ytiz/skoJ57PQwEQXCYfEjmZWz955NADkcPWugB3 -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 ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/ghorg-fallback b/home/.chezmoitemplates/secrets/ghorg-fallback deleted file mode 100644 index acdecda1..00000000 --- a/home/.chezmoitemplates/secrets/ghorg-fallback +++ /dev/null @@ -1,219 +0,0 @@ ---- -# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ -# |G|E|N|E|R|A|L| |C|O|N|F|I|G|U|R|A|T|I|O|N| -# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ - -# Which provider to clone from (github, gitlab, gitea or bitbucket) -# default: github -# flag (--scm, -s) eg: --scm=gitlab -GHORG_SCM_TYPE: gitlab - -# How you'd like to clone the repos (https or ssh) -# default: https -# flag (--protocol) eg: --protocol=https -GHORG_CLONE_PROTOCOL: https - -# This is where your ghorg directory will be created, use absolute pathing, shell expansions will not work. -# The ghorg directory is the home for all ghorg clones -# See https://github.com/gabrie30/ghorg#changing-clone-directories for example -# default: YOUR_HOME_DIR/ghorg -# flag (--path, -p) eg: --path=/tmp/ghorg -GHORG_ABSOLUTE_PATH_TO_CLONE_TO: /srv/repos - -# Folder ghorg will clone all repos into. Cloning will result in: GHORG_ABSOLUTE_PATH_TO_CLONE_TO/GHORG_OUTPUT_DIR/repo -# See https://github.com/gabrie30/ghorg#changing-clone-directories for example -# default: org/user you are cloning, e.g. 'ghorg clone kubernetes' would create a kubernetes directory inside your ghorg directory -# flag (--output-dir) eg: --output-dir=testing -# GHORG_OUTPUT_DIR: - -# Type of entity to clone (user or org) -# flag (--clone-type, -c) eg: --clone-type=user -GHORG_CLONE_TYPE: org - -# Change SCM api base url, this is for on self hosted scm instances only -# For http gitlab instances see GHORG_INSECURE_GITLAB_CLIENT -# default: github/gitlab/bitbucket public apis -# flag (--base-url) eg: --base-url=https://my.self.hosted.scm.instance.com -GHORG_SCM_BASE_URL: - -# Include submodules in all clone and pull operations. -# flag (--include-submodules) -GHORG_INCLUDE_SUBMODULES: true - -# Allows you to pass arguments to git's filter flag e.g. git clone --filter= this requires git version 2.19 or greater. -# Useful for filtering out binary objects from repos -# Few caveats, only works on inital clones, however if done on inital clone all subsequent clones will also honor the settings. -# More info at https://stackoverflow.com/questions/49917616/what-is-the-git-clone-filter-options-syntax -# flag (--git-filter) eg: --git-filter=blob:none -# GHORG_GIT_FILTER: - -# Deletes all files/directories found in your local clone directory that are not found on the remote (e.g., after remote deletion). With GHORG_SKIP_ARCHIVED set, archived repositories will also be pruned from your local clone. -# Will prompt before deleting any files unless used in combination with --prune-no-confirm -# flag (--prune) -GHORG_PRUNE: true - -# Skip interactive y/n prompt when pruning clones (can only be used in combination with --prune). -# flag (--prune-no-confirm) -GHORG_PRUNE_NO_CONFIRM: true - -# Color output (enabled, disabled) -# flag (--color) eg: --color=disabled -GHORG_COLOR: enabled - -# Skip archived repos, currently github/gitlab/gitea only -# flag (--skip-archived) -GHORG_SKIP_ARCHIVED: true - -# Skip repos that are forks, currently github/gitlab/gitea only -# flag (--skip-forks) -GHORG_SKIP_FORKS: false - -# Backup mode, clone as mirror, no working copy (ignores branch parameter) -# flag (--backup) -GHORG_BACKUP: true - -# Max goroutines created while cloning -# flag (--concurrency) -GHORG_CONCURRENCY: 25 - -# A comma separated list of topics to filter by, currently github/gitlab/gitea only -# flag (--topics) eg: --topics=frontend -# If any topics exist here, ghorg will only clone repos that match at least one of these topics -# GHORG_TOPICS: - -# Only clone repos with matching prefix, can be a comma separated list -# flag (--match-prefix) eg: --match-prefix=backend -# GHORG_MATCH_PREFIX: - -# Exclude cloning repos with matching prefix, can be a comma separated list -# flag (--exclude-match-prefix) eg: --exclude-match-prefix=backend -# GHORG_EXCLUDE_MATCH_PREFIX: - -# Only clone repos that match name to regex provided -# flag (--match-regex) eg: --match-regex=^foo -# GHORG_MATCH_REGEX: - -# Exclude cloning repos that match name to regex provided -# flag (--exclude-match-regex) eg: --exclude-match-regex=^foo -# GHORG_EXCLUDE_MATCH_REGEX: - -# Only clones new repos and does not perform a git clean on existing repos. Useful if you don't want to lose changes made to repos in the org/user directory. -# flag (--no-clean) -GHORG_NO_CLEAN: false - -# Additionally clone the wiki page for repo -# flag (--clone-wiki) -GHORG_CLONE_WIKI: false - -# Fetches all remote branches for each repo by running a git fetch --all -# flag (--fetch-all) -GHORG_FETCH_ALL: false - -# If you want to set a path other than $HOME/.config/ghorg/ghorgignore for your ghorgignore -# flag (--ghorgignore-path) -# GHORG_IGNORE_PATH: - -# Only emit critical output. -# flag (--quiet) -GHORG_QUIET: false - -# Perform a dry run of the clone; fetches repos but does not clone them. -# flag (--dry-run) -GHORG_DRY_RUN: false - -# Branch ghorg resets and leaves checked out -# default: default branch -# NOTE: if no default branch is found on the repo, will fallback to using master -# flag (--branch, -b) eg: --branch=develop -# GHORG_BRANCH: - -# Allows you to control the exit code when ghorg runs into a problem (info level message) cloning a repo from the remote. -# Info messages will appear after a clone is complete, similar to success messages -# flag (--exit-code-on-clone-infos) -GHORG_EXIT_CODE_ON_CLONE_INFOS: 0 - -# Allows you to control the exit code when ghorg runs into a problem (issue level message) cloning a repo from the remote. -# Issue messages will appear after a clone is complete, similar to success messages. -# flag (--exit-code-on-clone-issues) -GHORG_EXIT_CODE_ON_CLONE_ISSUES: 1 - -# Specifies the location of your ghorg conf.yaml, allowing you to have many configuration files, or none at all -# default: ghorg looks in $HOME/.config/ghorg/conf.yaml, if not set in that location nor as a commandline flag, ghorg will use all default values -# NOTE: this cannot be set in the configuration file. Its supported through CLI flag and ENV var only. -# flag (--config) -# GHORG_CONFIG: - -# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |G|I|T|H|U|B| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# Add your GitHub token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITHUB_TOKEN: "{{ env "GITHUB_READ_TOKEN" }}" - -# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -# |G|I|T|L|A|B| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - -# Add your GitLab token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITLAB_TOKEN: "{{ env "GITLAB_READ_TOKEN" }}" - -# clones repos in a directory structure that matches gitlab namespaces eg company/unit/subunit/app would clone into ghorg/org/unit/subunit/app -# flag (--preserve-dir) -GHORG_PRESERVE_DIRECTORY_STRUCTURE: true - -# Skip TLS certificate verification for hosted gitlab instances -# flag (--insecure-gitlab-client) -GHORG_INSECURE_GITLAB_CLIENT: - -# Exclude gitlab groups by regex -# flag (--gitlab-group-exclude-match-regex) -GHORG_GITLAB_GROUP_EXCLUDE_MATCH_REGEX: - -# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |G|I|T|E|A| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# Add your Gitea token -# Settings -> Applications -> Generate Token -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITEA_TOKEN: - -# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ -# |B|I|T|B|U|C|K|E|T| |S|P|E|C|I|F|I|C| -# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ - -# When using this OAuth/PAT token, do not set the bitbucket username flag. Do not set both this value and the GHORG_BITBUCKET_APP_PASSWORD -# https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_BITBUCKET_OAUTH_TOKEN: - -# Add your Bitbucket app password. Do not set both this value and the GHORG_BITBUCKET_OAUTH_TOKEN -# https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html -# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_BITBUCKET_APP_PASSWORD: - -# Used with GHORG_BITBUCKET_APP_PASSWORD. Should not be set when using GHORG_BITBUCKET_OAUTH_TOKEN -# flag (--bitbucket-username) eg: --bitbucket-username=user123 -GHORG_BITBUCKET_USERNAME: - -# +-+-+-+-+-+ +-+-+-+-+-+-+-+ -# |G|H|O|R|G| |R|E|C|L|O|N|E| -# +-+-+-+-+-+ +-+-+-+-+-+-+-+ - -# Configuration for ghorg reclone command -# See https://github.com/gabrie30/ghorg#reclone-command for more information on how to setup and use - -# If set allows you to specify the location of your reclone.yaml -# Defaults to $HOME/.config/ghorg/reclone.yaml -# flag (--reclone-path) -GHORG_RECLONE_PATH: - -# Get more verbose logging with reclone command -# flag (--verbose) -GHORG_RECLONE_VERBOSE: false - -# Quiet logging output with reclone command -# flag (--quiet) -GHORG_RECLONE_QUIET: false diff --git a/home/.chezmoitemplates/secrets/gist b/home/.chezmoitemplates/secrets/gist deleted file mode 100644 index aa3f1264..00000000 --- a/home/.chezmoitemplates/secrets/gist +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlQi9vZncrUXduQWlCdzB0 -SkFmSUpEZW95R21Jc3p2WElYK1gxcW96YzNnCkZjSmZHNS94a0pRclNmdUdyMFVP -RXdXa3oyVUFTLy9PNEIrUk9pcURnWHcKLS0tIFlLVTdnTVFVN3g0TGtQT01RRnpK -c1RNWEg3ckt1blhxQ2UvVVZkRGFLUDQKlaFMP2aDfW4P+nYRKxV6tuAOMQGyloFI -T0AsckE6HFX6gNINUOwUNZJfyHegjgbiv00+mCwEf8Y618XUZn/vJihZc74cQ/y0 -ZmkPr8FBvwwD/pDFaAfWFN3OuiUB5KwhM5l0bgDbHOPqZmG2/cT4P6Nu0nuNKU1N -uh0owEonxlXGMwR7jw== ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/gist-fallback b/home/.chezmoitemplates/secrets/gist-fallback deleted file mode 100644 index 99a3ce74..00000000 --- a/home/.chezmoitemplates/secrets/gist-fallback +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -echo "{{ env "GITHUB_GIST_TOKEN" }}" > ~/.gist -gist $* -rm -f ~/.gist diff --git a/home/.chezmoitemplates/secrets/ngrok b/home/.chezmoitemplates/secrets/ngrok deleted file mode 100644 index b754156e..00000000 --- a/home/.chezmoitemplates/secrets/ngrok +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0NzFNUVRodFpFbzI1VmxU -bzk3ajVpaUdwUXJVRW9qOElyOTZCalVrbTJvCmg5UVpHT2ZnRlMxUzUrMk9yR0VE -aTdINlVOM04weVJ0ME1BWkdxQ05kQlkKLS0tIGpPVllEUWlMNmRJT1ZoVUpQb1Rl -N3VBeXdXMEZ6SlRCNGpIbzlVMlVWaVkKjKWy+2FM4edw+AoD776u6aWLG/BZabZo -PS7SRsQT+XAr4WoVX4lESosxzl1lFBrtSGLkxL5yWTwNmbEZVAkPNsfWtdMHj/Rv -gnTwIggp5RJwWcDnTNcSJ/sCnB8uHVjGvbH48KCmKd1GMg== ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/ngrok-fallback b/home/.chezmoitemplates/secrets/ngrok-fallback deleted file mode 100644 index 89af36bc..00000000 --- a/home/.chezmoitemplates/secrets/ngrok-fallback +++ /dev/null @@ -1,2 +0,0 @@ -version: "2" -authtoken: '{{ env "NGROK_AUTH_TOKEN" }}' diff --git a/home/.chezmoitemplates/secrets/slack-term b/home/.chezmoitemplates/secrets/slack-term deleted file mode 100644 index e1888080..00000000 --- a/home/.chezmoitemplates/secrets/slack-term +++ /dev/null @@ -1,47 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBURUtSeHhGWXRHY3hiWjR6 -cEsybHUzSnF1M1pleEpnd0c1MVdsSFo5YTF3Cll2RExOck9TMmE0SmJqYWFLZEJG -MUhsc21YWUprRTNzb1VHRWtJVy9TZ2MKLS0tIGkrRVFmb0pheFBqMktPbjNHaFdS -SHdQcUF1VkZuYVhyWXVzQ3ZnUDZYdmMKVsiujjIfmYDSdSmPpgueFxMq9vY38d/W -1w8HC/rpDVBgh0un9IPkC0jVLbaMbjEHr+RoVhNi0LzMl+BPbwpMN/1FgN3KK05B -dbIBaP/xA9MMS0rfKvHXtrUsBAJ4hgNGdOlhiaCCRVtEAI0rMc0bYfIuZoxiJyS4 -EM6ohaZTygNTSH68mq5vsZwcip9zTRh602pLsnwrigjE93FKQ8B6TxpLyZnU4KsW -J7tKHfDD2A212RuB0zooMakzQCy+QhTdDewmyVLN2/UkDxu7IeiDJ+eUSZu/zY76 -7J9uWSl5Mlrz1tnSR5iPbgEnU0kPql2q1DMlpGLWWK3PYHDizOHMWDn6yUgNP5O1 -4lII0LXVxwiUSjUzMIogntUjOu0xmtpG5rouV6GUpzdEa3UPn6Z/vNxTJDGDpNgG -tz8PT7Bd5P5O/gXI196fO7EiaFkUGyrUkHbmatte4d45Fo4n78uzZEiRcb/Amccu -zV/jEIgOv0vyuS6l/f13QCc7Ku5KBwWQgbn9z0Xrf2qpUmKBKHgD9QtMJ113bQ0Z -6Z8UUtzZv0A4ozcdHVWGh0xqvM3+6h5eMAvB9iVFhaZsvhz5vSnlFnZAjERkcGqf -V45rCI1x4AAJuOMXIgcv3N6Klndyj7CMMm/cltl8r6jtfhUILOJA3ldMf437eQxl -ZqjNtuKDdLmXNIPyh77+J42yQM2wUmYiywCDrFEWzLT9XQL5DiU7HZ4k9mNUAKd8 -Zq8TQGp9Lf6/1WsuZmn+Ki6gLwRAh8zsv8Nrnz8Wt6SFfqavRK7am40bX3MdlKD9 -9nypCrorz5z6qI1KPH/ckgpyfRBJF4PtH0AjcKnw7+ML0xYa5jGvEsD61DBjbluM -KCPBFzYUOOdvHGz1cY0dI5GCRwq1rCK/Mz3LrKmnHUDVI2NfKSdHazshcBPs/Ocf -4rft1ONWGMTyzRsdlFKvabX68lzBwO8/0slcKZO1TDRGcjzMg4TlgKh+qKeDwUKs -TnbQG1I7CvFoYFYgi0wybhw1f6PEYB6PEPbvWxMevrAzSZ/y5TfrUk7VDPKNVK41 -VE3TuSaoQlWL+617HXeKmg5rGz2GfSnp3v+YLi/s5ldG3w/06Ta0hDVcf5L3kGR6 -n3UkRZPskxwnl86IOWbC7vTgnlAqDgMrWqjl63fBiJv4kjzT54JYgrOyoXyU77AZ -n3PyKU07vtASQPk6hF7cGYNihfGY2asPa5v54pO6dMd86i6eHRQal5SJyiTdeCRa -unVemKb4qDKE4S98PLTKq4E7DpKRZjTZfc2YrCojckWhcD/dkNyOR5BqCDV4sjz0 -4gzxDvUXL60X11OfqXt7DRh+uKE7FVHXwzq1bWE2uJ3kOlFuzJpPe5lpbKtmyOOF -97vGRGlrR76wJn7dOTvoyQnuat1XCo65aS/iFINnbh1LpXDv4T4qaLOggB//anuy -Asb4y3AF2SEU1k6lDFef/RLLHdRjGhxmCNFd44w97xxfr1etTbvQ5ypnJBfzKv1c -Q5OqIYMgx70d8R/iCc4cZ6QSphEwBVqNo8WaStVx28v3oDAN7RBQ328Euqrzphwe -hFbnUG9quMr0kgEgzAnvfCz8bqZ7LQT4YbcvBdPMagVdTqr4c0UoU6c4YMe/XAp9 -CkZxqKBoXtiUQsZLH7x4OaYShnr+lbIdql/gf73J3f/8/mE3qEMngu9R/NqkG2sM -Qkxz57RtR2losnbZTTnI9wLZDmdVvjqxh+W2E8ygPEd6vLImk4YHz7j9stSCeBam -f37bSbyWT+mjfSGk40Y3yWTkAWjGvmKzSwNrsPmuZ8s7A5svRw8ueQNAEZjdGLD0 -jeMPTvoqBtlcoNVfXABDcVPa9kCR8CAC+tVaYtYW7nwC2HwZ9DRTs1Kj6rm6dO3Y -BCjT2HZ1hMUwhv+MU2b4lEM8hunvij8FsS+mhGU45stRX6o7l+c/dOnO03Ypy7Oz -JbEXqOED+CXELdwRbzFXhkavYp99cUrOOKHY4ZmBUxrEP4rsNavoMNBsmr1Lp3gP -tFHfcY7kC8Dk+CKwcb1P9OPCCoe2Igyha9rbh30DiHk0yBECHUW+zcF6iZS8Y19z -2unX7wOTf3lTlQhsosLhjy8Nm1ZXJLd0H8Ns/vHGbSSKC85W+/0N3yKN8gqY3gaM -TKjBgnKyEapT9lXakcMi0PmL8/mJe7JZVJH5CRh78ptZ6Qe0yomwZ2F2hYwtTFwh -aoXQn7FZSwUqPfywtr9iO1vKLGU00OfiMXmDr2vDWWmcIWm1YPLLroGcL/tluEzo -jPgirTN6sd4nnFAO/DAaASjydEqVnXV2V+Z9i/a4fEnY2TqZQHEM5N9JtLRDAhWh -I1UnhUFhm43pCil3l6o0IF9bC3pAL6TrSxqgYRt6mS0Le0xCGFsKjSc7flVE33jI -gpmb/zt/pamjOVnmwQjf4IQLS0VqhIxmK0OkGzU6ZjhAXtyVtlrlyBTtvWuYvqH3 -8alpP+8kfBw3foZr4t/25OZDgExcSNH5/16tfffnBUIYUZXce0avySZQZ+QOEj97 -bBlFPeVzotiMCjDMb3jFoEPzN/26OpBIUzk/R52wOa2FkLG/jAQjJPR/o6+YW8dz -ndOWxTkW3LeRalRhafl6Ae8DX2IGfgKc5xBJSyl9c8Je ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/slack-term-fallback b/home/.chezmoitemplates/secrets/slack-term-fallback deleted file mode 100644 index 7b986dd0..00000000 --- a/home/.chezmoitemplates/secrets/slack-term-fallback +++ /dev/null @@ -1,70 +0,0 @@ -{ - "slack_token": "{{ env "SLACK_API_TOKEN" }}", - "sidebar_width": 3, - "notify": "mention", - "emoji": true, - "key_map": { - "command": { - "i": "mode-insert", - "/": "mode-search", - "k": "channel-up", - "j": "channel-down", - "g": "channel-top", - "G": "channel-bottom", - "K": "thread-up", - "J": "thread-down", - "": "chat-up", - "C-b": "chat-up", - "C-u": "chat-up", - "": "chat-down", - "C-f": "chat-down", - "C-d": "chat-down", - "n": "channel-search-next", - "N": "channel-search-previous", - "'": "channel-jump", - "q": "quit", - "": "help" - }, - "insert": { - "": "cursor-left", - "": "cursor-right", - "": "send", - "": "mode-command", - "": "backspace", - "C-8": "backspace", - "": "delete", - "": "space" - }, - "search": { - "": "cursor-left", - "": "cursor-right", - "": "clear-input", - "": "clear-input", - "": "backspace", - "C-8": "backspace", - "": "delete", - "": "space" - } - }, - "theme": { - "view": { - "fg": "white", - "bg": "default", - "border_fg": "white", - "border_bg": "", - "label_fg": "white", - "label_bg": "" - }, - "channel": { - "prefix": "", - "icon": "", - "text": "" - }, - "message": { - "time_format": "15:04", - "name": "", - "time": "", - "text": "" - } - } -} \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/ssh-config-fallback b/home/.chezmoitemplates/secrets/ssh-config-fallback deleted file mode 100644 index 15407261..00000000 --- a/home/.chezmoitemplates/secrets/ssh-config-fallback +++ /dev/null @@ -1,22 +0,0 @@ -Host * - IgnoreUnknown AddKeysToAgent,UseKeychain - AddKeysToAgent yes - UseKeychain yes - Compression no - ControlPath ~/.ssh/master-%r@%h:%p - ControlMaster auto - ControlPersist 5 - ExitOnForwardFailure yes - ForwardAgent yes - ForwardX11 no - ForwardX11Trusted no - GSSAPIAuthentication no - PreferredAuthentications publickey - Protocol 2 - ServerAliveInterval 60 - ServerAliveCountMax 30 - IdentitiesOnly yes -Host gitlab.com - UpdateHostKeys no -Host github.com - UpdateHostKeys no diff --git a/home/.chezmoitemplates/secrets/ssh-lab.pub b/home/.chezmoitemplates/secrets/ssh-lab.pub deleted file mode 100644 index f09962a7..00000000 --- a/home/.chezmoitemplates/secrets/ssh-lab.pub +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyejV2UVNzaysreEZvSGVV -STVtdTN2bUsvYitzd042Z1V2UVRIZ0FKVTJ3CmRDcjl0VGQyR0pTaWxoOGNzUGpm -QzFqMWNjdEo1K3d0VWovWWxoVzRBRzQKLS0tIDQxRGdBWUZFNGt5dmZqZFlDa25Z -UjBDQkdVajBwRGs4UlF0dDZwKzZEbGMKMhMg1iE9exULYnVwEg+vWgVS2O4UYr86 -kXwdqMcHrhM0O928X7xHvtqV1iSfMOGTLtPI41AU/ZO/YzATpn+x28TYHvYYYG4p -sz/sKKvY3RCbT87HbxNn7/OrbQ4qFWAYfRfE2coa8kfzAQdpYRN4dWTI/dLBRtrB -IeEeqZ0gB1U2Vv0KULQS2tdbV7f+lQwmUCkuVgBaL+pV+KtFdfaJk3rqYfSkc/p7 -DenimmbECrMMP0V40SA6KxbBng/n0MDLMgBOPDbPnOTasSxx6AfhjUFMmOKgPF4I -9zVmmUwPJd5g5TFsoGjKmW97w7jbO5ju4JgLY3OoyLGcjSmztUYIFqY0QiARJ+rd -gtkLEWxQkzni+HnqJUsv41mfOyDj94v5yK0o/amquAj/TTpT+YXpwydfBg2V+d3G -sMRrrlTjJavBd0MzNuHZqKf1Fmkh7ByARn4iI7ndSHeXEdudBl/iwRlE+1jna5Cl -UDCgUEkTpHcDBUdVobhYu5kxtZhMN0PIh4qNFVetSIo40EG3xAgXWePEPwEcizkF -/rRghpQQOsKayBipjJHUQc15QxUU0DH8WY7aiexreSPWksSNHYaDWs4K9dCUnF6j -54eCjURQa3lXuozQKjSrkCSLfT2UXzdcpxdakv+TuVm6MkpOEadJ6k11G4Dx/M3g -5ktowr14y1z5MaardRbzPLLKxifLjdOQ44r+Jk3RNXDVVxw7D/dfEbKCRsh5JDTC -GG6JNhDW2saKsK+AehGA/Tafhi522taIyrdDV7fS77nnqloWFg== ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/tabby b/home/.chezmoitemplates/secrets/tabby deleted file mode 100644 index 76bebace..00000000 --- a/home/.chezmoitemplates/secrets/tabby +++ /dev/null @@ -1,100 +0,0 @@ ------BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFaHB6eGNBbXRIa3NMWnRw -RFR1TXpwYU5jZFlPMGxVb1l4dWVZWGJTMVNNCkhXelYvTTN1VlVCUUI0Y0JzMFRq -V3RmRm1LQkJ4eTJZSSt0bFpZSzh5Y2sKLS0tIHlsSlk4SWZnQy90SHhIa3hJREp4 -QTF3cHpWMXp1ZThxOUJFZHFVK3ZyMk0Kzua8rWDOM0wJKoBpbKr2a+3p79+0x9jV -509utGwdKhCR+V44PJOz28/zLgQvGwSi0rLJFZ05JR785XTqBD3J9LeksYX1eUHr -ET+lW79K3bUQxTz4tqPwpVkyYk72pJ32DVWOPHa/WXBUVNaMBu9mxOOsDcjCqiL9 -LVTH/AXP0fLopCobvss9SMPNJobG9uR9/htObHxOkDaMxRjNlnqdv19iATxybvyM -1azxKC+Xx18Bp3Tn8AYPbhOwCz1M0aphVWtdMR+bHn+8fhMEakbBijfKWcjikop9 -anZywz4ChTjKv3N9yh9hsM5mqCz7BQeupcPzsqhqLe06XxCNE5C/atoRKS5YCkF/ -IO9OW9mfLC9YfyaI8x80pINB9EaGj6NshjN/k73tNZqwmyWhRPPAFHw1kbwe/Cg9 -kY1efUyRTrTXzLS4LO031BecmMzm5JyoXf4FONDFfdR3ayNOlYFQF7qCp04DCkNM -0lMJkV8tP5qX2avT5o3qPWIEXNfe4dc1RtuL6QesKETTxqESEUKtgiKbgyuYj6Kz -GovoIgX/7Rgg8+Z/sr2P5oj+qZGYTUZe6DJ9WOAnoYYfgpPgieMdl/ODJz/vgjIU -VvA7qNWHV3vLOj16Qy/cD+tmlwZzsOxtovGfDuaiUS2eRCvia+0PP1sQC2ReoAAi -4zq1zHkTlwAeaII9mY08dwaaQHudnVB/GpgJsyytKGpGTF+YzJfJAgudsuGmy/ep -pTrzaaMkTeCmjyZwwBDm8t/x/hNkGEmqBXMbSCgMomTJaIfkXAVOmVue9Gi5IvTQ -NSvLopP3FB85g9+gPOW/FQtV/x75GGM6Hh3Jbu47ijZvd/eseMk3TskwedD/ZI6l -tfN6tZ6wYirU4Si+frY9g2nBE0A2e+UTJpC5YVVK5h2XMOjbaKDBeVZ6IyqPyufB -8s4UUtB+s+OW9BB/S+oj/B2cDr9b+8Frgm2ea5L9fztuflUQxjh76XaJq7QViH2s -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 -3owgAJc76Q== ------END AGE ENCRYPTED FILE----- \ No newline at end of file diff --git a/home/.chezmoitemplates/secrets/tabby-fallback b/home/.chezmoitemplates/secrets/tabby-fallback deleted file mode 100644 index 60602bf5..00000000 --- a/home/.chezmoitemplates/secrets/tabby-fallback +++ /dev/null @@ -1,218 +0,0 @@ -version: 3 -profiles: [] -hotkeys: - toggle-window: - - Ctrl-Space - copy-current-path: [] - ctrl-c: - - Ctrl-C - copy: - - ⌘-C - paste: - - ⌘-V - clear: - - ⌘-K - select-all: - - ⌘-A - zoom-in: - - ⌘-= - - ⌘-Shift-= - zoom-out: - - ⌘-- - - ⌘-Shift-- - reset-zoom: - - ⌘-0 - home: - - ⌘-Left - - Home - end: - - ⌘-Right - - End - previous-word: - - ⌥-Left - next-word: - - ⌥-Right - delete-previous-word: - - ⌥-Backspace - delete-line: - - ⌘-Backspace - delete-next-word: - - ⌥-Delete - search: - - ⌘-F - pane-focus-all: - - ⌘-Shift-I - scroll-to-top: - - Shift-PageUp - scroll-up: - - ⌥-PageUp - scroll-down: - - ⌥-PageDown - scroll-to-bottom: - - Shift-PageDown - restart-telnet-session: [] - restart-ssh-session: [] - launch-winscp: [] - settings-tab: {} - settings: - - ⌘-, - serial: - - Alt-K - restart-serial-session: [] - new-window: - - ⌘-N - new-tab: - - ⌘-T - profile: {} - profile-selectors: {} - toggle-fullscreen: - - Ctrl+⌘+F - close-tab: - - ⌘-W - reopen-tab: - - ⌘-Shift-T - toggle-last-tab: [] - rename-tab: - - ⌘-R - next-tab: - - Ctrl-Tab - previous-tab: - - Ctrl-Shift-Tab - move-tab-left: - - ⌘-Shift-Left - move-tab-right: - - ⌘-Shift-Right - rearrange-panes: - - ⌘-Shift - tab-1: - - ⌘-1 - tab-2: - - ⌘-2 - tab-3: - - ⌘-3 - tab-4: - - ⌘-4 - tab-5: - - ⌘-5 - tab-6: - - ⌘-6 - tab-7: - - ⌘-7 - tab-8: - - ⌘-8 - tab-9: - - ⌘-9 - tab-10: - - ⌘-0 - duplicate-tab: [] - restart-tab: [] - explode-tab: - - ⌘-Shift-. - combine-tabs: - - ⌘-Shift-, - tab-11: [] - tab-12: [] - tab-13: [] - tab-14: [] - tab-15: [] - tab-16: [] - tab-17: [] - tab-18: [] - tab-19: [] - tab-20: [] - split-right: - - ⌘-Shift-D - split-bottom: - - ⌘-D - split-left: [] - split-top: [] - pane-nav-right: - - ⌘-⌥-Right - pane-nav-down: - - ⌘-⌥-Down - pane-nav-up: - - ⌘-⌥-Up - pane-nav-left: - - ⌘-⌥-Left - pane-nav-previous: - - ⌘-⌥-[ - pane-nav-next: - - ⌘-⌥-] - pane-nav-1: [] - pane-nav-2: [] - pane-nav-3: [] - pane-nav-4: [] - pane-nav-5: [] - pane-nav-6: [] - pane-nav-7: [] - pane-nav-8: [] - pane-nav-9: [] - pane-maximize: - - ⌘-⌥-Enter - close-pane: - - ⌘-Shift-W - pane-increase-vertical: [] - pane-decrease-vertical: [] - pane-increase-horizontal: [] - pane-decrease-horizontal: [] - profile-selector: - - ⌘-E - switch-profile: - - ⌘-Shift-E - search-in-browser: [] - qc: - - Alt-Q -terminal: - searchOptions: {} - colorScheme: - name: Betelgeuse - foreground: '#C3C7D1' - background: '#161925' - selection: null - cursor: '#C3C7D1' - cursorAccent: null - colors: - - '#282C34' - - '#ED254E' - - '#71F79F' - - '#F9DC5C' - - '#7CB7FF' - - '#C74D89' - - '#00C1E4' - - '#DCDFE4' - - '#4C5058' - - '#FF4972' - - '#95FFC3' - - '#FFFF80' - - '#A0DBFF' - - '#EB71AD' - - '#24E5FF' - - '#FFFFFF' - font: Hack Nerd Font - ligatures: true - fallbackFont: MesloLGSDZ Nerd Font -ssh: {} -clickableLinks: - modifier: metaKey -accessibility: {} -appearance: {} -hacks: {} -pluginBlacklist: [] -profileDefaults: {} -searchInBrowserPlugin: {} -saveOutput: {} -qc: - cmds: - - name: Hey - text: Dude whats goodie - appendCR: true - group: null - - name: Provision Qubes - text: Okay - appendCR: true - group: null -docker: {} -enableAnalytics: false -enableWelcomeTab: false -recoverTabs: false -workspaceManager: {} diff --git a/home/.chezmoitemplates/secrets/ssh-authorized-keys.yubikey b/home/.chezmoitemplates/ssh/authorized-keys.yubikey similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-authorized-keys.yubikey rename to home/.chezmoitemplates/ssh/authorized-keys.yubikey diff --git a/home/.chezmoitemplates/secrets/ssh-config b/home/.chezmoitemplates/ssh/config similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-config rename to home/.chezmoitemplates/ssh/config diff --git a/home/.chezmoitemplates/secrets/ssh-id-rsa b/home/.chezmoitemplates/ssh/id_rsa similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-id-rsa rename to home/.chezmoitemplates/ssh/id_rsa diff --git a/home/.chezmoitemplates/secrets/ssh-known_hosts b/home/.chezmoitemplates/ssh/known_hosts similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-known_hosts rename to home/.chezmoitemplates/ssh/known_hosts diff --git a/home/.chezmoitemplates/secrets/ssh-audi b/home/.chezmoitemplates/ssh/ssh-audi similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-audi rename to home/.chezmoitemplates/ssh/ssh-audi diff --git a/home/.chezmoitemplates/secrets/ssh-blue b/home/.chezmoitemplates/ssh/ssh-blue similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-blue rename to home/.chezmoitemplates/ssh/ssh-blue diff --git a/home/.chezmoitemplates/secrets/ssh-fiat b/home/.chezmoitemplates/ssh/ssh-fiat similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-fiat rename to home/.chezmoitemplates/ssh/ssh-fiat diff --git a/home/.chezmoitemplates/secrets/ssh-honda b/home/.chezmoitemplates/ssh/ssh-honda similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-honda rename to home/.chezmoitemplates/ssh/ssh-honda diff --git a/home/.chezmoitemplates/secrets/ssh-lab b/home/.chezmoitemplates/ssh/ssh-lab similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-lab rename to home/.chezmoitemplates/ssh/ssh-lab diff --git a/home/.chezmoitemplates/secrets/ssh-mini b/home/.chezmoitemplates/ssh/ssh-mini similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-mini rename to home/.chezmoitemplates/ssh/ssh-mini diff --git a/home/.chezmoitemplates/secrets/ssh-red b/home/.chezmoitemplates/ssh/ssh-red similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-red rename to home/.chezmoitemplates/ssh/ssh-red diff --git a/home/.chezmoitemplates/secrets/ssh-yellow b/home/.chezmoitemplates/ssh/ssh-yellow similarity index 100% rename from home/.chezmoitemplates/secrets/ssh-yellow rename to home/.chezmoitemplates/ssh/ssh-yellow diff --git a/home/Cloud/symlink_Private.tmpl b/home/Cloud/symlink_Private.tmpl index 7dea09f1..a99430d4 100644 --- a/home/Cloud/symlink_Private.tmpl +++ b/home/Cloud/symlink_Private.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-id")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-secret")) (ne .user.cloudflare.r2 "") -}} +{{- if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID"))) (env "CLOUDFLARE_R2_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET"))) (env "CLOUDFLARE_R2_SECRET)) (ne .user.cloudflare.r2 "") -}} /mnt/s3-private {{- end -}} \ No newline at end of file diff --git a/home/Cloud/symlink_Public.tmpl b/home/Cloud/symlink_Public.tmpl index 8cca6475..28c147d7 100644 --- a/home/Cloud/symlink_Public.tmpl +++ b/home/Cloud/symlink_Public.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-id")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-secret")) (ne .user.cloudflare.r2 "") -}} +{{- if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID"))) (env "CLOUDFLARE_R2_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET"))) (env "CLOUDFLARE_R2_SECRET)) (ne .user.cloudflare.r2 "") -}} /mnt/s3-public {{- end -}} \ No newline at end of file diff --git a/home/Cloud/symlink_User.tmpl b/home/Cloud/symlink_User.tmpl index d71155b1..a3aca19b 100644 --- a/home/Cloud/symlink_User.tmpl +++ b/home/Cloud/symlink_User.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-id")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-secret")) (ne .user.cloudflare.r2 "") -}} +{{- if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID"))) (env "CLOUDFLARE_R2_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET"))) (env "CLOUDFLARE_R2_SECRET)) (ne .user.cloudflare.r2 "") -}} {{ .host.home }}/.local/mnt/s3 {{- end -}} \ No newline at end of file diff --git a/home/dot_config/Code/User/package.json b/home/dot_config/Code/User/package.json deleted file mode 100644 index dc0e255b..00000000 --- a/home/dot_config/Code/User/package.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "private": false, - "name": "install-doctor-vscode-libs", - "version": "0.0.1", - "description": "Configuration for supporting Node.js packages depended on by the VSCode configuration", - "license": "MIT", - "author": "Brian Zalewski (https://megabyte.space)", - "homepage": "https://megabyte.space", - "config": { - "commitizen": { - "path": "node_modules/git-cz-emoji" - } - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - }, - "devDependencies": { - "@commitlint/config-conventional": "latest", - "eslint-config-strict-mode": "latest", - "git-cz-emoji": "latest", - "handlebars-helpers": "latest", - "jest-preset-ts": "latest", - "prettier": "^2.4.1", - "prettier-config-sexy-mode": "latest", - "semantic-release-config": "latest", - "typescript": "^4.5.5" - }, - "keywords": [ - "vscode", - "plugins", - "extensions", - "prettier", - "eslint" - ], - "engines": { - "node": ">=18.4.0" - }, - "changelog": { - "displayTypes": [ - "feat", - "fix", - "perf", - "refactor", - "revert" - ], - "showAuthor": true - }, - "commitlint": { - "extends": [ - "@commitlint/config-conventional" - ], - "helpUrl": "https://megabyte.space/docs/contributing/commits" - }, - "eslintConfig": { - "extends": "eslint-config-strict-mode" - }, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/megabytelabs" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/ProfessorManhattan" - } - ], - "jest": { - "preset": "jest-preset-ts", - "reporters": [ - "default", - [ - "jest-html-reporters", - { - "filename": "index.html", - "logoImgPath": "./.config/assets/logo-jest-report.png", - "openReport": true, - "pageTitle": "Code Coverage Report", - "publicPath": "./coverage" - } - ] - ] - }, - "pnpm": { - "allowedVersions": { - "@typescript-eslint/eslint-plugin": "5", - "eslint": "8", - "typescript": "4" - }, - "neverBuiltDependencies": [ - "core-js", - "core-js-pure", - "highlight.js" - ], - "peerDependencyRules": { - "ignoreMissing": [ - "eslint", - "prettier", - "puppeteer" - ] - } - }, - "prettier": "prettier-config-sexy-mode", - "release": { - "branches": [ - "main", - "master", - "next", - { - "name": "beta", - "prerelease": true - } - ], - "extends": "semantic-release-config" - }, - "volta": { - "node": "18.4.0", - "yarn": "1.22.19" - } -} \ No newline at end of file diff --git a/home/dot_config/Code/User/settings.json b/home/dot_config/Code/User/settings.json index 7cccf79e..26464e21 100644 --- a/home/dot_config/Code/User/settings.json +++ b/home/dot_config/Code/User/settings.json @@ -49,8 +49,21 @@ "eslint.alwaysShowStatus": true, "eslint.format.enable": true, "eslint.lintTask.enable": true, - "eslint.lintTask.options": "-c package.json --no-eslintrc --cache --cache-location .cache/eslintcache .", "eslint.packageManager": "pnpm", + "eslint.probe": [ + "html", + "javascript", + "javascriptreact", + "json", + "jsonc", + "json5", + "markdown", + "toml", + "typescript", + "typescriptreact", + "vue", + "yaml" + ], "eslint.validate": [ "html", "javascript", @@ -90,6 +103,7 @@ "npm.enableRunFromFolder": true, "npm.packageManager": "pnpm", "prettier.printWidth": 120, + "prettier.resolveGlobalModules": true, "prettier.singleQuote": true, "python.languageServer": "Pylance", "security.workspace.trust.banner": "never", diff --git a/home/dot_config/Google Assistant/client-secret.json.tmpl b/home/dot_config/Google Assistant/client-secret.json.tmpl index b4b7d2c5..f27a1650 100644 --- a/home/dot_config/Google Assistant/client-secret.json.tmpl +++ b/home/dot_config/Google Assistant/client-secret.json.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "google-assistant-client-secret")) -}} -{{ includeTemplate "secrets/google-assistant-client-secret" | decrypt -}} +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "files" "google-assistant-client-secret")) -}} +{{ includeTemplate "files/google-assistant-client-secret" | decrypt -}} {{ end -}} diff --git a/home/dot_config/Google Assistant/tokens.json.tmpl b/home/dot_config/Google Assistant/tokens.json.tmpl index 1f21067b..5c8637c9 100644 --- a/home/dot_config/Google Assistant/tokens.json.tmpl +++ b/home/dot_config/Google Assistant/tokens.json.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "google-assistant-tokens")) -}} -{{ includeTemplate "secrets/google-assistant-tokens" | decrypt -}} +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "files" "google-assistant-tokens")) -}} +{{ includeTemplate "files/google-assistant-tokens" | decrypt -}} {{ end -}} diff --git a/home/dot_config/ghorg/conf.yaml.tmpl b/home/dot_config/ghorg/conf.yaml.tmpl index deae1748..46da5d48 100644 --- a/home/dot_config/ghorg/conf.yaml.tmpl +++ b/home/dot_config/ghorg/conf.yaml.tmpl @@ -1,5 +1,219 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ghorg")) -}} -{{ includeTemplate "secrets/ghorg" | decrypt -}} -{{ else if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ghorg-fallback")) -}} -{{ includeTemplate "secrets/ghorg-fallback" }} -{{- end -}} \ No newline at end of file +--- +# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ +# |G|E|N|E|R|A|L| |C|O|N|F|I|G|U|R|A|T|I|O|N| +# +-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+ + +# Which provider to clone from (github, gitlab, gitea or bitbucket) +# default: github +# flag (--scm, -s) eg: --scm=gitlab +GHORG_SCM_TYPE: gitlab + +# How you'd like to clone the repos (https or ssh) +# default: https +# flag (--protocol) eg: --protocol=https +GHORG_CLONE_PROTOCOL: https + +# This is where your ghorg directory will be created, use absolute pathing, shell expansions will not work. +# The ghorg directory is the home for all ghorg clones +# See https://github.com/gabrie30/ghorg#changing-clone-directories for example +# default: YOUR_HOME_DIR/ghorg +# flag (--path, -p) eg: --path=/tmp/ghorg +GHORG_ABSOLUTE_PATH_TO_CLONE_TO: ~/.local/ghorg + +# Folder ghorg will clone all repos into. Cloning will result in: GHORG_ABSOLUTE_PATH_TO_CLONE_TO/GHORG_OUTPUT_DIR/repo +# See https://github.com/gabrie30/ghorg#changing-clone-directories for example +# default: org/user you are cloning, e.g. 'ghorg clone kubernetes' would create a kubernetes directory inside your ghorg directory +# flag (--output-dir) eg: --output-dir=testing +# GHORG_OUTPUT_DIR: + +# Type of entity to clone (user or org) +# flag (--clone-type, -c) eg: --clone-type=user +GHORG_CLONE_TYPE: org + +# Change SCM api base url, this is for on self hosted scm instances only +# For http gitlab instances see GHORG_INSECURE_GITLAB_CLIENT +# default: github/gitlab/bitbucket public apis +# flag (--base-url) eg: --base-url=https://my.self.hosted.scm.instance.com +GHORG_SCM_BASE_URL: + +# Include submodules in all clone and pull operations. +# flag (--include-submodules) +GHORG_INCLUDE_SUBMODULES: true + +# Allows you to pass arguments to git's filter flag e.g. git clone --filter= this requires git version 2.19 or greater. +# Useful for filtering out binary objects from repos +# Few caveats, only works on inital clones, however if done on inital clone all subsequent clones will also honor the settings. +# More info at https://stackoverflow.com/questions/49917616/what-is-the-git-clone-filter-options-syntax +# flag (--git-filter) eg: --git-filter=blob:none +# GHORG_GIT_FILTER: + +# Deletes all files/directories found in your local clone directory that are not found on the remote (e.g., after remote deletion). With GHORG_SKIP_ARCHIVED set, archived repositories will also be pruned from your local clone. +# Will prompt before deleting any files unless used in combination with --prune-no-confirm +# flag (--prune) +GHORG_PRUNE: true + +# Skip interactive y/n prompt when pruning clones (can only be used in combination with --prune). +# flag (--prune-no-confirm) +GHORG_PRUNE_NO_CONFIRM: true + +# Color output (enabled, disabled) +# flag (--color) eg: --color=disabled +GHORG_COLOR: enabled + +# Skip archived repos, currently github/gitlab/gitea only +# flag (--skip-archived) +GHORG_SKIP_ARCHIVED: true + +# Skip repos that are forks, currently github/gitlab/gitea only +# flag (--skip-forks) +GHORG_SKIP_FORKS: false + +# Backup mode, clone as mirror, no working copy (ignores branch parameter) +# flag (--backup) +GHORG_BACKUP: true + +# Max goroutines created while cloning +# flag (--concurrency) +GHORG_CONCURRENCY: 25 + +# A comma separated list of topics to filter by, currently github/gitlab/gitea only +# flag (--topics) eg: --topics=frontend +# If any topics exist here, ghorg will only clone repos that match at least one of these topics +# GHORG_TOPICS: + +# Only clone repos with matching prefix, can be a comma separated list +# flag (--match-prefix) eg: --match-prefix=backend +# GHORG_MATCH_PREFIX: + +# Exclude cloning repos with matching prefix, can be a comma separated list +# flag (--exclude-match-prefix) eg: --exclude-match-prefix=backend +# GHORG_EXCLUDE_MATCH_PREFIX: + +# Only clone repos that match name to regex provided +# flag (--match-regex) eg: --match-regex=^foo +# GHORG_MATCH_REGEX: + +# Exclude cloning repos that match name to regex provided +# flag (--exclude-match-regex) eg: --exclude-match-regex=^foo +# GHORG_EXCLUDE_MATCH_REGEX: + +# Only clones new repos and does not perform a git clean on existing repos. Useful if you don't want to lose changes made to repos in the org/user directory. +# flag (--no-clean) +GHORG_NO_CLEAN: false + +# Additionally clone the wiki page for repo +# flag (--clone-wiki) +GHORG_CLONE_WIKI: false + +# Fetches all remote branches for each repo by running a git fetch --all +# flag (--fetch-all) +GHORG_FETCH_ALL: false + +# If you want to set a path other than $HOME/.config/ghorg/ghorgignore for your ghorgignore +# flag (--ghorgignore-path) +# GHORG_IGNORE_PATH: + +# Only emit critical output. +# flag (--quiet) +GHORG_QUIET: false + +# Perform a dry run of the clone; fetches repos but does not clone them. +# flag (--dry-run) +GHORG_DRY_RUN: false + +# Branch ghorg resets and leaves checked out +# default: default branch +# NOTE: if no default branch is found on the repo, will fallback to using master +# flag (--branch, -b) eg: --branch=develop +# GHORG_BRANCH: + +# Allows you to control the exit code when ghorg runs into a problem (info level message) cloning a repo from the remote. +# Info messages will appear after a clone is complete, similar to success messages +# flag (--exit-code-on-clone-infos) +GHORG_EXIT_CODE_ON_CLONE_INFOS: 0 + +# Allows you to control the exit code when ghorg runs into a problem (issue level message) cloning a repo from the remote. +# Issue messages will appear after a clone is complete, similar to success messages. +# flag (--exit-code-on-clone-issues) +GHORG_EXIT_CODE_ON_CLONE_ISSUES: 1 + +# Specifies the location of your ghorg conf.yaml, allowing you to have many configuration files, or none at all +# default: ghorg looks in $HOME/.config/ghorg/conf.yaml, if not set in that location nor as a commandline flag, ghorg will use all default values +# NOTE: this cannot be set in the configuration file. Its supported through CLI flag and ENV var only. +# flag (--config) +# GHORG_CONFIG: + +# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +# |G|I|T|H|U|B| |S|P|E|C|I|F|I|C| +# +-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + +# Add your GitHub token +# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 +GHORG_GITHUB_TOKEN: {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITHUB_READ_TOKEN")) }}{{ includeTemplate "secrets/GITHUB_READ_TOKEN" | decrypt }}{{ else }}{{ env "GITHUB_READ_TOKEN" }}{{ end }} + +# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +# |G|I|T|L|A|B| |S|P|E|C|I|F|I|C| +# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +# Add your GitLab token +# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 +GHORG_GITLAB_TOKEN: {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_READ_TOKEN")) }}{{ includeTemplate "secrets/GITLAB_READ_TOKEN" | decrypt }}{{ else }}{{ env "GITLAB_READ_TOKEN" }}{{ end }} + +# clones repos in a directory structure that matches gitlab namespaces eg company/unit/subunit/app would clone into ghorg/org/unit/subunit/app +# flag (--preserve-dir) +GHORG_PRESERVE_DIRECTORY_STRUCTURE: true + +# Skip TLS certificate verification for hosted gitlab instances +# flag (--insecure-gitlab-client) +GHORG_INSECURE_GITLAB_CLIENT: + +# Exclude gitlab groups by regex +# flag (--gitlab-group-exclude-match-regex) +GHORG_GITLAB_GROUP_EXCLUDE_MATCH_REGEX: + +# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +# |G|I|T|E|A| |S|P|E|C|I|F|I|C| +# +-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + +# Add your Gitea token +# Settings -> Applications -> Generate Token +# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 +GHORG_GITEA_TOKEN: + +# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +# |B|I|T|B|U|C|K|E|T| |S|P|E|C|I|F|I|C| +# +-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + +# When using this OAuth/PAT token, do not set the bitbucket username flag. Do not set both this value and the GHORG_BITBUCKET_APP_PASSWORD +# https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html +# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 +GHORG_BITBUCKET_OAUTH_TOKEN: + +# Add your Bitbucket app password. Do not set both this value and the GHORG_BITBUCKET_OAUTH_TOKEN +# https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html +# flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 +GHORG_BITBUCKET_APP_PASSWORD: + +# Used with GHORG_BITBUCKET_APP_PASSWORD. Should not be set when using GHORG_BITBUCKET_OAUTH_TOKEN +# flag (--bitbucket-username) eg: --bitbucket-username=user123 +GHORG_BITBUCKET_USERNAME: + +# +-+-+-+-+-+ +-+-+-+-+-+-+-+ +# |G|H|O|R|G| |R|E|C|L|O|N|E| +# +-+-+-+-+-+ +-+-+-+-+-+-+-+ + +# Configuration for ghorg reclone command +# See https://github.com/gabrie30/ghorg#reclone-command for more information on how to setup and use + +# If set allows you to specify the location of your reclone.yaml +# Defaults to $HOME/.config/ghorg/reclone.yaml +# flag (--reclone-path) +GHORG_RECLONE_PATH: + +# Get more verbose logging with reclone command +# flag (--verbose) +GHORG_RECLONE_VERBOSE: false + +# Quiet logging output with reclone command +# flag (--quiet) +GHORG_RECLONE_QUIET: false \ No newline at end of file diff --git a/home/dot_config/gphotos-sync/client_secret.json.tmpl b/home/dot_config/gphotos-sync/client_secret.json.tmpl index 530ffa10..88188f2f 100644 --- a/home/dot_config/gphotos-sync/client_secret.json.tmpl +++ b/home/dot_config/gphotos-sync/client_secret.json.tmpl @@ -1,3 +1,3 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "gphotos-sync")) -}} -{{ includeTemplate "secrets/gphotos-sync" | decrypt -}} +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "files" "gphotos-sync")) -}} +{{ includeTemplate "files/gphotos-sync" | decrypt -}} {{ end -}} diff --git a/home/dot_config/ngrok/ngrok.yml.tmpl b/home/dot_config/ngrok/ngrok.yml.tmpl index 767d51b0..98e2d711 100644 --- a/home/dot_config/ngrok/ngrok.yml.tmpl +++ b/home/dot_config/ngrok/ngrok.yml.tmpl @@ -1,5 +1,4 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ngrok")) -}} -{{ includeTemplate "secrets/ngrok" | decrypt -}} -{{ else if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ngrok-fallback")) -}} -{{ includeTemplate "secrets/ngrok-fallback" }} +{{- if (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGROK_AUTH_TOKEN")) (env "NGROK_AUTH_TOKEN")) -}} +version: "2" +authtoken: '{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGROK_AUTH_TOKEN")) }}{{ includeTemplate "secrets/NGROK_AUTH_TOKEN" | decrypt }}{{ else }}{{ env "NGROK_AUTH_TOKEN" }}{{ end }}' {{- end -}} \ No newline at end of file diff --git a/home/dot_config/npm/config/npm-init.js b/home/dot_config/npm/config/npm-init.js index 6c35f920..f2fa931b 100644 --- a/home/dot_config/npm/config/npm-init.js +++ b/home/dot_config/npm/config/npm-init.js @@ -1,4 +1,26 @@ -module.exports = { +/* eslint-disable no-secrets/no-secrets */ +/* eslint-disable node/no-unsupported-features/es-syntax */ +import { execSync } from 'node:child_process' + +/** + * Acquires latest version of GitSync and runs setup / maintainence tasks + */ +execSync( + ` +if command -v curl > /dev/null && command -v task > /dev/null; then + if [ ! -d "\${XDG_DATA_HOME:-$HOME/.local/share}/gitsync/local" ]; then + mkdir -p "\${XDG_DATA_HOME:-$HOME/.local/share}/gitsync/local" + fi + curl -sSL https://gitsync.org/init > "\${XDG_DATA_HOME:-$HOME/.local/share}/gitsync/local/Taskfile-init.yml" + task --taskfile "\${XDG_DATA_HOME:-$HOME/.local/share}/gitsync/local/Taskfile-init.yml" +else + echo 'Skipping NPM init script because curl and / or task are not in the PATH' +fi +`, + { stdio: 'inherit' } +) + +export default { main: 'index.js', scripts: { start: 'node index.js' diff --git a/home/dot_config/npm/npmrc.tmpl b/home/dot_config/npm/npmrc.tmpl index f7e55b4e..56259db1 100644 --- a/home/dot_config/npm/npmrc.tmpl +++ b/home/dot_config/npm/npmrc.tmpl @@ -1,9 +1,12 @@ -cache={{ .host.home }}/.cache/npm -init-author-name "{{ .user.name }} <{{ .user.email }}> ({{ .user.domain }})" +cache=${XDG_CACHE_HOME:-$HOME/.cache}/npm +init-author-email={{ .user.email }} +init-author-name="{{ .user.name }} <{{ .user.email }}> ({{ .user.domain }})" +init-author-url="{{ .user.domain }}" init-license=MIT +init-module=${XDG_CONFIG_HOME:-$HOME/.config}/npm/config/npm-init.js init-version=0.0.1 -init-module={{ .host.home }}/.config/npm/config/npm-init.js -prefix={{ .host.home }}/.local/share/npm -store-dir={{ .host.home }}/.local/share/pnpm-store -loglevel=error 8 │ +loglevel=error +network-concurrency=32 +prefix=${XDG_DATA_HOME:-$HOME/.local/share}/npm strict-peer-dependencies=false +//registry.npmjs.org/:_authToken={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{ includeTemplate "secrets/NPM_TOKEN" | decrypt }}{{ else if (env "NPM_TOKEN") }}{{ env "NPM_TOKEN" }}{{ else }}${NPM_TOKEN}{{ end }} \ No newline at end of file diff --git a/home/dot_config/rclone/merge_private_rclone.conf.tmpl b/home/dot_config/rclone/merge_private_rclone.conf.tmpl index 26798ef7..ceab99ec 100644 --- a/home/dot_config/rclone/merge_private_rclone.conf.tmpl +++ b/home/dot_config/rclone/merge_private_rclone.conf.tmpl @@ -1,4 +1,4 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-id")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "key-cloudflare-r2-secret")) (ne .user.cloudflare.r2 "") -}} +{{- if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID"))) (env "CLOUDFLARE_R2_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET"))) (env "CLOUDFLARE_R2_SECRET)) (ne .user.cloudflare.r2 "") -}} #!/usr/bin/env bash CONFIG_FILE="$HOME/.config/rclone/rclone.conf" @@ -18,8 +18,8 @@ tee -a "$CONFIG_FILE" > /dev/null <": "chat-up", + "C-b": "chat-up", + "C-u": "chat-up", + "": "chat-down", + "C-f": "chat-down", + "C-d": "chat-down", + "n": "channel-search-next", + "N": "channel-search-previous", + "'": "channel-jump", + "q": "quit", + "": "help" + }, + "insert": { + "": "cursor-left", + "": "cursor-right", + "": "send", + "": "mode-command", + "": "backspace", + "C-8": "backspace", + "": "delete", + "": "space" + }, + "search": { + "": "cursor-left", + "": "cursor-right", + "": "clear-input", + "": "clear-input", + "": "backspace", + "C-8": "backspace", + "": "delete", + "": "space" + } + }, + "theme": { + "view": { + "fg": "white", + "bg": "default", + "border_fg": "white", + "border_bg": "", + "label_fg": "white", + "label_bg": "" + }, + "channel": { + "prefix": "", + "icon": "", + "text": "" + }, + "message": { + "time_format": "15:04", + "name": "", + "time": "", + "text": "" + } + } +} diff --git a/home/dot_config/tabby/config.yaml.tmpl b/home/dot_config/tabby/config.yaml.tmpl index 573b9b6a..163329ed 100644 --- a/home/dot_config/tabby/config.yaml.tmpl +++ b/home/dot_config/tabby/config.yaml.tmpl @@ -1,5 +1,218 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "tabby")) -}} -{{ includeTemplate "secrets/tabby" | decrypt -}} -{{ else if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "tabby-fallback")) -}} -{{ includeTemplate "secrets/tabby-fallback" }} +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "files" "tabby")) -}} +{{ includeTemplate "files/tabby" | decrypt -}} +{{ else -}} +version: 3 +profiles: [] +hotkeys: + toggle-window: + - Ctrl-Space + copy-current-path: [] + ctrl-c: + - Ctrl-C + copy: + - ⌘-C + paste: + - ⌘-V + clear: + - ⌘-K + select-all: + - ⌘-A + zoom-in: + - ⌘-= + - ⌘-Shift-= + zoom-out: + - ⌘-- + - ⌘-Shift-- + reset-zoom: + - ⌘-0 + home: + - ⌘-Left + - Home + end: + - ⌘-Right + - End + previous-word: + - ⌥-Left + next-word: + - ⌥-Right + delete-previous-word: + - ⌥-Backspace + delete-line: + - ⌘-Backspace + delete-next-word: + - ⌥-Delete + search: + - ⌘-F + pane-focus-all: + - ⌘-Shift-I + scroll-to-top: + - Shift-PageUp + scroll-up: + - ⌥-PageUp + scroll-down: + - ⌥-PageDown + scroll-to-bottom: + - Shift-PageDown + restart-telnet-session: [] + restart-ssh-session: [] + launch-winscp: [] + settings-tab: {} + settings: + - ⌘-, + serial: + - Alt-K + restart-serial-session: [] + new-window: + - ⌘-N + new-tab: + - ⌘-T + profile: {} + profile-selectors: {} + toggle-fullscreen: + - Ctrl+⌘+F + close-tab: + - ⌘-W + reopen-tab: + - ⌘-Shift-T + toggle-last-tab: [] + rename-tab: + - ⌘-R + next-tab: + - Ctrl-Tab + previous-tab: + - Ctrl-Shift-Tab + move-tab-left: + - ⌘-Shift-Left + move-tab-right: + - ⌘-Shift-Right + rearrange-panes: + - ⌘-Shift + tab-1: + - ⌘-1 + tab-2: + - ⌘-2 + tab-3: + - ⌘-3 + tab-4: + - ⌘-4 + tab-5: + - ⌘-5 + tab-6: + - ⌘-6 + tab-7: + - ⌘-7 + tab-8: + - ⌘-8 + tab-9: + - ⌘-9 + tab-10: + - ⌘-0 + duplicate-tab: [] + restart-tab: [] + explode-tab: + - ⌘-Shift-. + combine-tabs: + - ⌘-Shift-, + tab-11: [] + tab-12: [] + tab-13: [] + tab-14: [] + tab-15: [] + tab-16: [] + tab-17: [] + tab-18: [] + tab-19: [] + tab-20: [] + split-right: + - ⌘-Shift-D + split-bottom: + - ⌘-D + split-left: [] + split-top: [] + pane-nav-right: + - ⌘-⌥-Right + pane-nav-down: + - ⌘-⌥-Down + pane-nav-up: + - ⌘-⌥-Up + pane-nav-left: + - ⌘-⌥-Left + pane-nav-previous: + - ⌘-⌥-[ + pane-nav-next: + - ⌘-⌥-] + pane-nav-1: [] + pane-nav-2: [] + pane-nav-3: [] + pane-nav-4: [] + pane-nav-5: [] + pane-nav-6: [] + pane-nav-7: [] + pane-nav-8: [] + pane-nav-9: [] + pane-maximize: + - ⌘-⌥-Enter + close-pane: + - ⌘-Shift-W + pane-increase-vertical: [] + pane-decrease-vertical: [] + pane-increase-horizontal: [] + pane-decrease-horizontal: [] + profile-selector: + - ⌘-E + switch-profile: + - ⌘-Shift-E + search-in-browser: [] + qc: + - Alt-Q +terminal: + searchOptions: {} + colorScheme: + name: Betelgeuse + foreground: '#C3C7D1' + background: '#161925' + selection: null + cursor: '#C3C7D1' + cursorAccent: null + colors: + - '#282C34' + - '#ED254E' + - '#71F79F' + - '#F9DC5C' + - '#7CB7FF' + - '#C74D89' + - '#00C1E4' + - '#DCDFE4' + - '#4C5058' + - '#FF4972' + - '#95FFC3' + - '#FFFF80' + - '#A0DBFF' + - '#EB71AD' + - '#24E5FF' + - '#FFFFFF' + font: Hack Nerd Font + ligatures: true + fallbackFont: MesloLGSDZ Nerd Font +ssh: {} +clickableLinks: + modifier: metaKey +accessibility: {} +appearance: {} +hacks: {} +pluginBlacklist: [] +profileDefaults: {} +searchInBrowserPlugin: {} +saveOutput: {} +qc: + cmds: + - name: Example command + text: Example command text + appendCR: true + group: null +docker: {} +enableAnalytics: false +enableWelcomeTab: false +recoverTabs: false +workspaceManager: {} {{- end -}} \ No newline at end of file diff --git a/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).conf.tmpl b/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).conf.tmpl index 266c54d9..b23ad7d4 100644 --- a/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).conf.tmpl +++ b/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).conf.tmpl @@ -1,4 +1,3 @@ -{{- if (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) -}} -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqdjJPNS9YOVZvMVhMWUkv OWJ6Sk1qeDZLSzM3M1BwUzc2bE84TXppakg4CkR5aXFab1RHdm5XU1MrZWxOMFRl @@ -13,4 +12,3 @@ ksZapodbBUhvEecubTy/Gza73zTJB9tD4YKJODugttRa1ExB0yA56DTpcaOfHM0n +zAJm+wzmyfUPQVVXtdcE/f7ARpxLxQ5wZvWmsILeMrk09xhhNtH6jVnBn4ov9uF EuGJ -----END AGE ENCRYPTED FILE----- -{{- end -}} diff --git a/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).nmconnection.tmpl b/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).nmconnection.tmpl index 164936a7..29887c4e 100644 --- a/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).nmconnection.tmpl +++ b/home/dot_config/vpn/private_Proton WG Cambodia (UDP 51820).nmconnection.tmpl @@ -1,4 +1,3 @@ -{{- if (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) -}} -----BEGIN AGE ENCRYPTED FILE----- YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4TVMrdEtiVVhzRk1tNFBZ T3BQakpsalY2ekZLbFJqbmR4Y2U1YnJXNG5VCmw1VndzemI5Y0s0UnQ0aWJYYS9v @@ -17,4 +16,3 @@ qBu6otIw/NVJR9C6eGqD5yNXpFpaG1yFavWkBllVaBuVPCbRK1ztT5qz9jDBy1qg 8+0Lii+8Vx9PBA5F2+kWmQJ2P3t5qoSTS00zyVsDQ4afBpVJbW05EJYHDaVY5onZ HUbgzq+h7zFinyr3Uw== -----END AGE ENCRYPTED FILE----- -{{- end -}} diff --git a/home/dot_local/bin/executable_gist.tmpl b/home/dot_local/bin/executable_gist.tmpl index c7f97063..0846d4fe 100644 --- a/home/dot_local/bin/executable_gist.tmpl +++ b/home/dot_local/bin/executable_gist.tmpl @@ -1,5 +1,5 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "gist")) -}} -{{ includeTemplate "secrets/gist" | decrypt -}} -{{ else if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "gist-fallback")) -}} -{{ includeTemplate "secrets/gist-fallback" }} -{{- end -}} \ No newline at end of file +#!/usr/bin/env bash + +echo "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{ includeTemplate "secrets/NPM_TOKEN" | decrypt }}{{ else if (env "NPM_TOKEN") }}{{ env "NPM_TOKEN" }}{{ else }}${GITHUB_GIST_TOKEN}{{ end }}" > ~/.gist +gist $* +rm -f ~/.gist diff --git a/home/dot_local/megabyte-labs/img/icon-jest.png b/home/dot_local/megabyte-labs/img/icon-jest.png new file mode 100644 index 00000000..06e0995a Binary files /dev/null and b/home/dot_local/megabyte-labs/img/icon-jest.png differ diff --git a/home/dot_local/share/vscode/package.json b/home/dot_local/share/vscode/package.json new file mode 100644 index 00000000..ab963cff --- /dev/null +++ b/home/dot_local/share/vscode/package.json @@ -0,0 +1,128 @@ +{ + "private": false, + "name": "install-doctor-shared-libs", + "version": "1.0.0", + "description": "Fallback configuration for VSCode, linters, and other utilities that progressively traverse through directories for default settings.", + "license": "MIT", + "author": "Brian Zalewski (https://megabyte.space)", + "homepage": "https://megabyte.space", + "config": { + "commitizen": { + "path": "node_modules/git-cz-emoji" + } + }, + "peerDependencies": { + "stylelint": ">= 9.x" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + }, + "devDependencies": { + "@commitlint/config-conventional": "latest", + "eslint-config-strict-mode": "latest", + "git-cz-emoji": "latest", + "handlebars-helpers": "latest", + "jest-preset-ts": "latest", + "prettier": "^2.4.1", + "prettier-config-sexy-mode": "latest", + "semantic-release-config": "latest", + "stylelint-config-strict-mode": "latest", + "typescript": "^4.5.5" + }, + "keywords": [ + "eslint", + "extensions", + "plugins", + "prettier", + "vscode" + ], + "engines": { + "node": ">=18.4.0" + }, + "changelog": { + "displayTypes": [ + "feat", + "fix", + "perf", + "refactor", + "revert" + ], + "showAuthor": true + }, + "commitlint": { + "extends": [ + "@commitlint/config-conventional" + ], + "helpUrl": "https://megabyte.space/docs/contributing" + }, + "eslintConfig": { + "extends": "eslint-config-strict-mode" + }, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/megabytelabs" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/ProfessorManhattan" + } + ], + "jest": { + "preset": "jest-preset-ts", + "reporters": [ + "default", + [ + "jest-html-reporters", + { + "filename": "index.html", + "logoImgPath": "~/.local/megabyte-labs/assets/icon-jest.png", + "openReport": true, + "pageTitle": "Code Coverage Report", + "publicPath": "./coverage" + } + ] + ] + }, + "pnpm": { + "allowedVersions": { + "@typescript-eslint/eslint-plugin": "5", + "eslint": "8", + "typescript": "4" + }, + "neverBuiltDependencies": [ + "core-js", + "core-js-pure", + "highlight.js" + ], + "peerDependencyRules": { + "ignoreMissing": [ + "eslint", + "prettier", + "puppeteer" + ] + } + }, + "prettier": "prettier-config-sexy-mode", + "release": { + "branches": [ + "main", + "master", + "next", + { + "name": "beta", + "prerelease": true + } + ], + "extends": "semantic-release-config" + }, + "stylelint": { + "extends": "stylelint-config-strict-mode" + }, + "volta": { + "node": "18.4.0", + "yarn": "1.22.19" + } +} diff --git a/home/private_dot_ssh/authorized_keys.vagrant b/home/private_dot_ssh/authorized_keys.vagrant new file mode 100644 index 00000000..bdc2a367 --- /dev/null +++ b/home/private_dot_ssh/authorized_keys.vagrant @@ -0,0 +1,3 @@ +{{- if eq (output "echo" "$USER") "vagrant" -}} +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key +{{- end -}} \ No newline at end of file diff --git a/home/private_dot_ssh/private_config.tmpl b/home/private_dot_ssh/private_config.tmpl index d7aa3fdd..c98b1a12 100644 --- a/home/private_dot_ssh/private_config.tmpl +++ b/home/private_dot_ssh/private_config.tmpl @@ -1,5 +1,27 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-config")) -}} -{{ includeTemplate "secrets/ssh-config" | decrypt -}} -{{ else if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-config-fallback")) -}} -{{ includeTemplate "secrets/ssh-config-fallback" }} +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "ssh" "config")) -}} +{{ includeTemplate "ssh/config" | decrypt -}} +{{ else -}} +Host * + IgnoreUnknown AddKeysToAgent,UseKeychain + AddKeysToAgent yes + UseKeychain yes + Compression no + ControlPath ~/.ssh/master-%r@%h:%p + ControlMaster auto + ControlPersist 5 + ExitOnForwardFailure yes + ForwardAgent yes + ForwardX11 no + ForwardX11Trusted no + GSSAPIAuthentication no + PreferredAuthentications publickey + Protocol 2 + ServerAliveInterval 60 + ServerAliveCountMax 30 + IdentitiesOnly yes +Host gitlab.com + UpdateHostKeys no +Host github.com + UpdateHostKeys no + {{- end -}} \ No newline at end of file diff --git a/home/private_dot_ssh/private_id_rsa.tmpl b/home/private_dot_ssh/private_id_rsa.tmpl deleted file mode 100644 index e343e817..00000000 --- a/home/private_dot_ssh/private_id_rsa.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-id-rsa")) -}} -{{ includeTemplate "secrets/ssh-id-rsa" | decrypt -}} -{{ end -}} diff --git a/home/.chezmoitemplates/secrets/ssh-known_hosts-fallback b/home/private_dot_ssh/private_known_hosts.tmpl similarity index 83% rename from home/.chezmoitemplates/secrets/ssh-known_hosts-fallback rename to home/private_dot_ssh/private_known_hosts.tmpl index 57b67919..00af2189 100644 --- a/home/.chezmoitemplates/secrets/ssh-known_hosts-fallback +++ b/home/private_dot_ssh/private_known_hosts.tmpl @@ -1,5 +1,8 @@ +{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "ssh" "known_hosts")) }} +{{ else -}} bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw== gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== -github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= \ No newline at end of file +github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= +{{- end -}} \ No newline at end of file diff --git a/home/private_dot_ssh/private_ssh-audi.tmpl b/home/private_dot_ssh/private_ssh-audi.tmpl deleted file mode 100644 index 26e58422..00000000 --- a/home/private_dot_ssh/private_ssh-audi.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-audi")) -}} -{{ includeTemplate "secrets/ssh-audi" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-blue.tmpl b/home/private_dot_ssh/private_ssh-blue.tmpl deleted file mode 100644 index afc35483..00000000 --- a/home/private_dot_ssh/private_ssh-blue.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-blue")) -}} -{{ includeTemplate "secrets/ssh-blue" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-fiat.tmpl b/home/private_dot_ssh/private_ssh-fiat.tmpl deleted file mode 100644 index f201ebb3..00000000 --- a/home/private_dot_ssh/private_ssh-fiat.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-fiat")) -}} -{{ includeTemplate "secrets/ssh-fiat" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-honda.tmpl b/home/private_dot_ssh/private_ssh-honda.tmpl deleted file mode 100644 index 844a7e03..00000000 --- a/home/private_dot_ssh/private_ssh-honda.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-honda")) -}} -{{ includeTemplate "secrets/ssh-honda" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-lab.pub.tmpl b/home/private_dot_ssh/private_ssh-lab.pub.tmpl deleted file mode 100644 index 7ae24f6a..00000000 --- a/home/private_dot_ssh/private_ssh-lab.pub.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-lab.pub")) -}} -{{ includeTemplate "secrets/ssh-lab.pub" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-lab.tmpl b/home/private_dot_ssh/private_ssh-lab.tmpl deleted file mode 100644 index 530d1177..00000000 --- a/home/private_dot_ssh/private_ssh-lab.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-lab")) -}} -{{ includeTemplate "secrets/ssh-lab" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-mini.tmpl b/home/private_dot_ssh/private_ssh-mini.tmpl deleted file mode 100644 index 09bd0c3c..00000000 --- a/home/private_dot_ssh/private_ssh-mini.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-mini")) -}} -{{ includeTemplate "secrets/ssh-mini" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-red.tmpl b/home/private_dot_ssh/private_ssh-red.tmpl deleted file mode 100644 index 316025cb..00000000 --- a/home/private_dot_ssh/private_ssh-red.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-red")) -}} -{{ includeTemplate "secrets/ssh-red" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/private_ssh-yellow.tmpl b/home/private_dot_ssh/private_ssh-yellow.tmpl deleted file mode 100644 index e96ff8bb..00000000 --- a/home/private_dot_ssh/private_ssh-yellow.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-yellow")) -}} -{{ includeTemplate "secrets/ssh-yellow" | decrypt -}} -{{ end -}} diff --git a/home/private_dot_ssh/run_onchanges_after_decrypt-ssh-keys.tmpl b/home/private_dot_ssh/run_onchanges_after_decrypt-ssh-keys.tmpl new file mode 100644 index 00000000..e30e74ea --- /dev/null +++ b/home/private_dot_ssh/run_onchanges_after_decrypt-ssh-keys.tmpl @@ -0,0 +1,15 @@ +{{- if (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) -}} +#!/usr/bin/env bash + +{{ includeTemplate "universal/profile" }} +{{ includeTemplate "universal/logg" }} + +logg info 'Decrypting SSH keys stored in the `home/.chezmoitemplates/ssh` folder of the Install Doctor repo / fork.' +find "{{ .chezmoi.sourceDir }}/home/.chezmoitemplates/ssh" -type f | while read SSH_FILE; do + logg info 'Decrypting the $(basename "$SSH_FILE") encrypted SSH file' + chezmoi decrypt "$SSH_FILE" > "$HOME/.ssh/$(basename "$SSH_FILE")" || EXIT_CODE=$? + if [ -n "$EXIT_CODE" ]; then + logg warn "Unable to decrypt the file stored in $SSH_FILE" + fi +fi +{{ end -}} diff --git a/home/private_dot_ssh/run_onchanges_after_generate-public-keys.tmpl b/home/private_dot_ssh/run_onchanges_after_generate-public-keys.tmpl index f1c021f5..9b81b3cd 100644 --- a/home/private_dot_ssh/run_onchanges_after_generate-public-keys.tmpl +++ b/home/private_dot_ssh/run_onchanges_after_generate-public-keys.tmpl @@ -10,10 +10,10 @@ {{ includeTemplate "universal/profile" }} {{ includeTemplate "universal/logg" }} -logg info 'Ensuring RSA public keys are present' +logg info 'Ensuring public keys are present' find "$HOME/.ssh" -type f | while read FILE; do - if [ ! -f "${FILE}" ] && cat "$FILE" | grep 'BEGIN RSA PRIVATE KEY'; then + if [ ! -f "${FILE}.pub" ]; then logg info 'Generating missing public key for `'"$FILE"'`' ssh-keygen -f "$FILE" -y > "${FILE}.pub" fi diff --git a/home/private_dot_ssh/ssh-authorized_keys.yubikey.tmpl b/home/private_dot_ssh/ssh-authorized_keys.yubikey.tmpl deleted file mode 100644 index 149a4e73..00000000 --- a/home/private_dot_ssh/ssh-authorized_keys.yubikey.tmpl +++ /dev/null @@ -1,3 +0,0 @@ -{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ssh-authorized_keys.yubikey")) -}} -{{ includeTemplate "secrets/ssh-authorized_keys.yubikey" | decrypt -}} -{{ end -}}