Merge branch 'master' of https://github.com/megabyte-labs/install.doctor into 24_gitlab_runner
This commit is contained in:
commit
0586cb26d2
69 changed files with 1720 additions and 1053 deletions
29
docs/INSPIRATION.md
Normal file
29
docs/INSPIRATION.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
## CLI
|
||||
|
||||
* https://github.com/r-darwish/idnt
|
||||
* https://github.com/charmbracelet/wish
|
||||
* https://github.com/charmbracelet/skate
|
||||
* https://github.com/console-rs/indicatif
|
||||
* https://github.com/tauri-apps/tauri
|
||||
* https://github.com/emilengler/sysget
|
||||
* https://github.com/pocketbase/pocketbase
|
||||
* sysget
|
||||
* https://github.com/therootcompany/serviceman
|
||||
* https://github.com/vadimdemedes/ink
|
||||
* https://github.com/ajenti/ajenti
|
||||
* https://github.com/linuxserver/docker-webtop
|
||||
* https://github.com/chocolatey/boxstarter
|
||||
|
||||
## System
|
||||
|
||||
* https://github.com/Andy-Python-Programmer/aero
|
||||
|
||||
## Website
|
||||
|
||||
* https://github.com/Mintplex-Labs/anything-llm
|
||||
* https://webcontainers.io/
|
||||
* https://github.com/zulip/zulip
|
||||
* https://github.com/ConvoyPanel/panel
|
||||
* https://github.com/coder/coder
|
||||
* https://github.com/rigoneri/syte
|
||||
* https://github.com/rigoneri/Syte3
|
304
docs/TODO.md
304
docs/TODO.md
|
@ -1,220 +1,126 @@
|
|||
# TODOs
|
||||
|
||||
https://github.com/search?q=vscode&type=repositories&s=stars&o=desc&p=2
|
||||
* Revisit https://github.com/rome/tools when project matures
|
||||
https://github.com/rigoneri/syte/graphs/code-frequency
|
||||
https://www.automated-bots.com/
|
||||
https://github.com/NathanDuma/LinkedIn-Easy-Apply-Bot
|
||||
https://github.com/hfreire/get-me-a-date
|
||||
https://github.com/joelbarmettlerUZH/auto-tinder
|
||||
https://github.com/coder/coder
|
||||
zsh completions have been installed to:
|
||||
/usr/local/share/zsh/site-functions
|
||||
==> Linking Binary 'completion.bash.inc' to '/usr/local/etc/bash_completion.d/google-cloud-sdk'
|
||||
==> Linking Binary 'completion.zsh.inc' to '/usr/local/share/zsh/site-functions/_google_cloud_sdk'
|
||||
Ansible roles
|
||||
https://github.com/altermo/vim-plugin-list
|
||||
Play with Navi and configure cheat repos
|
||||
This page outlines various projects and tasks that we are currently working on. Creating a GitHub issue for each of these items would be overkill.
|
||||
|
||||
## Pending
|
||||
* Configure Navi to automatically download and use the best cheat repositories
|
||||
* Finish TS from 1400 stars
|
||||
* Python
|
||||
|
||||
## Upstream
|
||||
|
||||
The following items are things we would like to include into the Install Doctor system but are waiting on upstream changes.
|
||||
|
||||
* [Actions](https://github.com/sindresorhus/Actions) adds a wide-variety of actions that you can utilize with the macOS Shortcuts app. It is currently only available via the macOS app store. Requested a Homebrew Cask [here](https://github.com/sindresorhus/Actions/issues/127).
|
||||
* [Color Picker](https://github.com/sindresorhus/System-Color-Picker) is an improved color picker app available on macOS. It is currently only available via the macOS app store. Requested Homebrew Cask [here](https://github.com/sindresorhus/System-Color-Picker/issues/32).
|
||||
* Consider integrating [LocalAI](https://github.com/go-skynet/LocalAI) which can be used in combination with mods to generate ChatGPT responses locally
|
||||
* Wait for Homebrew install option for [Warpgate](https://github.com/warp-tech/warpgate)
|
||||
|
||||
## Premium Software Recommendations
|
||||
|
||||
### macOS
|
||||
|
||||
* [Dato](https://apps.apple.com/app/id1470584107) - World clocks and calendar menu bar application available for macOS. It is a better, paid alternative to the free version of Clockr which is currently installed using the default configuration of Install Doctor.
|
||||
* [Parallels](https://www.parallels.com/) is the best virtualization manager / platform available on macOS
|
||||
|
||||
|
||||
|
||||
|
||||
# https://github.com/mergestat/mergestat
|
||||
# Tiltfile
|
||||
# Skate!
|
||||
# RUNDECK
|
||||
# Foreman?
|
||||
# FOG
|
||||
# AMANDA
|
||||
# CloudStack
|
||||
# AppScale
|
||||
# resilio connect
|
||||
# oVirt
|
||||
# opennebula
|
||||
# emailengine.app
|
||||
# Consider:
|
||||
- https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim
|
||||
CLOUDFLARE_API_TOKEN
|
||||
GMAIL_APP_PASSWORD
|
||||
### Ensure these PATHs are added on Windows
|
||||
|
||||
add to PATH:
|
||||
'%ProgramFiles(x86)%\mitmproxy\bin'
|
||||
'%ProgramFiles(x86)%\juju'
|
||||
|
||||
# https://github.com/graysky2/profile-cleaner
|
||||
|
||||
### POSSIBLY USEFUL SOFTWARE
|
||||
|
||||
- Incorporate /home/linuxbrew/.linuxbrew/etc/bash_completion.d
|
||||
- https://docs.brew.sh/Shell-Completion
|
||||
|
||||
## Figure out where these go
|
||||
|
||||
### Restic
|
||||
|
||||
RESTIC_REPOSITORY_FILE Name of file containing the repository location (replaces --repository-file)
|
||||
RESTIC_REPOSITORY Location of repository (replaces -r)
|
||||
RESTIC_PASSWORD_FILE Location of password file (replaces --password-file)
|
||||
RESTIC_PASSWORD The actual password for the repository
|
||||
RESTIC_PASSWORD_COMMAND Command printing the password for the repository to stdout
|
||||
RESTIC_KEY_HINT ID of key to try decrypting first, before other keys
|
||||
RESTIC_CACHE_DIR Location of the cache directory
|
||||
RESTIC_COMPRESSION Compression mode (only available for repository format version 2)
|
||||
RESTIC_PROGRESS_FPS Frames per second by which the progress bar is updated
|
||||
RESTIC_PACK_SIZE Target size for pack files
|
||||
|
||||
TMPDIR Location for temporary files
|
||||
|
||||
AWS_ACCESS_KEY_ID Amazon S3 access key ID
|
||||
AWS_SECRET_ACCESS_KEY Amazon S3 secret access key
|
||||
AWS_SESSION_TOKEN Amazon S3 temporary session token
|
||||
AWS_DEFAULT_REGION Amazon S3 default region
|
||||
AWS_PROFILE Amazon credentials profile (alternative to specifying key and region)
|
||||
AWS_SHARED_CREDENTIALS_FILE Location of the AWS CLI shared credentials file (default: ~/.aws/credentials)
|
||||
|
||||
ST_AUTH Auth URL for keystone v1 authentication
|
||||
ST_USER Username for keystone v1 authentication
|
||||
ST_KEY Password for keystone v1 authentication
|
||||
|
||||
OS_AUTH_URL Auth URL for keystone authentication
|
||||
OS_REGION_NAME Region name for keystone authentication
|
||||
OS_USERNAME Username for keystone authentication
|
||||
OS_USER_ID User ID for keystone v3 authentication
|
||||
OS_PASSWORD Password for keystone authentication
|
||||
OS_TENANT_ID Tenant ID for keystone v2 authentication
|
||||
OS_TENANT_NAME Tenant name for keystone v2 authentication
|
||||
|
||||
OS_USER_DOMAIN_NAME User domain name for keystone authentication
|
||||
OS_USER_DOMAIN_ID User domain ID for keystone v3 authentication
|
||||
OS_PROJECT_NAME Project name for keystone authentication
|
||||
OS_PROJECT_DOMAIN_NAME Project domain name for keystone authentication
|
||||
OS_PROJECT_DOMAIN_ID Project domain ID for keystone v3 authentication
|
||||
OS_TRUST_ID Trust ID for keystone v3 authentication
|
||||
|
||||
OS_APPLICATION_CREDENTIAL_ID Application Credential ID (keystone v3)
|
||||
OS_APPLICATION_CREDENTIAL_NAME Application Credential Name (keystone v3)
|
||||
OS_APPLICATION_CREDENTIAL_SECRET Application Credential Secret (keystone v3)
|
||||
|
||||
OS_STORAGE_URL Storage URL for token authentication
|
||||
OS_AUTH_TOKEN Auth token for token authentication
|
||||
|
||||
B2_ACCOUNT_ID Account ID or applicationKeyId for Backblaze B2
|
||||
B2_ACCOUNT_KEY Account Key or applicationKey for Backblaze B2
|
||||
|
||||
AZURE_ACCOUNT_NAME Account name for Azure
|
||||
AZURE_ACCOUNT_KEY Account key for Azure
|
||||
AZURE_ACCOUNT_SAS Shared access signatures (SAS) for Azure
|
||||
|
||||
GOOGLE_PROJECT_ID Project ID for Google Cloud Storage
|
||||
GOOGLE_APPLICATION_CREDENTIALS Application Credentials for Google Cloud Storage (e.g. $HOME/.config/gs-secret-restic-key.json)
|
||||
|
||||
RCLONE_BWLIMIT rclone bandwidth limit
|
||||
|
||||
### Wazuh
|
||||
|
||||
WAZUH_MANAGER
|
||||
Specifies the manager IP address or hostname. If you want to specify multiple managers, you can add them separated by commas. See address.
|
||||
WAZUH_MANAGER_PORT
|
||||
Specifies the manager connection port. See port.
|
||||
WAZUH_PROTOCOL
|
||||
Sets the communication protocol between the manager and the agent. Accepts UDP and TCP. The default is TCP. See protocol.
|
||||
WAZUH_REGISTRATION_SERVER
|
||||
Specifies the Wazuh registration server, used for the agent registration. See manager_address. If empty, the value set in WAZUH_MANAGER will be used.
|
||||
WAZUH_REGISTRATION_PORT
|
||||
Specifies the port used by the Wazuh registration server. See port.
|
||||
WAZUH_REGISTRATION_PASSWORD
|
||||
Sets password used to authenticate during register, stored in etc/authd.pass. See authorization_pass_path
|
||||
WAZUH_KEEP_ALIVE_INTERVAL
|
||||
Sets the time between agent checks for manager connection. See notify_time.
|
||||
WAZUH_TIME_RECONNECT
|
||||
Sets the time interval for the agent to reconnect with the Wazuh manager when connectivity is lost. See time-reconnect.
|
||||
WAZUH_REGISTRATION_CA
|
||||
Host SSL validation need of Certificate of Authority. This option specifies the CA path. See server_ca_path.
|
||||
WAZUH_REGISTRATION_CERTIFICATE
|
||||
The SSL agent verification needs a CA signed certificate and the respective key. This option specifies the certificate path. See agent_certificate_path.
|
||||
WAZUH_REGISTRATION_KEY
|
||||
Specifies the key path completing the required variables with WAZUH_REGISTRATION_CERTIFICATE for the SSL agent verification process. See agent_key_path.
|
||||
WAZUH_AGENT_NAME
|
||||
Designates the agent's name. By default, it will be the computer name. See agent_name.
|
||||
WAZUH_AGENT_GROUP
|
||||
Assigns the agent to one or more existing groups (separated by commas). See agent_groups.
|
||||
ENROLLMENT_DELAY
|
||||
Assigns the time that agentd should wait after a successful registration. See delay_after_enrollment.
|
||||
|
||||
### Docker
|
||||
|
||||
https://github.com/filebrowser/filebrowser
|
||||
https://github.com/coder/code-server
|
||||
|
||||
[Polyform License Example](https://github.com/dosyago/DiskerNet/blob/fun/LICENSE.md)
|
||||
|
||||
### Robocorp.com
|
||||
|
||||
https://github.com/rigoneri/Syte3
|
||||
|
||||
* Wait for https://github.com/hocus-dev/hocus to get out of alpha for VM management
|
||||
* Revisit https://github.com/rome/tools when project matures
|
||||
* Revisit https://github.com/Disassembler0/Win10-Initial-Setup-Script for initial setup of Windows
|
||||
* Revisit Resilio - seems like they have tools useful for synchronizing VMs
|
||||
* Consider switching license to [Polyform License Example](https://github.com/dosyago/DiskerNet/blob/fun/LICENSE.md)
|
||||
* Look into tile managers
|
||||
* https://github.com/joelbarmettlerUZH/auto-tinder
|
||||
* https://github.com/hfreire/get-me-a-date
|
||||
* Keep eye on fig.io for release to Linux and new AI features
|
||||
* Monitor https://moonrepo.dev/moon as possible mono-repo manager
|
||||
|
||||
## Review
|
||||
|
||||
## CLI
|
||||
The following links include software that need to be reviewed before including them into the Install Doctor installer.
|
||||
|
||||
* https://github.com/r-darwish/idnt
|
||||
* https://github.com/charmbracelet/wish
|
||||
* https://github.com/charmbracelet/skate
|
||||
* https://github.com/console-rs/indicatif
|
||||
* https://github.com/tauri-apps/tauri
|
||||
* https://github.com/emilengler/sysget
|
||||
* https://github.com/pocketbase/pocketbase
|
||||
* https://webinstall.dev/vim-sensible/
|
||||
* https://webinstall.dev/vim-devicons/
|
||||
* https://webinstall.dev/vim-nerdtree/
|
||||
* https://webinstall.dev/vim-gui/
|
||||
* https://formulae.brew.sh/cask/blender#default
|
||||
* https://kdenlive.org/en/
|
||||
* https://www.bluestacks.com/
|
||||
* https://github.com/symless/synergy-core
|
||||
* https://symless.com/synergy/features
|
||||
* https://api.slack.com/automation/cli/commands
|
||||
* https://github.com/activepieces/activepieces#
|
||||
* https://github.com/jupyterlab/jupyterlab-desktop
|
||||
* https://github.com/butlerx/wetty
|
||||
* https://github.com/graphql-editor/graphql-editor
|
||||
* https://github.com/graphql/graphql-playground
|
||||
* https://github.com/amplication/amplication
|
||||
* https://github.com/openai-translator/openai-translator
|
||||
* https://github.com/lepoco/wpfui
|
||||
* https://github.com/ModernFlyouts-Community/ModernFlyouts
|
||||
* https://github.com/purogamer/Fluent-for-Steam
|
||||
* https://github.com/files-community/Files
|
||||
* https://github.com/awaescher/RepoZ
|
||||
* https://github.com/microsoft/WinUI-Gallery
|
||||
* https://github.com/sq/JSIL
|
||||
* https://github.com/dotnet/format
|
||||
* https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
|
||||
* https://github.com/Rise-Software/Rise-Media-Player
|
||||
* https://github.com/actions/runner
|
||||
* https://github.com/hbons/SparkleShare
|
||||
* https://github.com/gitextensions/gitextensions
|
||||
* https://github.com/mRemoteNG/mRemoteNG
|
||||
* https://github.com/MathewSachin/Captura
|
||||
* https://github.com/DiscordStyles/Fluent
|
||||
* https://github.com/Alex4SSB/ADB-Explorer
|
||||
* https://github.com/carlospolop/PEASS-ng
|
||||
* https://github.com/Bismuth-Forge/bismuth
|
||||
|
||||
## PHP
|
||||
## Docker
|
||||
|
||||
https://github.com/deployphp/deployer
|
||||
The following items are Docker containers that we may want to include as default containers deployed in our system.
|
||||
|
||||
## Alternative OSes
|
||||
* https://github.com/erxes/erxes - CRM
|
||||
* https://github.com/pawelmalak/flame - Homepage
|
||||
* https://github.com/thelounge/thelounge - IRC
|
||||
* https://github.com/vector-im/element-web - Matrix
|
||||
* https://github.com/outline/outline - Collaborative MD
|
||||
* https://github.com/nocodb/nocodb - MySQL Spreadsheet
|
||||
* https://github.com/excalidraw/excalidraw - Hand-drawn Diagrams
|
||||
* https://github.com/ansible/awx - AWX Ansible Management
|
||||
* https://github.com/mergestat/mergestat - Git SQL Queries
|
||||
* https://docs.rundeck.com/docs/administration/install/installing-rundeck.html - Rundeck (Self-Service Desk)
|
||||
* https://easypanel.io/ - App deployments
|
||||
* https://www.activepieces.com/docs/install/docker
|
||||
|
||||
https://github.com/Andy-Python-Programmer/aero
|
||||
### Kubernetes
|
||||
|
||||
The following items may be incorporated into our Kubernetes stack:
|
||||
|
||||
## Go Libraries to Consider
|
||||
* https://github.com/kubevirt/kubevirt
|
||||
* https://atuin.sh/docs/self-hosting/k8s
|
||||
|
||||
* https://github.com/ivaaaan/smug
|
||||
* https://github.com/arl/gitmux
|
||||
* https://github.com/jessfraz/dockfmt
|
||||
* https://github.com/lindell/multi-gitter
|
||||
* https://github.com/DBCDK/morph
|
||||
* https://github.com/buildkite/agent
|
||||
* https://github.com/fiatjaf/jiq
|
||||
* https://github.com/curusarn/resh
|
||||
* https://github.com/git-town/git-town
|
||||
* https://github.com/0xERR0R/blocky
|
||||
* https://github.com/terraform-linters/tflint
|
||||
* https://github.com/cube2222/octosql
|
||||
* https://github.com/alda-lang/alda
|
||||
* https://github.com/aquasecurity/tfsec
|
||||
* https://github.com/filhodanuvem/gitql
|
||||
* https://github.com/filebrowser/filebrowser
|
||||
* https://github.com/errata-ai/vale
|
||||
* https://github.com/turbot/steampipe
|
||||
* https://github.com/moby/buildkit
|
||||
* https://github.com/schachmat/wego
|
||||
* https://github.com/johnkerl/miller
|
||||
* https://github.com/xo/usql
|
||||
* https://github.com/future-architect/vuls
|
||||
* https://github.com/containers/podman
|
||||
* https://github.com/derailed/k9s
|
||||
## Bare Metal
|
||||
|
||||
The projects below are software systems that might be incorporated to handle bare-metal operations or virtual machine management.
|
||||
|
||||
* https://theforeman.org/ (VM management)
|
||||
* https://fogproject.org/ (Backup solution)
|
||||
* https://github.com/apache/cloudstack (VM management)
|
||||
* https://www.ovirt.org/ (VM management)
|
||||
* https://opennebula.io/ (Hybrid-cloud management)
|
||||
* https://github.com/cloud-hypervisor/cloud-hypervisor (Cloud hypervisor)
|
||||
|
||||
## Revisit
|
||||
|
||||
The following items have been reviewed but need to be revisited due to complexity or other reasons.
|
||||
|
||||
* https://github.com/microsoft/azuredatastudio
|
||||
* https://github.com/Nutlope/roomGPT
|
||||
* https://github.com/Zettlr/Zettlr
|
||||
* https://github.com/AmruthPillai/Reactive-Resume
|
||||
* https://github.com/kubeflow/kubeflow
|
||||
* https://github.com/leon-ai/leon
|
||||
* https://github.com/teambit/bit
|
||||
* https://github.com/Budibase/budibase
|
||||
* https://github.com/appsmithorg/appsmith
|
||||
* https://github.com/refined-github/refined-github
|
||||
* https://github.com/reworkd/AgentGPT
|
||||
* https://github.com/appwrite/appwrite
|
||||
* https://github.com/hoppscotch/hoppscotch
|
||||
* builder.io
|
||||
* https://github.com/hocus-dev/hocus
|
||||
* https://github.com/Kanaries/Rath
|
||||
* https://github.com/reworkd/AgentGPT
|
||||
* cvat.io
|
||||
* https://github.com/illacloud/illa-builder
|
||||
|
|
|
@ -175,7 +175,8 @@ data:
|
|||
cloudflare:
|
||||
r2: "{{ $cloudflareR2AccountId }}"
|
||||
username: "{{ $cloudflareUsername }}"
|
||||
defaultBrowser: brave
|
||||
defaultBrowser: chrome
|
||||
defaultBrowserDarwin: browserosaurus
|
||||
digitalOceanClusterId: b7fc4e37-ffe7-4ea1-887a-0e19ee077f32
|
||||
# `domain` is kept here for backwards compatibility, but the .host.domain is the preferred selector
|
||||
domain: "{{ $domain }}"
|
||||
|
|
|
@ -40,13 +40,19 @@ docker:
|
|||
macosRemoteLogin: 'on'
|
||||
netdataClaimURL: https://app.netdata.cloud
|
||||
themeparkTheme: aquamarine
|
||||
figmaAddons:
|
||||
- https://www.figma.com/community/plugin/1037309320238203168/DhiWise---Figma-to-Code
|
||||
- https://www.figma.com/community/plugin/1056467900248561542/Locofy-FREE-BETA---Figma-to-React%2C-React-Native%2C-HTML%2FCSS%2C-Next.js%2C-Gatsby
|
||||
chromeExtensions:
|
||||
- automa/infppggnoaenmfagbfknfkancpbljcca
|
||||
- bardeen-automate-manual-w/ihhkmalpkhkoedlmcnilbbhhbhnicjga
|
||||
- bitly-powerful-short-link/iabeihobmhlgpkcgjiloemdbofjbdcic
|
||||
- bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb
|
||||
- briskine-email-templates/lmcngpkjkplipamgflhioabnhnopeabf
|
||||
- buffer/noojglkidnpfjbincgijbaiedldjfbhh
|
||||
- chatgpt-app-for-chrome-me/camppjleccjaphfdbohjdohecfnoikec
|
||||
- chatgpt-for-google/jgjaeacdkonaoafenlfkkkmbaopkbilf
|
||||
- chrome-remote-desktop/inomeogfingihgjfjlpeplalcfajhgai
|
||||
- compose-ai-ai-powered-wri/ddlbpiadoechcolndfeaonajmngmhblj
|
||||
- desktop-app-for-google-ta/lpofefdiokgmcdnnaigddelnfamkkghi
|
||||
- discoverly/dijhcpbkalfgkcebgoncjmfpbamihgaf
|
||||
|
@ -56,28 +62,37 @@ chromeExtensions:
|
|||
- giphy-for-chrome/jlleokkdhkflpmghiioglgmnminbekdi
|
||||
- jiffy-reader/lljedihjnnjjefafchaljkhbpfhfkdic
|
||||
- json-resume-exporter/caobgmmcpklomkcckaenhjlokpmfbdec
|
||||
- gitako-github-file-tree/giljefjcheohhamkjphiebfjnlphnokk
|
||||
- gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep
|
||||
- google-dictionary-by-goog/mgijmajocgfcbeboacabfgobmjgjcoja
|
||||
- google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb
|
||||
- google-trends-supercharge/ocmojhiloccgbpjnkeiooioedaklapap
|
||||
- grammar-spell-checker-%E2%80%94-l/oldceeleldhonbafppcapldpdifcinji
|
||||
- grepper/amaaokahonnfjjemodnpmeenfpnnbkco
|
||||
- gsconnect/jfnifeihccihocjbfcfhicmmgpjicaec
|
||||
- hoppscotch-browser-extens/amknoiejhlmhancpahfcfcfhllgkpbld
|
||||
- hunter-email-finder-exten/hgmhmanijnjhaffoampdlllchpolkdnj
|
||||
- huntr-job-search-tracker/mihdfbecejheednfigjpdacgeilhlmnf
|
||||
- hypertype/lohojfppjeknalpoklojhfnndocgekbd
|
||||
- json-viewer-pro/eifflpmocdbdmepbjaopkkhbfmdgijcc
|
||||
- liner-chatgpt-google-assi/bmhcbmnbenmcecpmpepghooflbehcack
|
||||
- loom-–-screen-recorder-sc/liecbddmkiiihnedobmlmillhodjkdmb
|
||||
- magical-chatgpt-ai-writer/iibninhmiggehlcdolcilmhacighjamp
|
||||
- magical-text-expander-aut/iibninhmiggehlcdolcilmhacighjamp
|
||||
- mailvelope/kajibbejlbohfaggdiogboambcijhkke
|
||||
- markdown-here/elifhakcjgalahccnjkneoccemfahfoa
|
||||
- metamask/nkbihfbeogaeaoehlefnkodbefgpgknn
|
||||
- notion-web-clipper/knheggckgoiihginacbkhaalnibhilkk
|
||||
- octohint/hbkpjkfdheainjkkebeoofkpgddnnbpk
|
||||
- pieces-save-code-snippets/igbgibhbfonhmjlechmeefimncpekepm
|
||||
- rakuten-get-cash-back-for/chhjbpecpncaggjpdakmflnfcopglcmi
|
||||
- replixai/nhfededlooagdmcpamafanjolhkekbbl
|
||||
- save-to-google-drive/gmbmikajjgmnabiglmofipeabaddhgne
|
||||
- screenity-screen-recorder/kbbdabhdfibnancpjfhlkhafgdilcnji
|
||||
- search-by-image/cnojnbdhbhnkbcieeekonklommdnndci
|
||||
- sessionbox-multi-login-to/megbklhjamjbcafknkgmokldgolkdfig
|
||||
- singlefile/mpiodijhokgodhhofbcjdecpffjipkle
|
||||
- sleek-cashback-rewards/mcjlbeekadpmcdhmagbjppkfbbjdddhn
|
||||
- sponsorblock-for-youtube/mnjggcdmjocbbbhaepdhchncahnbgone
|
||||
- toucan-language-learning/lokjgaehpcnlmkebpmjiofccpklbmoci
|
||||
- undo-closed-tabs-button/ieehkmoiljghfkejgahoheemdjpdinml
|
||||
|
@ -103,12 +118,14 @@ firefoxAddOns:
|
|||
- floccus
|
||||
- giphy-for-firefox
|
||||
- gnome-shell-integration
|
||||
- hoppscotch
|
||||
- json-lite
|
||||
- languagetool
|
||||
- mailvelope
|
||||
- markdown-here
|
||||
- medium-unlimited-read-for-free
|
||||
- multi-account-containers
|
||||
- notion-web-clipper
|
||||
- private-relay
|
||||
- profile-switcher
|
||||
- search_by_image
|
||||
|
@ -142,13 +159,16 @@ removeLinuxShortcuts:
|
|||
theme: Betelgeuse
|
||||
softwareGroups:
|
||||
AI-Desktop: &AI-Desktop
|
||||
- chatgpt-desktop
|
||||
- chatgpt-nofwl
|
||||
- chatgpt-menubar
|
||||
- mage-ai
|
||||
Android: &Android
|
||||
- scrcpy
|
||||
Android-Desktop: &Android-Desktop
|
||||
- android-studio
|
||||
- genymotion
|
||||
- scrcpy-gui
|
||||
- soduto
|
||||
Anon: &Anon
|
||||
- onionshare
|
||||
Ansible: &Ansible
|
||||
|
@ -165,7 +185,6 @@ softwareGroups:
|
|||
## - swarm
|
||||
## - vpn
|
||||
## - wsl
|
||||
## - yubikey
|
||||
## - antivirus
|
||||
## - common
|
||||
# - connect
|
||||
|
@ -201,6 +220,7 @@ softwareGroups:
|
|||
- cryptomator
|
||||
- seafile-client
|
||||
- timeshift
|
||||
- syncalicious
|
||||
Browsers: &Browsers
|
||||
- w3m
|
||||
Browsers-Desktop: &Browsers-Desktop
|
||||
|
@ -219,7 +239,9 @@ softwareGroups:
|
|||
- fpm
|
||||
- gitlab-runner
|
||||
- glen
|
||||
- tart
|
||||
CLI: &CLI
|
||||
- atuin
|
||||
- bash-completion
|
||||
- bandwhich
|
||||
- bat
|
||||
|
@ -233,6 +255,7 @@ softwareGroups:
|
|||
- direnv
|
||||
- docker-langserver
|
||||
- dog
|
||||
- dotenv
|
||||
- dua
|
||||
- duf
|
||||
- dust
|
||||
|
@ -255,7 +278,6 @@ softwareGroups:
|
|||
- jq
|
||||
- lsd
|
||||
- mc
|
||||
- mcfly
|
||||
- navi
|
||||
- nb
|
||||
- neovim
|
||||
|
@ -281,6 +303,7 @@ softwareGroups:
|
|||
# - snapd
|
||||
- sql-language-server
|
||||
- task
|
||||
- tea
|
||||
- tmux
|
||||
- tor
|
||||
- translate
|
||||
|
@ -318,6 +341,7 @@ softwareGroups:
|
|||
- http-prompt
|
||||
- httpie
|
||||
- httpstat
|
||||
- howdoi
|
||||
- hurl
|
||||
- imgur-uploader
|
||||
- is-up
|
||||
|
@ -347,6 +371,7 @@ softwareGroups:
|
|||
- tldr
|
||||
- tmuxinator
|
||||
- up
|
||||
- xz
|
||||
- yank
|
||||
Cloud: &Cloud
|
||||
- awscli
|
||||
|
@ -412,6 +437,7 @@ softwareGroups:
|
|||
- jc
|
||||
- jo
|
||||
- jq
|
||||
- miller
|
||||
- oq
|
||||
- osquery
|
||||
- pup
|
||||
|
@ -426,11 +452,15 @@ softwareGroups:
|
|||
- yq
|
||||
Database: &Database
|
||||
- iredis
|
||||
- octosql
|
||||
- sqlite
|
||||
- steampipe
|
||||
- usql
|
||||
Database-Desktop: &Database-Desktop
|
||||
- beekeeper-studio
|
||||
- sqlectron
|
||||
Development-Tools-Desktop: &Development-Tools-Desktop
|
||||
- catlight
|
||||
- github-desktop
|
||||
- intellij-idea-ce
|
||||
- iterm2
|
||||
|
@ -438,6 +468,7 @@ softwareGroups:
|
|||
- powershell
|
||||
- redis-desktop-manager
|
||||
- visual-studio
|
||||
- warp-terminal
|
||||
- xcode
|
||||
- xcodes
|
||||
- xcodes-app
|
||||
|
@ -451,11 +482,11 @@ softwareGroups:
|
|||
- dockle
|
||||
- footloose
|
||||
- grype
|
||||
- gvisor
|
||||
- trivy
|
||||
- trufflehog
|
||||
E-mail: &E-mail
|
||||
- himalaya
|
||||
- mailsy
|
||||
E-mail-Desktop: &E-mail-Desktop
|
||||
- m-cli
|
||||
- mailspring
|
||||
|
@ -472,10 +503,12 @@ softwareGroups:
|
|||
- rkhunter
|
||||
Essentials-Desktop: &Essentials-Desktop
|
||||
- autokey
|
||||
- codeedit
|
||||
- eul
|
||||
- firefox
|
||||
- flow-launcher
|
||||
- fonts
|
||||
- iina
|
||||
- kvantum
|
||||
- lapce
|
||||
- malwarebytes
|
||||
|
@ -498,24 +531,27 @@ softwareGroups:
|
|||
Games-Desktop: &Games-Desktop
|
||||
- mudlet # MUD client
|
||||
Git: &Git
|
||||
- aicommits
|
||||
- commitizen
|
||||
- gh
|
||||
- gist
|
||||
- git
|
||||
- gitql
|
||||
- git-bug
|
||||
- git-extras
|
||||
- git-filter-repo
|
||||
- git-fuzzy
|
||||
- git-lfs
|
||||
- git-open
|
||||
- git-secret
|
||||
- git-subrepo
|
||||
- git-town
|
||||
- gitomatic
|
||||
- git-stats
|
||||
- gitui
|
||||
- glab
|
||||
- hub
|
||||
- lazygit
|
||||
- multi-gitter
|
||||
- opencommit
|
||||
- starred
|
||||
- tig
|
||||
|
@ -536,6 +572,7 @@ softwareGroups:
|
|||
Go: &Go
|
||||
- delve
|
||||
- go
|
||||
- goreleaser
|
||||
- go-outline
|
||||
- gomodifytags
|
||||
- gopkgs
|
||||
|
@ -558,6 +595,7 @@ softwareGroups:
|
|||
- kubernetes-helm
|
||||
- kubernetes-kompose
|
||||
- kubeval
|
||||
- k9s
|
||||
- linkerd2
|
||||
- minikube
|
||||
- openshift-cli
|
||||
|
@ -567,6 +605,7 @@ softwareGroups:
|
|||
- lens
|
||||
Linting: &Linting
|
||||
- ansible-lint
|
||||
- dockfmt
|
||||
- dotenv-linter
|
||||
- dprint
|
||||
- eslint
|
||||
|
@ -579,12 +618,15 @@ softwareGroups:
|
|||
- markdownlint-cli
|
||||
- prettierd
|
||||
- pre-commit
|
||||
- psscriptanalyzer
|
||||
- ruff
|
||||
- shellcheck
|
||||
- shfmt
|
||||
- tflint
|
||||
- tfsec
|
||||
- tokei
|
||||
- trunk
|
||||
- vale
|
||||
- yamllint
|
||||
- yapf
|
||||
Logging: &Logging
|
||||
|
@ -593,6 +635,7 @@ softwareGroups:
|
|||
- sentry-cli
|
||||
- unbuffer
|
||||
Media: &Media
|
||||
- alda
|
||||
- beets
|
||||
- crunch
|
||||
- exiftool
|
||||
|
@ -607,6 +650,7 @@ softwareGroups:
|
|||
- wkhtmltopdf
|
||||
- youtube-dl
|
||||
Media-Desktop: &Media-Desktop
|
||||
- adobe-creative-cloud
|
||||
- audacity
|
||||
- balenaetcher
|
||||
- blender
|
||||
|
@ -619,11 +663,13 @@ softwareGroups:
|
|||
- krita
|
||||
- lollypop
|
||||
- nuclear
|
||||
- obs-studio
|
||||
- plex
|
||||
- plex-htpc
|
||||
- raspberry-pi-imager
|
||||
- shotcut
|
||||
- shotwell
|
||||
- upscayl
|
||||
- vlc
|
||||
- youtube-music
|
||||
Misc-Desktop: &Misc-Desktop
|
||||
|
@ -631,7 +677,8 @@ softwareGroups:
|
|||
- _nautilus-extensions
|
||||
- cakebrew
|
||||
- clocker
|
||||
- cumulus
|
||||
- devtoys
|
||||
- devtoys-windows
|
||||
- drawio
|
||||
- eartrumpet
|
||||
- edex-ui
|
||||
|
@ -644,7 +691,6 @@ softwareGroups:
|
|||
- mark-text
|
||||
- meetingbar
|
||||
- monitorcontrol
|
||||
- neovide
|
||||
- openinterminal
|
||||
- pake
|
||||
- pock
|
||||
|
@ -658,6 +704,7 @@ softwareGroups:
|
|||
- secretive
|
||||
- standard-notes
|
||||
- stats
|
||||
- swiftbar
|
||||
- teamviewer
|
||||
Misc-Development-Tools: &Misc-Development-Tools
|
||||
- ansifilter
|
||||
|
@ -680,9 +727,12 @@ softwareGroups:
|
|||
- java
|
||||
- libimobiledevice
|
||||
- license
|
||||
- lightproxy
|
||||
- mono
|
||||
- ntl
|
||||
- openjdk
|
||||
- please
|
||||
- porter
|
||||
- rust
|
||||
- snapcraft
|
||||
- solidity
|
||||
|
@ -692,6 +742,7 @@ softwareGroups:
|
|||
- windows-admin-center
|
||||
- windows-power-toys
|
||||
NGINX: &NGINX
|
||||
- caddy
|
||||
- certbot
|
||||
- cfssl
|
||||
- gixy
|
||||
|
@ -733,10 +784,17 @@ softwareGroups:
|
|||
- ultra
|
||||
- zap
|
||||
Productivity-Desktop: &Productivity-Desktop
|
||||
- alt-tab
|
||||
- amethyst
|
||||
- espanso
|
||||
- fiscript
|
||||
- libreoffice
|
||||
- microsoft-office
|
||||
- notion
|
||||
- obsidian
|
||||
# Deprecated in favor of Google Tasks
|
||||
# - microsoft-todo
|
||||
- raycast
|
||||
- skhd
|
||||
Python: &Python
|
||||
- flake8
|
||||
|
@ -754,6 +812,7 @@ softwareGroups:
|
|||
- vhs
|
||||
Recording-Desktop: &Recording-Desktop
|
||||
- flameshot
|
||||
- kap
|
||||
- peek
|
||||
- sharex
|
||||
Ruby: &Ruby
|
||||
|
@ -762,6 +821,7 @@ softwareGroups:
|
|||
- assh
|
||||
- endlessh
|
||||
- fail2ban
|
||||
- hss
|
||||
- mosh
|
||||
- openssh-server
|
||||
- skm
|
||||
|
@ -774,8 +834,10 @@ softwareGroups:
|
|||
- bitwarden-cli
|
||||
- boringtun
|
||||
- debsecan
|
||||
- dotenv-vault
|
||||
- envchain
|
||||
- envconsul
|
||||
- envio
|
||||
- openssl
|
||||
- pony
|
||||
- protonvpn-cli
|
||||
|
@ -791,8 +853,8 @@ softwareGroups:
|
|||
Security-Desktop: &Security-Desktop
|
||||
- bitwarden
|
||||
- lulu
|
||||
- mullvad-vpn
|
||||
- portmaster
|
||||
- privileges
|
||||
- protonvpn
|
||||
- santa
|
||||
- tunnelblick
|
||||
|
@ -826,15 +888,17 @@ softwareGroups:
|
|||
- pulumi
|
||||
- sysbench
|
||||
- sysdig
|
||||
- sysget
|
||||
- sysz
|
||||
- upt
|
||||
- winrm-cli
|
||||
- wireshark-cli
|
||||
Sys-Admin-Desktop: &Sys-Admin-Desktop
|
||||
- networkmanager
|
||||
- quasar
|
||||
- recuva
|
||||
- sloth
|
||||
- snitch
|
||||
- tea-gui
|
||||
- wireshark
|
||||
Templates: &Templates
|
||||
- confd
|
||||
|
@ -855,6 +919,7 @@ softwareGroups:
|
|||
- dat
|
||||
- ffsend
|
||||
- gdown
|
||||
- magic-wormhole
|
||||
- nitroshare
|
||||
- ots
|
||||
- portal
|
||||
|
@ -864,7 +929,6 @@ softwareGroups:
|
|||
Transfer-Desktop: &Transfer-Desktop
|
||||
- ariang
|
||||
- dat-desktop
|
||||
- filezilla
|
||||
- google-drive
|
||||
- motrix
|
||||
- qbittorrent
|
||||
|
@ -872,27 +936,38 @@ softwareGroups:
|
|||
Utilities: &Utilities
|
||||
- nativefier
|
||||
Virtualization: &Virtualization
|
||||
- d2vm
|
||||
- kvm
|
||||
- libguestfs-tools
|
||||
- lxdc
|
||||
- lxd-ui
|
||||
- packer
|
||||
- quickemu
|
||||
- vagrant
|
||||
- vagrant-vmware-utility
|
||||
- vermin
|
||||
Virtualization-Desktop: &Virtualization-Desktop
|
||||
- docker-desktop
|
||||
- gnome-boxes
|
||||
- parallels
|
||||
- quickgui
|
||||
- utm
|
||||
- vagrant-manager
|
||||
- virtualbox
|
||||
- vmware
|
||||
Web-Development: &Web-Development
|
||||
- angular-cli
|
||||
- autodoc
|
||||
- auto-install
|
||||
- browser-sync
|
||||
- bun
|
||||
- caniuse
|
||||
- capacitor
|
||||
- coder
|
||||
- cordova
|
||||
- deno
|
||||
- deta
|
||||
- devbox
|
||||
- electron
|
||||
- emma
|
||||
- fastify
|
||||
|
@ -902,15 +977,20 @@ softwareGroups:
|
|||
- gfi
|
||||
- gulp
|
||||
- hey
|
||||
- htmlhint
|
||||
- hugo
|
||||
- ionic
|
||||
- imageoptim-cli
|
||||
- ipfs
|
||||
- ipfs-deploy
|
||||
- jest
|
||||
- json-server
|
||||
- localtunnel
|
||||
- majestic
|
||||
- medusa
|
||||
- mitmproxy
|
||||
- muffet
|
||||
- nativescript
|
||||
- ncc
|
||||
- nectar
|
||||
- nest
|
||||
|
@ -918,22 +998,30 @@ softwareGroups:
|
|||
- ngrok
|
||||
- node-prune
|
||||
- np
|
||||
- npm-check
|
||||
- npkill
|
||||
- npm-check # Similar to npm-check-updates
|
||||
- npm-check-updates
|
||||
- oclif
|
||||
- package-size
|
||||
- page-fetch
|
||||
- pageres
|
||||
- patch-package
|
||||
- pipedream-cli
|
||||
- pkg
|
||||
- playwright
|
||||
- pnpm
|
||||
- projen
|
||||
- psi
|
||||
- quicktype
|
||||
- semantic-release
|
||||
- serve
|
||||
- serverless
|
||||
- storybook
|
||||
- surge
|
||||
- trellis
|
||||
- ts2c
|
||||
- typescript
|
||||
- typescript-to-lua
|
||||
- websocat
|
||||
- wordops
|
||||
- wordpressify
|
||||
|
@ -947,6 +1035,8 @@ softwareGroups:
|
|||
- betwixt
|
||||
- electron-app
|
||||
- fiddler
|
||||
- figma
|
||||
- http-toolkit
|
||||
- imagine
|
||||
- imageoptim
|
||||
- ipfs-desktop
|
||||
|
@ -956,9 +1046,11 @@ softwareGroups:
|
|||
- mqttx
|
||||
- pieces
|
||||
- pieces-cli
|
||||
- pika
|
||||
- postman
|
||||
- responsively
|
||||
- runjs
|
||||
- zaproxy
|
||||
_Basic: &_Basic
|
||||
- *CLI
|
||||
- *Essentials
|
||||
|
@ -986,6 +1078,7 @@ softwareGroups:
|
|||
- bat
|
||||
- bfg
|
||||
- boringtun
|
||||
- buildkite-agent
|
||||
- clamav
|
||||
- cloudflared
|
||||
- cmake
|
||||
|
@ -1002,7 +1095,6 @@ softwareGroups:
|
|||
- git
|
||||
- git-extras
|
||||
- git-filter-repo
|
||||
- git-fuzzy
|
||||
- git-lfs
|
||||
- git-secret
|
||||
- git-subrepo
|
||||
|
@ -1160,6 +1252,10 @@ softwareGroups:
|
|||
- *Transfer-Desktop
|
||||
- *Virtualization-Desktop
|
||||
- *Web-Development-Desktop
|
||||
_ID-Desktop:
|
||||
- browsersaurus
|
||||
- monitorcontrol
|
||||
- warp-terminal
|
||||
__hostname__base-basic-tmpl:
|
||||
- *_Basic
|
||||
- *_Basic-Desktop
|
||||
|
@ -1204,7 +1300,6 @@ softwareGroups:
|
|||
__hostname__util-tmpl: []
|
||||
__hostname__vault-tmpl:
|
||||
- onlykey
|
||||
- yubikey
|
||||
__hostname__vpn-pritunl-tmpl: []
|
||||
__hostname__vpn-proton-tmpl:
|
||||
- protonvpn
|
||||
|
@ -1237,12 +1332,18 @@ softwareGroups:
|
|||
note: macOS system search more native way of providing similar features. Better alternatives are available.
|
||||
- pkg: chromium
|
||||
note: Deprecated in favor of the regular Chrome.
|
||||
- pkg: cumulus
|
||||
note: Unnecessary menu bar widget for SoundCloud.
|
||||
- pkg: diffsofancy
|
||||
note: Deprecated in favor of `delta`
|
||||
- pkg: easyengine
|
||||
note: Deprecated in favor of `wordops` which is the new and improved version of EasyEngine
|
||||
- pkg: filezilla
|
||||
note: FileZilla has an offensive user-interface. Absolutely atrocious.
|
||||
- pkg: gdu
|
||||
note: Deprecated in favor of `duf` which is written in Rust
|
||||
- pkg: git-fuzzy
|
||||
note: Installed via dotfiles via git
|
||||
- pkg: gvm
|
||||
note: Deprecated in favor of using ASDF.
|
||||
- pkg: hyper
|
||||
|
@ -1259,8 +1360,14 @@ softwareGroups:
|
|||
note: Deprecated in favor of using `exa`. `lsd` may be re-introduced when Windows support is added.
|
||||
- pkg: masscode # Deprecated in favor of Pieces
|
||||
note: Deprecated in favor of [Pieces](https://pieces.app/). The core components of Pieces are not open-source but the functionality is significantly better than massCode.
|
||||
- pkg: mcfly
|
||||
note: Deprecated in favor of atuin
|
||||
- pkg: mullvad-vpn
|
||||
note: Switched to ProtonVPN exclusively
|
||||
- pkg: multipass
|
||||
note: Opens persistent menu icon on GNOME and has issues that sometimes require switching the virt driver
|
||||
- pkg: neovide
|
||||
note: Prefer other IDEs - neovim is good for the terminal though
|
||||
- pkg: nordvpn
|
||||
note: Deprecated in favor of leveraging ProtonVPN as the primary VPN service.
|
||||
- pkg: nvm
|
||||
|
@ -1297,6 +1404,8 @@ softwareGroups:
|
|||
queued:
|
||||
- pkg: editly
|
||||
note: Editly NPM package is failing to install on macOS. Attempts to compile with node-gyp and fails.
|
||||
- pkg: rancher-desktop
|
||||
note: Conflicts with Docker Desktop
|
||||
- pkg: rear
|
||||
note: System backup utility that may be incorporated after comparing it with alternative and perhaps better alternatives.
|
||||
- pkg: frps / frpc
|
||||
|
@ -1374,3 +1483,8 @@ qubes:
|
|||
- https://qubes.3isec.org/Templates_4.1/qubes-template-archlinux-4.0.6-202204171510.noarch.rpm
|
||||
- https://qubes.3isec.org/Templates_4.1/qubes-template-debian-12-4.0.6-202208292254.noarch.rpm
|
||||
- https://qubes.3isec.org/Templates_4.1/qubes-template-jammy-4.0.6-202205012228.noarch.rpm
|
||||
|
||||
|
||||
perfectStack:
|
||||
darwin:
|
||||
- warp-terminal
|
|
@ -246,6 +246,12 @@
|
|||
url = "https://gitlab.com/megabyte-labs/packer/windows-desktop.git"
|
||||
clone.args = ["--depth", "1"]
|
||||
pull.args = ["--ff-only"]
|
||||
# https://github.com/kholia/OSX-KVM
|
||||
[".local/src/osx-kvm"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/kholia/OSX-KVM.git"
|
||||
clone.args = ["--depth", "1"]
|
||||
pull.args = ["--ff-only"]
|
||||
|
||||
### PowerShell
|
||||
[".local/share/powershell/docker"]
|
||||
|
|
|
@ -9,18 +9,45 @@ key.txt.age
|
|||
{{- end }}
|
||||
|
||||
{{- if ne .host.distro.family "darwin" }}
|
||||
dot_local/assets/Betelgeuse.macOS.terminal
|
||||
Library
|
||||
{{- end }}
|
||||
|
||||
{{- if ne .host.distro.family "linux" }}
|
||||
dot_local/bin/executable_install-gnome-extensions
|
||||
dot_local/bin/executable_kde-wallpaper
|
||||
.VirtualBox
|
||||
.Xresources
|
||||
{{- end }}
|
||||
|
||||
{{- if ne .host.qubes true }}
|
||||
dot_local/bin/executable_ramqube
|
||||
dot_config/autostart/
|
||||
dot_config/cockpit/
|
||||
dot_config/dconf/
|
||||
dot_config/firejail/
|
||||
dot_config/fontconfig/
|
||||
dot_config/gtk-1.0/
|
||||
dot_config/gtk-2.0/
|
||||
dot_config/gtk-3.0/
|
||||
dot_config/Kvantum/
|
||||
dot_config/plasma/
|
||||
dot_config/qubes/
|
||||
dot_config/rofi-user/
|
||||
dot_config/samba/
|
||||
dot_config/timeshift/
|
||||
dot_config/xfce4/
|
||||
dot_config/xsettingsd/
|
||||
dot_config/zap/
|
||||
dot_config/gtkrc
|
||||
dot_config/kcminputrc
|
||||
dot_config/kdeglobals
|
||||
dot_config/konsolerc
|
||||
dot_config/ksplashrc
|
||||
dot_config/ktimezonedrc
|
||||
dot_config/kwinrc
|
||||
dot_config/mimeapps.list
|
||||
dot_config/plasma-localerc
|
||||
dot_config/plasmarc
|
||||
dot_local/bin/firejail/
|
||||
dot_local/grub.d/
|
||||
dot_local/konsole/
|
||||
dot_local/share/kde4/
|
||||
dot_local/share/xfce4/
|
||||
dot_var/
|
||||
dot_Xresources
|
||||
{{- end }}
|
||||
|
||||
{{- if ne .host.distro.family "windows" }}
|
||||
|
|
|
@ -38,7 +38,6 @@ Brewfile
|
|||
.vagrant.d/
|
||||
.viminfo
|
||||
.volta/
|
||||
.vscode/
|
||||
.vscode-oss/
|
||||
.wgetrc
|
||||
.wget-hsts
|
||||
|
|
|
@ -51,7 +51,7 @@ if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]] && com
|
|||
{{ 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 '{{ 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 }}'
|
||||
warp-cli teams-enroll '{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID")) }}{{ includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_ID" | decrypt | trim }}{{ 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 | trim }}{{ else }}{{ env "CLOUDFLARE_TEAMS_CLIENT_SECRET" }}{{ end }}'
|
||||
{{- end }}
|
||||
fi
|
||||
|
||||
|
|
|
@ -14,8 +14,23 @@
|
|||
{{ includeTemplate "universal/profile-before" }}
|
||||
{{ includeTemplate "universal/logg-before" }}
|
||||
|
||||
### System upgrade on macOS
|
||||
if [ -d /Applications ] && [ -d /Library ]; then
|
||||
if command -v gtimeout > /dev/null; then
|
||||
# Allow 8 minutes for system updates
|
||||
logg info 'Ensuring system software is upgraded (timing out after 8 minutes if system upgrade fails)'
|
||||
sudo gtimeout 480 softwareupdate -i -a || logg warn 'The system update command timed out after 8 minutes'
|
||||
else
|
||||
# If gtimeout is unavailable, then attempt system upgrade without a timeout (which usually works on fresh systems)
|
||||
logg info 'Applying OS upgrades (if available)'
|
||||
sudo softwareupdate -i -a || logg error 'Failed to perform a system update via `sudo softwareupdate -i -a`'
|
||||
fi
|
||||
logg info 'If system updates were downloaded / installed, a reboot might be required.'
|
||||
fi
|
||||
|
||||
### Install Xcode CLI tools on macOS
|
||||
if [ -d /Applications ] && [ -d /Library ]; then
|
||||
logg info 'Ensuring xcode-select is installed for developer tools'
|
||||
xcode-select -p >/dev/null 2>&1 || sudo xcode-select --install
|
||||
fi
|
||||
|
|
@ -45,21 +45,17 @@ decryptionFailure() {
|
|||
|
||||
### Install Age via Homebrew if not present
|
||||
installAge() {
|
||||
if ! command -v brew > /dev/null; then
|
||||
if ! command -v age > /dev/null; then
|
||||
logg info 'Running `brew install age`'
|
||||
brew install age
|
||||
else
|
||||
logg warn '`age` is not installed which is utilized in the decryption process'
|
||||
fi
|
||||
}
|
||||
|
||||
### Install Expect via Homebrew if not present
|
||||
installExpect() {
|
||||
if ! command -v brew > /dev/null; then
|
||||
if ! command -v expect > /dev/null; then
|
||||
logg info 'Running `brew install expect`'
|
||||
brew install expect
|
||||
else
|
||||
logg warn '`expect` is not installed which is utilized in the decryption process'
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -102,7 +98,7 @@ elif [ -n "$HEADLESS_INSTALL" ] && [ -n "$AGE_PASSWORD" ]; then
|
|||
installAge
|
||||
decryptKey
|
||||
else
|
||||
logg info 'Skipping Age key decryption process'
|
||||
logg info 'Skipping Age key decryption process - `HEADLESS_INSTALL` and `AGE_PASSWORD` should be passed in as env variables to automate the process'
|
||||
fi
|
||||
|
||||
### Ensure proper permissions on private key
|
||||
|
|
|
@ -2,8 +2,11 @@
|
|||
# @file Generate Missing Public SSH Keys
|
||||
# @brief Attempts to create missing public SSH keys for all private keys that are missing a public key file
|
||||
# @description
|
||||
# Using private SSH keys, you can generate the corresponding public key. This script ensures that any SSH private key
|
||||
# **Currently disabled.** Using private SSH keys, you can generate the corresponding public key. This script ensures that any SSH private key
|
||||
# that does not have a matching `.pub` public key file has one generated.
|
||||
#
|
||||
# This script is intended to automatically generate the public key from the decrypted private key but it does not seem to be working
|
||||
# properly so the code is commented out. Pull requests are welcome.
|
||||
|
||||
{{ $sshFiles := (output "find" (joinPath .chezmoi.homeDir ".ssh") "-type" "f") -}}
|
||||
{{- range $sshFile := splitList "\n" $sshFiles -}}
|
||||
|
@ -15,12 +18,12 @@
|
|||
{{ includeTemplate "universal/profile" }}
|
||||
{{ includeTemplate "universal/logg" }}
|
||||
|
||||
logg info 'Ensuring public keys are present'
|
||||
# logg info 'Ensuring public keys are present'
|
||||
|
||||
find "$HOME/.ssh" -type f -maxdepth 1 ! -name "*.pub" ! -name "authorized_keys*" ! -name "known_host*" ! -name "config" | while read FILE; do
|
||||
if [ ! -f "${FILE}.pub" ]; then
|
||||
logg info 'Generating missing public key for `'"$FILE"'`'
|
||||
ssh-keygen -f "$FILE" -y > "${FILE}.pub"
|
||||
chmod 600 "${FILE}.pub"
|
||||
fi
|
||||
done
|
||||
# find "$HOME/.ssh" -type f -maxdepth 1 ! -name "*.pub" ! -name "*authorized_keys*" ! -name "known_host*" ! -name "config" | while read FILE; do
|
||||
# if [ ! -f "${FILE}.pub" ]; then
|
||||
# logg info 'Generating missing public key for `'"$FILE"'`'
|
||||
# ssh-keygen -f "$FILE" -y > "${FILE}.pub"
|
||||
# chmod 600 "${FILE}.pub"
|
||||
# fi
|
||||
# done
|
||||
|
|
|
@ -41,7 +41,11 @@
|
|||
if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then
|
||||
if [ -d /System ] && [ -d /Applications ]; then
|
||||
### Install on macOS
|
||||
brew install --cask cloudflare-warp
|
||||
if [ ! -d "/Applications/Cloudflare WARP.app" ]; then
|
||||
brew install --cask cloudflare-warp
|
||||
else
|
||||
logg info 'Cloudflare WARP already installed'
|
||||
fi
|
||||
elif [ '{{ .host.distro.id }}' = 'debian' ]; then
|
||||
### Add CloudFlare WARP desktop app apt-get source
|
||||
if [ ! -f /etc/apt/sources.list.d/cloudflare-client.list ]; then
|
||||
|
@ -80,16 +84,30 @@ fi
|
|||
|
||||
|
||||
### Ensure certificate is installed
|
||||
### TODO: Ensure duplicate certificates are not stored in these files below
|
||||
# Source: https://developers.cloudflare.com/cloudflare-one/static/documentation/connections/Cloudflare_CA.crt
|
||||
# Source: https://developers.cloudflare.com/cloudflare-one/static/documentation/connections/Cloudflare_CA.pem
|
||||
if [ -d /System ] && [ -d /Applications ] && command -v warp-cli > /dev/null; then
|
||||
### Ensure certificate installed on macOS
|
||||
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.crt"
|
||||
if [ -f /usr/local/etc/ca-certificates/cert.pem ]; then
|
||||
echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /usr/local/etc/ca-certificates/cert.pem
|
||||
if [ ! -n "$SSH_CONNECTION" ]; then
|
||||
logg info 'Requesting security authorization for Cloudflare trusted certificate'
|
||||
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.crt"
|
||||
else
|
||||
logg error 'Unable to add `Cloudflare_CA.pem` because `/usr/local/etc/ca-certificates/cert.pem` does not exist!' && exit 1
|
||||
logg warn 'Session is SSH so adding Cloudflare encryption key to trusted certificates via the security program is being bypassed since it requires Touch ID / Password verification.'
|
||||
fi
|
||||
if [ -d /usr/local/etc/openssl@3/certs ]; then
|
||||
# Location on Intel macOS
|
||||
logg info 'Adding Cloudflare certificate to `/usr/local/etc/openssl@3/certs/Cloudflare_CA.pem`'
|
||||
echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /usr/local/etc/openssl@3/certs/Cloudflare_CA.pem
|
||||
logg info 'Running `/usr/local/opt/openssl@3/bin/c_rehash`'
|
||||
/usr/local/opt/openssl@3/bin/c_rehash
|
||||
elif [ -d /opt/homebrew/etc/openssl@3/certs ]; then
|
||||
# Location on arm64 macOS
|
||||
logg info 'Adding Cloudflare certificate to `/opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem`'
|
||||
echo | sudo cat - "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" >> /opt/homebrew/etc/openssl@3/certs/Cloudflare_CA.pem
|
||||
logg info 'Running `/opt/homebrew/opt/openssl@3/bin/c_rehash`'
|
||||
/opt/homebrew/opt/openssl@3/bin/c_rehash
|
||||
else
|
||||
logg warn 'Unable to add `Cloudflare_CA.pem` because `/usr/local/etc/openssl@3/certs` and `/opt/homebrew/etc/openssl@3/certs` do not exist!'
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ if [ ! -d "$SDKMAN_DIR" ]; then
|
|||
logg info 'Installing SDKMan via `curl -s "https://get.sdkman.io?rcupdate=false`'
|
||||
logg info "Install directory: $SDKMAN_DIR"
|
||||
curl -s "https://get.sdkman.io?rcupdate=false" | bash
|
||||
logg info 'Running `sdk install java`'
|
||||
sdk install java
|
||||
logg info 'Running `sdk install java` with bash -c'
|
||||
bash -c 'sdk install java'
|
||||
else
|
||||
logg info 'SDKMan appears to already be installed.'
|
||||
fi
|
||||
|
|
|
@ -23,12 +23,12 @@
|
|||
|
||||
{{ $ovpnUsername := (env "OVPN_USERNAME") }}
|
||||
{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OVPN_USERNAME")) }}
|
||||
{{ $ovpnUsername := (includeTemplate "secrets/OVPN_USERNAME" | decrypt) }}
|
||||
{{ $ovpnUsername := (includeTemplate "secrets/OVPN_USERNAME" | decrypt | trim) }}
|
||||
{{ end }}
|
||||
|
||||
{{ $ovpnPassword := (env "OVPN_PASSWORD") }}
|
||||
{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OVPN_PASSWORD")) }}
|
||||
{{ $ovpnPassword := (includeTemplate "secrets/OVPN_PASSWORD" | decrypt) }}
|
||||
{{ $ovpnPassword := (includeTemplate "secrets/OVPN_PASSWORD" | decrypt | trim) }}
|
||||
{{ end }}
|
||||
|
||||
{{ includeTemplate "universal/profile" }}
|
||||
|
|
|
@ -53,7 +53,7 @@ if command -v privoxy > /dev/null; then
|
|||
logg warn 'The '"$PRIVOXY_CONFIG_DIR"' directory is missing'
|
||||
fi
|
||||
else
|
||||
logg warn '`privoxy` is missing from the PATH'
|
||||
logg logg '`privoxy` is missing from the PATH - skipping configuration'
|
||||
fi
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -8,6 +8,6 @@
|
|||
|
||||
### Run the VIM plugin install routine
|
||||
if command -v vim > /dev/null; then
|
||||
vim +PlugInstall +qall
|
||||
vim +PlugInstall +qall 2>/dev/null
|
||||
fi
|
||||
{{ end -}}
|
||||
|
|
|
@ -30,20 +30,24 @@
|
|||
|
||||
### Ensure Chrome policies directory is present
|
||||
for POLICY_DIR in "/opt/google/chrome/policies" "/etc/chromium/policies" "/etc/brave/policies"; do
|
||||
### Managed policies
|
||||
if [ ! -f "$POLICY_DIR/managed/policies.json" ]; then
|
||||
logg info "Ensuring directory $POLICY_DIR/managed exists"
|
||||
sudo mkdir -p "$POLICY_DIR/managed"
|
||||
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json to $POLICY_DIR/managed/policies.json"
|
||||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json" "$POLICY_DIR/managed/policies.json"
|
||||
fi
|
||||
if [ -d "$(dirname "$POLICY_DIR")" ]; then
|
||||
### Managed policies
|
||||
if [ ! -f "$POLICY_DIR/managed/policies.json" ]; then
|
||||
logg info "Ensuring directory $POLICY_DIR/managed exists"
|
||||
sudo mkdir -p "$POLICY_DIR/managed"
|
||||
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json to $POLICY_DIR/managed/policies.json"
|
||||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json" "$POLICY_DIR/managed/policies.json"
|
||||
fi
|
||||
|
||||
### Recommended policies
|
||||
if [ ! -f "$POLICY_DIR/recommended/policies.json" ]; then
|
||||
logg info "Ensuring directory $POLICY_DIR/recommended exists"
|
||||
sudo mkdir -p "$POLICY_DIR/recommended"
|
||||
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json to $POLICY_DIR/recommended/policies.json"
|
||||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json" "$POLICY_DIR/recommended/policies.json"
|
||||
### Recommended policies
|
||||
if [ ! -f "$POLICY_DIR/recommended/policies.json" ]; then
|
||||
logg info "Ensuring directory $POLICY_DIR/recommended exists"
|
||||
sudo mkdir -p "$POLICY_DIR/recommended"
|
||||
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json to $POLICY_DIR/recommended/policies.json"
|
||||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json" "$POLICY_DIR/recommended/policies.json"
|
||||
fi
|
||||
else
|
||||
logg info "Skipping extension injection into $POLICY_DIR - create these folders prior to running to create managed configs"
|
||||
fi
|
||||
done
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@ if command -v vagrant > /dev/null && command -v vmware-id > /dev/null; then
|
|||
fi
|
||||
fi
|
||||
else
|
||||
logg warn 'Vagrant is not installed so the Vagrant plugins will not be installed'
|
||||
logg warn 'Vagrant or VMWare is not installed so the Vagrant VMWare utility will not be configured'
|
||||
logg info 'Vagrant is not installed so the Vagrant plugins will not be installed'
|
||||
logg info 'Vagrant or VMWare is not installed so the Vagrant VMWare utility will not be configured'
|
||||
fi
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
{{- $secretKey := "" -}}
|
||||
{{- 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)) -}}
|
||||
{{- $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (includeTemplate "secrets/VMWARE_WORKSTATION_LICENSE_KEY" | decrypt | trim)) -}}
|
||||
{{- else -}}
|
||||
{{- $secretKey = (default "4C21U-2KK9Q-M8130-4V2QH-CF810" (env "VMWARE_WORKSTATION_LICENSE_KEY")) -}}
|
||||
{{- end }}
|
||||
|
|
|
@ -18,8 +18,8 @@ if [ -d /Applications ] && [ -d /System ]; then
|
|||
logg info 'Installing `defaultbrowser` via Homebrew which is the preferred way of configuring the default browser'
|
||||
brew install defaultbrowser
|
||||
fi
|
||||
logg info "Setting default browser to {{ .user.defaultBrowser }}"
|
||||
defaultbrowser "{{ .user.defaultBrowser }}"
|
||||
logg info "Setting default browser to {{ .user.defaultBrowserDarwin }}"
|
||||
defaultbrowser "{{ .user.defaultBrowserDarwin }}"
|
||||
else
|
||||
logg info 'Setting default browser for `text/html` to `{{ .user.defaultBrowser }}`'
|
||||
xdg-mime default {{ .user.defaultBrowser }}.desktop text/html
|
||||
|
|
|
@ -27,17 +27,19 @@ if command -v VirtualBox > /dev/null; then
|
|||
### Download extension pack
|
||||
logg info 'Downloading VirtualBox extension pack'
|
||||
curl -sSL https://download.virtualbox.org/virtualbox/$VBOX_VERSION/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack \
|
||||
-o /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack
|
||||
-o /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack || logg error 'Failed to download the VirtualBox extension pack so the extension pack installation will be skipped'
|
||||
|
||||
### Install extension pack
|
||||
logg info 'Installing VirtualBox extension pack'
|
||||
echo 'y' | sudo VBoxManage extpack install --replace /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack
|
||||
logg success 'Successfully installed VirtualBox extension pack'
|
||||
if [ -f /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack ]; then
|
||||
logg info 'Installing VirtualBox extension pack'
|
||||
echo 'y' | sudo VBoxManage extpack install --replace /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack
|
||||
logg success 'Successfully installed VirtualBox extension pack'
|
||||
fi
|
||||
else
|
||||
logg info 'VirtualBox Extension pack is already installed'
|
||||
fi
|
||||
else
|
||||
logg warn 'VirtualBox is not installed so VirtualBox Extension pack will not be installed'
|
||||
logg info 'VirtualBox is not installed so VirtualBox Extension pack will not be installed'
|
||||
fi
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
### Claim the instance with Netdata Cloud
|
||||
if command -v netdata-claim.sh > /dev/null; then
|
||||
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_TOKEN="{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_TOKEN")) -}}{{- includeTemplate "secrets/NETDATA_TOKEN" | decrypt | trim -}}{{- else -}}{{- env "NETDATA_TOKEN" -}}{{- end -}}"
|
||||
NETDATA_ROOM="{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_ROOM")) -}}{{- includeTemplate "secrets/NETDATA_ROOM" | decrypt | trim -}}{{- else -}}{{- env "NETDATA_ROOM" -}}{{- end -}}"
|
||||
# netdata-claim.sh must be run as netdata user
|
||||
sudo -H -u netdata bash -c 'netdata-claim.sh -token="$NETDATA_TOKEN" -rooms="$NETDATA_ROOM" -url="{{ .netdataClaimURL }}"'
|
||||
|
||||
|
@ -104,7 +104,7 @@ if command -v netdata-claim.sh > /dev/null; then
|
|||
fi
|
||||
fi
|
||||
else
|
||||
logg warn '`netdata-claim.sh` is not available in the PATH'
|
||||
logg info '`netdata-claim.sh` is not available in the PATH'
|
||||
fi
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -21,7 +21,7 @@ if command -v nginx > /dev/null; then
|
|||
curl -sSL https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh > "$TMP"
|
||||
|
||||
logg info 'Running the NGINX Amplify setup script'
|
||||
API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGINX_AMPLIFY_API_KEY")) }}{{- includeTemplate "secrets/NGINX_AMPLIFY_API_KEY" | decrypt -}}{{ else }}{{- env "NGINX_AMPLIFY_API_KEY" -}}{{ end }}" sh "$TMP"
|
||||
API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGINX_AMPLIFY_API_KEY")) }}{{- includeTemplate "secrets/NGINX_AMPLIFY_API_KEY" | decrypt | trim -}}{{ else }}{{- env "NGINX_AMPLIFY_API_KEY" -}}{{ end }}" sh "$TMP"
|
||||
fi
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -22,7 +22,7 @@ if [ -d /Applications ] && [ -d System ]; then
|
|||
fi
|
||||
|
||||
### Connect to Tailscale network
|
||||
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 }}"
|
||||
TAILSCALE_AUTH_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "TAILSCALE_AUTH_KEY")) }}{{ includeTemplate "secrets/TAILSCALE_AUTH_KEY" | decrypt | trim }}{{ 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=$?
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
{{ includeTemplate "universal/logg" }}
|
||||
|
||||
### Ensure `DIGITALOCEAN_ACCESS_TOKEN` is defined (used for headlessly connecting to the k8s cluster)
|
||||
export DIGITALOCEAN_ACCESS_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "DIGITALOCEAN_ACCESS_TOKEN")) }}{{ includeTemplate "secrets/DIGITALOCEAN_ACCESS_TOKEN" | decrypt }}{{ else }}{{ env "DIGITALOCEAN_ACCESS_TOKEN" }}{{ end }}"
|
||||
export DIGITALOCEAN_ACCESS_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "DIGITALOCEAN_ACCESS_TOKEN")) }}{{ includeTemplate "secrets/DIGITALOCEAN_ACCESS_TOKEN" | decrypt | trim }}{{ else }}{{ env "DIGITALOCEAN_ACCESS_TOKEN" }}{{ end }}"
|
||||
|
||||
if [ -n "$DIGITALOCEAN_ACCESS_TOKEN" ] && [ -n '{{ .user.digitalOceanClusterId }}' ]; then
|
||||
### Ensure DigitalOcean CLI is instaled
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
|
||||
### Ensure Powerline is installed
|
||||
if ! command -v powerline > /dev/null; then
|
||||
install-software powerline
|
||||
logg info 'Installing powerline via install-software'
|
||||
install-software powerline > /dev/null
|
||||
fi
|
||||
|
||||
### Bash-it completions / plugins
|
||||
|
|
|
@ -22,6 +22,6 @@
|
|||
{{ includeTemplate "universal/logg-before" }}
|
||||
|
||||
logg info 'Enrolling device with JumpCloud by running the kickstart script'
|
||||
curl --tlsv1.2 --silent --show-error --header 'x-connect-key: {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_CONNECT_KEY")) }}{{- includeTemplate "secrets/JUMPCLOUD_CONNECT_KEY" | decrypt -}}{{ else }}{{- env "JUMPCLOUD_CONNECT_KEY" -}}{{ end }}' https://kickstart.jumpcloud.com/Kickstart | sudo bash
|
||||
curl --tlsv1.2 --silent --show-error --header 'x-connect-key: {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_CONNECT_KEY")) }}{{- includeTemplate "secrets/JUMPCLOUD_CONNECT_KEY" | decrypt | trim -}}{{ else }}{{- env "JUMPCLOUD_CONNECT_KEY" -}}{{ end }}' https://kickstart.jumpcloud.com/Kickstart | sudo bash
|
||||
|
||||
{{ end -}}
|
|
@ -21,11 +21,13 @@ if [ -d /Applications ] && [ -d /System ]; then
|
|||
if [ ! -d /Applications/Docker.app ]; then
|
||||
logg info 'Installing Docker on macOS via Homebrew cask'
|
||||
brew install --cask docker
|
||||
logg info 'Removing Docker.app quarantine status'
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/Docker.app
|
||||
else
|
||||
logg info 'Docker appears to be installed already'
|
||||
fi
|
||||
logg info 'Opening the Docker for Desktop app so that the Docker engine starts running'
|
||||
open --background -a Docker
|
||||
open --background -a Docker --args --accept-license --unattended --install-privileged-components
|
||||
elif command -v apt-get > /dev/null; then
|
||||
. /etc/os-release
|
||||
if [ "$ID" == 'ubuntu' ]; then
|
||||
|
@ -147,9 +149,19 @@ function gVisorSource() {
|
|||
fi
|
||||
}
|
||||
|
||||
### Install systemsecret credential helper for Linux
|
||||
function installCredentialSecretService() {
|
||||
curl -sSL https://github.com/docker/docker-credential-helpers/releases/download/v0.7.0/docker-credential-secretservice-v0.7.0.linux-amd64 > /tmp/docker-credential-secretservice
|
||||
sudo mv /tmp/docker-credential-secretservice /usr/local/bin/docker-credential-secretservice
|
||||
}
|
||||
|
||||
### Add gVisor
|
||||
if [ ! -d /Applications ] || [ ! -d /System ]; then
|
||||
# Linux
|
||||
if ! command -v docker-credential-secretservice > /dev/null; then
|
||||
installCredentialSecretService
|
||||
fi
|
||||
|
||||
if ! command -v runsc > /dev/null; then
|
||||
# Install gVisor
|
||||
gVisorPreBuilt || PRE_BUILT_EXIT_CODE=$?
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{{- if and (eq .host.distro.family "windows") (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_CONNECT_KEY")) (env "JUMPCLOUD_CONNECT_KEY")) -}}
|
||||
cd $env:temp | Invoke-Expression; Invoke-RestMethod -Method Get -URI https://raw.githubusercontent.com/TheJumpCloud/support/master/scripts/windows/InstallWindowsAgent.ps1 -OutFile InstallWindowsAgent.ps1 | Invoke-Expression; ./InstallWindowsAgent.ps1 -JumpCloudConnectKey "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_CONNECT_KEY")) }}{{- includeTemplate "secrets/JUMPCLOUD_CONNECT_KEY" | decrypt -}}{{ else }}{{- env "JUMPCLOUD_CONNECT_KEY" -}}{{ end }}"
|
||||
cd $env:temp | Invoke-Expression; Invoke-RestMethod -Method Get -URI https://raw.githubusercontent.com/TheJumpCloud/support/master/scripts/windows/InstallWindowsAgent.ps1 -OutFile InstallWindowsAgent.ps1 | Invoke-Expression; ./InstallWindowsAgent.ps1 -JumpCloudConnectKey "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_CONNECT_KEY")) }}{{- includeTemplate "secrets/JUMPCLOUD_CONNECT_KEY" | decrypt | trim -}}{{ else }}{{- env "JUMPCLOUD_CONNECT_KEY" -}}{{ end }}"
|
||||
{{ end -}}
|
7
home/.chezmoitemplates/secrets/ATUIN_EMAIL
Normal file
7
home/.chezmoitemplates/secrets/ATUIN_EMAIL
Normal file
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjVDczdFBjV3I3U1R2c29L
|
||||
Z0g4SllHdE9hczlQTm80UmxLKzlZazIyL21VClRwdDk0aDg2bWtwbW9vdERRLzZk
|
||||
UHdjU2w0T1phdWtzZSs4NEJZUWRVRFEKLS0tIHBDcExubktwaVdyemh4Tk5MdEdC
|
||||
VHhhNW55enZEUlkzT3RtYUJ0ZGtmMkEKqi4ZU3CRVpr0NPpM4Fx65Q/7Vzefvegr
|
||||
/QN0PbUaFRPSajNEKCvkBc684nlHJTizDEhUUA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
7
home/.chezmoitemplates/secrets/ATUIN_PASSWORD
Normal file
7
home/.chezmoitemplates/secrets/ATUIN_PASSWORD
Normal file
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXSWpDcjdxMUdFaHBMeVNz
|
||||
bkU2N2NHSEc0QUhlSW9ETEhITngwTk5OWlFnCldFQlJVTU02RTFLd2h5OHVrUEE2
|
||||
L1lCenVwdmhEalJNeU5uc3RKTFZXdzQKLS0tIHZlcU5wcWlob1JmNTBSWVRsVHM2
|
||||
R09SSkNIUWoxdXdyWVplNzk3ay90N3MKpnR0SBljKaXyH8pBY/tL6qA0YjmrRekO
|
||||
sKXriTefZEFKkkr944YrYNiEtRGFrak=
|
||||
-----END AGE ENCRYPTED FILE-----
|
7
home/.chezmoitemplates/secrets/ATUIN_USERNAME
Normal file
7
home/.chezmoitemplates/secrets/ATUIN_USERNAME
Normal file
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3WWxWT3l6YVU2TzR0dEpY
|
||||
MDlRb2RXL0ROYWRqbzRveUY2S1gxd0twSmxJCnZ4NHg1YjBZaDFyK1AxU09JUEVW
|
||||
TTVWMU5ENE5CNFA1UCtSWHhjY0RWMXMKLS0tIDJWYjd3Z2FRRFhkWS9Wam14NjVo
|
||||
YjkyRHJEYkZkcUJiZVRaSmJjazNqbTgKLAqHltITr8Y/14Pya6azYe9ANeaT84mZ
|
||||
SjpGKDYyGOBwxdpeJhoEu5q0Hqo2mP4HM6M=
|
||||
-----END AGE ENCRYPTED FILE-----
|
7
home/.chezmoitemplates/secrets/OPENWEATHERMAP_API_KEY
Normal file
7
home/.chezmoitemplates/secrets/OPENWEATHERMAP_API_KEY
Normal file
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzU3Q5eWNXNzNWeXpBb25u
|
||||
YkFFNHVHYVUrMWFaNThsc3hueVkzczJmcnlzCm1MdWRzSkNldzJ5ZC9TS1JMZ3VI
|
||||
Zk0yeWFGRCtxZUJzMVJ4NWZNNUxlZjgKLS0tIDl0WXVJNzAwQTVGUHpzcEVtOGJP
|
||||
aytyU2FNbWhtS0d3eGJyUWtveTJrMDAKQIiS4NPp+sR2Fakgjg4nD8Zir9CzABuq
|
||||
4xiAedd842ywvFVF2jqQOZ9UnpnMqE1FwTlY8AWbcxbn28SQaKHuhQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
18
home/Library/LaunchDaemons/com.apple.automatedupdates.plist
Normal file
18
home/Library/LaunchDaemons/com.apple.automatedupdates.plist
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.apple.automatedupdates</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/sbin/softwareupdate</string>
|
||||
<string>-i -a</string>
|
||||
</array>
|
||||
<key>StartCalendarInterval</key>
|
||||
<dict>
|
||||
<key>Minute</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
### Enable automated updates on macOS
|
||||
if [ -d /Applications ] && [ -d /System ]; then
|
||||
if [ -f "$HOME/Library/LaunchDaemons/com.apple.automatedupdates.plist" ] && [ ! -f "/Library/LaunchDaemons/com.apple.automatedupdates.plist" ]; then
|
||||
sudo mkdir -p /Library/LaunchDaemons
|
||||
sudo cp -f "$HOME/Library/LaunchDaemons/com.apple.automatedupdates.plist" "/Library/LaunchDaemons/com.apple.automatedupdates.plist"
|
||||
sudo launchctl load "/Library/LaunchDaemons/com.apple.automatedupdates.plist"
|
||||
fi
|
||||
fi
|
|
@ -15,8 +15,8 @@
|
|||
<key>support_url</key>
|
||||
<string>https://megabyte.space</string>
|
||||
<key>auth_client_id</key>
|
||||
<string>{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID")) -}}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_ID" | decrypt | trim -}}{{- else -}}{{- env "CLOUDFLARE_TEAMS_CLIENT_ID" -}}{{- end -}}</string>
|
||||
<string>{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID")) -}}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_ID" | decrypt | trim -}}{{- else -}}{{- env "CLOUDFLARE_TEAMS_CLIENT_ID" -}}{{- end -}}</string>
|
||||
<key>auth_client_secret</key>
|
||||
<string>{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_SECRET")) -}}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_SECRET" | decrypt | trim -}}{{- else -}}{{- env "CLOUDFLARE_TEAMS_CLIENT_SECRET" -}}{{- end -}}</string>
|
||||
<string>{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_SECRET")) -}}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_SECRET" | decrypt | trim -}}{{- else -}}{{- env "CLOUDFLARE_TEAMS_CLIENT_SECRET" -}}{{- end -}}</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -85,6 +85,11 @@ if [ "$BASH_SUPPORT" = 'true' ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
### Atuin
|
||||
if command -v atuin > /dev/null; then
|
||||
eval "$(atuin init bash)"
|
||||
fi
|
||||
|
||||
### Cod
|
||||
if command -v cod > /dev/null; then
|
||||
source <(cod init $$ bash)
|
||||
|
|
|
@ -38,4 +38,22 @@
|
|||
"chiro2001.digital-ocean-manager",
|
||||
"ms-toolsai.vscode-ai-remote",
|
||||
"ms-toolsai.vscode-ai",
|
||||
"ms-vscode.powershell",
|
||||
"ms-vscode.powershell",
|
||||
"gitpod.gitpod-desktop",
|
||||
"ms-kubernetes-tools.kind-vscode",
|
||||
"wasteamaccount.webtemplatestudio-dev-nightly",
|
||||
"rangav.vscode-thunder-client",
|
||||
"rapidapi.vscode-rapidapi-client",
|
||||
"sapos.yeoman-ui",
|
||||
"google-home.google-home-extension",
|
||||
"stepsize.stepsize",
|
||||
"leonardssh.vscord",
|
||||
"aic.docify",
|
||||
"jsayol.firebase-explorer",
|
||||
"balazs4.gitlab-pipeline-monitor",
|
||||
"jasonn-porch.gitlab-mr",
|
||||
"teamhub.teamhub",
|
||||
"infracost.infracost",
|
||||
"mongodb.mongodb-vscode",
|
||||
"pwabuilder.pwa-studio",
|
||||
"sidekick.sidekick-debugger",
|
|
@ -3,7 +3,6 @@
|
|||
"42crunch.vscode-openapi",
|
||||
"4ops.packer",
|
||||
"acherkashin.virtualbox-extension",
|
||||
"aic.docify",
|
||||
"alefragnani.bookmarks",
|
||||
"alefragnani.project-manager",
|
||||
"andi1984.tinypng",
|
||||
|
@ -12,16 +11,14 @@
|
|||
"atlassian.atlascode",
|
||||
"attilabuti.vscode-mjml",
|
||||
"azure-automation.vscode-azureautomation",
|
||||
"balazs4.gitlab-pipeline-monitor",
|
||||
"bbenoist.vagrant",
|
||||
"beauallison.brew-services",
|
||||
"getporter.porter-vscode",
|
||||
"bierner.color-info",
|
||||
"bierner.markdown-emoji",
|
||||
"bierner.markdown-preview-github-styles",
|
||||
"bmewburn.vscode-intelephense-client",
|
||||
"bradlc.vscode-tailwindcss",
|
||||
"chakrounanas.turbo-console-log",
|
||||
"chflick.firecode",
|
||||
"christian-kohler.npm-intellisense",
|
||||
"christian-kohler.path-intellisense",
|
||||
"chrmarti.regex",
|
||||
|
@ -42,9 +39,7 @@
|
|||
"editorconfig.editorconfig",
|
||||
"eliostruyf.vscode-front-matter",
|
||||
"elypia.magick-image-reader",
|
||||
"ericadamski.carbon-now-sh",
|
||||
"esbenp.prettier-vscode",
|
||||
"fabiospampinato.vscode-open-in-application",
|
||||
"fabiospampinato.vscode-optimize-images",
|
||||
"firefox-devtools.vscode-firefox-debug",
|
||||
"flowtype.flow-for-vscode",
|
||||
|
@ -63,9 +58,7 @@
|
|||
"github.vscode-github-actions",
|
||||
"github.vscode-pull-request-github",
|
||||
"gitlab.gitlab-workflow",
|
||||
"gitpod.gitpod-desktop",
|
||||
"golang.go",
|
||||
"google-home.google-home-extension",
|
||||
"googlecloudtools.cloudcode",
|
||||
"grafana.vscode-jsonnet",
|
||||
"graphql.vscode-graphql-execution",
|
||||
|
@ -81,12 +74,9 @@
|
|||
"humao.rest-client",
|
||||
"ibm.output-colorizer",
|
||||
"idered.npm",
|
||||
"infracost.infracost",
|
||||
"ionic.ionic",
|
||||
"jasonn-porch.gitlab-mr",
|
||||
"jerrygoyal.shortcut-menu-bar",
|
||||
"johnpapa.vscode-peacock",
|
||||
"jsayol.firebase-explorer",
|
||||
"jsonhero.jsonhero-vscode",
|
||||
"justbrenny.hero-heroku",
|
||||
"karigari.chat",
|
||||
|
@ -96,19 +86,13 @@
|
|||
"knisterpeter.vscode-commitizen",
|
||||
"l13rary.l13-diff",
|
||||
"lennartlence.chadcommit",
|
||||
"leonardssh.vscord",
|
||||
"loyieking.smalise",
|
||||
"mads-hartmann.bash-ide-vscode",
|
||||
"mainawycliffe.view-package-on-npm",
|
||||
"marp-team.marp-vscode",
|
||||
"mcu-debug.debug-tracker-vscode",
|
||||
"mcu-debug.memory-view",
|
||||
"mcu-debug.rtos-views",
|
||||
"mechatroner.rainbow-csv",
|
||||
"mehrad.kutt",
|
||||
"meshintelligenttechnologiesinc.pieces-vscode",
|
||||
"miramac.vscode-exec-node",
|
||||
"mongodb.mongodb-vscode",
|
||||
"mpotthoff.vscode-android-webview-debug",
|
||||
"mrmlnc.vscode-scss",
|
||||
"ms-azure-devops.azure-pipelines",
|
||||
|
@ -130,7 +114,6 @@
|
|||
"ms-dotnettools.dotnet-interactive-vscode",
|
||||
"ms-edgedevtools.vscode-edge-devtools",
|
||||
"ms-iot.vscode-ros",
|
||||
"ms-kubernetes-tools.kind-vscode",
|
||||
"ms-kubernetes-tools.vscode-aks-tools",
|
||||
"ms-kubernetes-tools.vscode-kubernetes-tools",
|
||||
"ms-playwright.playwright",
|
||||
|
@ -190,11 +173,8 @@
|
|||
"postman.postman-for-vscode",
|
||||
"pranaygp.vscode-css-peek",
|
||||
"prisma.prisma",
|
||||
"pwabuilder.pwa-studio",
|
||||
"quicktype.quicktype",
|
||||
"randomfractalsinc.vscode-data-preview",
|
||||
"rangav.vscode-thunder-client",
|
||||
"rapidapi.vscode-rapidapi-client",
|
||||
"redhat.ansible",
|
||||
"redhat.fabric8-analytics",
|
||||
"redhat.java",
|
||||
|
@ -211,21 +191,17 @@
|
|||
"rust-lang.rust-analyzer",
|
||||
"salbert.comment-ts",
|
||||
"sandcastle.vscode-open",
|
||||
"sapos.yeoman-ui",
|
||||
"saposs.app-studio-toolkit",
|
||||
"shd101wyy.markdown-preview-enhanced",
|
||||
"shopify.ruby-lsp",
|
||||
"shopify.theme-check-vscode",
|
||||
"spmeesseman.vscode-taskexplorer",
|
||||
"stamusnetworks.suricata-ls",
|
||||
"steoates.autoimport",
|
||||
"stepsize.stepsize",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"stylelint.vscode-stylelint",
|
||||
"surendrajat.apklab",
|
||||
"svelte.svelte-vscode",
|
||||
"task.vscode-task",
|
||||
"teamhub.teamhub",
|
||||
"teamsdevapp.ms-teams-vscode-extension",
|
||||
"tilt-dev.tiltfile",
|
||||
"timonwong.shellcheck",
|
||||
|
@ -243,7 +219,6 @@
|
|||
"visualstudioexptteam.intellicode-api-usage-examples",
|
||||
"visualstudioexptteam.vscodeintellicode-completions",
|
||||
"visualstudioexptteam.vscodeintellicode",
|
||||
"vivaxy.vscode-conventional-commits",
|
||||
"vmware.vscode-spring-boot",
|
||||
"vsciot-vscode.vscode-arduino",
|
||||
"vscjava.vscode-java-debug",
|
||||
|
@ -254,11 +229,9 @@
|
|||
"vsls-contrib.codetour",
|
||||
"vsls-contrib.gistfs",
|
||||
"vsls-contrib.gitdoc",
|
||||
"waderyan.gitblame",
|
||||
"wakatime.vscode-wakatime",
|
||||
"wallabyjs.quokka-vscode",
|
||||
"wallabyjs.wallaby-vscode",
|
||||
"wasteamaccount.webtemplatestudio-dev-nightly",
|
||||
"wayou.vscode-todo-highlight",
|
||||
"wix.vscode-import-cost",
|
||||
"yatki.vscode-surround"
|
||||
|
|
4
home/dot_config/bin/config.json
Normal file
4
home/dot_config/bin/config.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"default_path": "$HOME/.local/bin/",
|
||||
"bins": {}
|
||||
}
|
3
home/dot_config/docker/config.json.tmpl
Normal file
3
home/dot_config/docker/config.json.tmpl
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"credsStore": "{{ if (eq .host.distro.id "darwin") }}osxkeychain{{ else }}{{ if (eq .host.distro.id "windows") }}wincred{{ else }}secretservice{{ end }}{{ end }}"
|
||||
}
|
|
@ -149,7 +149,7 @@ GHORG_EXIT_CODE_ON_CLONE_ISSUES: 1
|
|||
|
||||
# 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 }}
|
||||
GHORG_GITHUB_TOKEN: {{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITHUB_READ_TOKEN")) }}{{ includeTemplate "secrets/GITHUB_READ_TOKEN" | decrypt | trim }}{{ else }}{{ env "GITHUB_READ_TOKEN" }}{{ end }}
|
||||
|
||||
# +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
# |G|I|T|L|A|B| |S|P|E|C|I|F|I|C|
|
||||
|
@ -157,7 +157,7 @@ GHORG_GITHUB_TOKEN: {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates"
|
|||
|
||||
# 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 }}
|
||||
GHORG_GITLAB_TOKEN: {{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_READ_TOKEN")) }}{{ includeTemplate "secrets/GITLAB_READ_TOKEN" | decrypt | trim }}{{ 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)
|
||||
|
|
|
@ -154,7 +154,7 @@
|
|||
smtpuser = {{ default "" .user.gmail.username }}
|
||||
smtpencryption = tls
|
||||
smtpserverport = 587
|
||||
smtpPass = {{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GMAIL_PASSWORD")) }}{{ includeTemplate "secrets/GMAIL_PASSWORD" | decrypt }}{{ else }}{{ default "" (env "GMAIL_PASSWORD") }}{{ end }}
|
||||
smtpPass = {{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GMAIL_PASSWORD")) }}{{ includeTemplate "secrets/GMAIL_PASSWORD" | decrypt | trim }}{{ else }}{{ default "" (env "GMAIL_PASSWORD") }}{{ end }}
|
||||
[status]
|
||||
showUntrackedFiles = all
|
||||
submoduleSummary = true
|
||||
|
|
136
home/dot_config/lsd/config.yaml
Normal file
136
home/dot_config/lsd/config.yaml
Normal file
|
@ -0,0 +1,136 @@
|
|||
# == Classic ==
|
||||
# This is a shorthand to override some of the options to be backwards compatible
|
||||
# with `ls`. It affects the "color"->"when", "sorting"->"dir-grouping", "date"
|
||||
# and "icons"->"when" options.
|
||||
# Possible values: false, true
|
||||
classic: false
|
||||
|
||||
# == Blocks ==
|
||||
# This specifies the columns and their order when using the long and the tree
|
||||
# layout.
|
||||
# Possible values: permission, user, group, context, size, date, name, inode, links, git
|
||||
blocks:
|
||||
- permission
|
||||
- user
|
||||
- group
|
||||
- size
|
||||
- date
|
||||
- name
|
||||
|
||||
# == Color ==
|
||||
# This has various color options. (Will be expanded in the future.)
|
||||
color:
|
||||
# When to colorize the output.
|
||||
# When "classic" is set, this is set to "never".
|
||||
# Possible values: never, auto, always
|
||||
when: auto
|
||||
# How to colorize the output.
|
||||
# When "classic" is set, this is set to "no-color".
|
||||
# Possible values: default, <theme-file-name>
|
||||
# when specifying <theme-file-name>, lsd will look up theme file
|
||||
# XDG Base Directory if relative, e.g. ~/.config/lsd/themes/<theme-file-name>.yaml,
|
||||
# The file path if absolute
|
||||
theme: default
|
||||
|
||||
# == Date ==
|
||||
# This specifies the date format for the date column. The freeform format
|
||||
# accepts a strftime like string.
|
||||
# When "classic" is set, this is set to "date".
|
||||
# Possible values: date, relative, '+<date_format>'
|
||||
# `date_format` will be a `strftime` formatted value. e.g. `date: '+%d %b %y %X'` will give you a date like this: 17 Jun 21 20:14:55
|
||||
date: date
|
||||
|
||||
# == Dereference ==
|
||||
# Whether to dereference symbolic links.
|
||||
# Possible values: false, true
|
||||
dereference: false
|
||||
|
||||
# == Display ==
|
||||
# What items to display. Do not specify this for the default behavior.
|
||||
# Possible values: all, almost-all, directory-only
|
||||
# display: all
|
||||
|
||||
# == Icons ==
|
||||
icons:
|
||||
# When to use icons.
|
||||
# When "classic" is set, this is set to "never".
|
||||
# Possible values: always, auto, never
|
||||
when: auto
|
||||
# Which icon theme to use.
|
||||
# Possible values: fancy, unicode
|
||||
theme: fancy
|
||||
# Separator between icon and the name
|
||||
# Default to 1 space
|
||||
separator: " "
|
||||
|
||||
# == Ignore Globs ==
|
||||
# A list of globs to ignore when listing.
|
||||
# ignore-globs:
|
||||
# - .git
|
||||
|
||||
# == Indicators ==
|
||||
# Whether to add indicator characters to certain listed files.
|
||||
# Possible values: false, true
|
||||
indicators: false
|
||||
|
||||
# == Layout ==
|
||||
# Which layout to use. "oneline" might be a bit confusing here and should be
|
||||
# called "one-per-line". It might be changed in the future.
|
||||
# Possible values: grid, tree, oneline
|
||||
layout: grid
|
||||
|
||||
# == Recursion ==
|
||||
recursion:
|
||||
# Whether to enable recursion.
|
||||
# Possible values: false, true
|
||||
enabled: false
|
||||
# How deep the recursion should go. This has to be a positive integer. Leave
|
||||
# it unspecified for (virtually) infinite.
|
||||
# depth: 3
|
||||
|
||||
# == Size ==
|
||||
# Specifies the format of the size column.
|
||||
# Possible values: default, short, bytes
|
||||
size: default
|
||||
|
||||
# == Permission ==
|
||||
# Specify the format of the permission column
|
||||
# Possible value: rwx, octal
|
||||
permission: rwx
|
||||
|
||||
# == Sorting ==
|
||||
sorting:
|
||||
# Specify what to sort by.
|
||||
# Possible values: extension, name, time, size, version
|
||||
column: name
|
||||
# Whether to reverse the sorting.
|
||||
# Possible values: false, true
|
||||
reverse: false
|
||||
# Whether to group directories together and where.
|
||||
# When "classic" is set, this is set to "none".
|
||||
# Possible values: first, last, none
|
||||
dir-grouping: none
|
||||
|
||||
# == No Symlink ==
|
||||
# Whether to omit showing symlink targets
|
||||
# Possible values: false, true
|
||||
no-symlink: false
|
||||
|
||||
# == Total size ==
|
||||
# Whether to display the total size of directories.
|
||||
# Possible values: false, true
|
||||
total-size: false
|
||||
|
||||
# == Hyperlink ==
|
||||
# Attach hyperlink to filenames
|
||||
# Possible values: always, auto, never
|
||||
hyperlink: never
|
||||
|
||||
# == Symlink arrow ==
|
||||
# Specifies how the symlink arrow display, chars in both ascii and utf8
|
||||
symlink-arrow: ⇒
|
||||
|
||||
# == Header ==
|
||||
# Whether to display block headers.
|
||||
# Possible values: false, true
|
||||
header: false
|
|
@ -1,4 +1,4 @@
|
|||
{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (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 }}'
|
||||
authtoken: '{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGROK_AUTH_TOKEN")) }}{{- includeTemplate "secrets/NGROK_AUTH_TOKEN" | decrypt | trim -}}{{ else }}{{- env "NGROK_AUTH_TOKEN" -}}{{ end }}'
|
||||
{{- end -}}
|
|
@ -9,4 +9,4 @@ loglevel=error
|
|||
network-concurrency=32
|
||||
prefix={{ .chezmoi.homeDir }}/.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 }}
|
||||
//registry.npmjs.org/:_authToken={{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{- includeTemplate "secrets/NPM_TOKEN" | decrypt | trim -}}{{ else if (env "NPM_TOKEN") }}{{- env "NPM_TOKEN" -}}{{ else }}${NPM_TOKEN}{{ end }}
|
|
@ -1,3 +1,3 @@
|
|||
{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (or (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SENDGRID_API_KEY")) (env "SENDGRID_API_KEY")) -}}
|
||||
[smtp.sendgrid.net]:587 apikey:{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SENDGRID_API_KEY")) }}{{ includeTemplate "secrets/SENDGRID_API_KEY" | decrypt }}{{ else }}{{ env "SENDGRID_API_KEY" }}{{ end }}
|
||||
[smtp.sendgrid.net]:587 apikey:{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SENDGRID_API_KEY")) }}{{ includeTemplate "secrets/SENDGRID_API_KEY" | decrypt | trim }}{{ else }}{{ env "SENDGRID_API_KEY" }}{{ end }}
|
||||
{{- end -}}
|
|
@ -1,18 +1,12 @@
|
|||
# [PSFzf](https://github.com/kelleyma49/PSFzf)
|
||||
# [DockerCompletion](https://github.com/matt9ucci/DockerCompletion)
|
||||
|
||||
### Env
|
||||
$env:EDITOR = 'code --wait'
|
||||
$env:GIT_SSH = "C:\Windows\system32\OpenSSH\ssh.exe"
|
||||
|
||||
### Set PowerShell to UTF-8
|
||||
[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
|
||||
|
||||
### Oh My Posh
|
||||
Install-Module posh-git
|
||||
oh-my-posh init pwsh --config "$env:HOME/.config/oh-my-posh/Betelgeuse.omp.json" | Invoke-Expression
|
||||
|
||||
### Docker Completion
|
||||
Import-Module "$env:HOME/.local/share/powershell/docker/DockerCompletion/DockerCompletion"
|
||||
|
||||
# Import-Module -Name Terminal-Icons
|
||||
[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
|
||||
|
||||
### PSReadLine
|
||||
Set-PSReadLineOption -EditMode Vi
|
||||
|
@ -20,23 +14,38 @@ Set-PSReadLineOption -BellStyle None
|
|||
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
|
||||
Set-PSReadLineOption -PredictionSource History
|
||||
|
||||
### Fzf
|
||||
# Note: This was not working under PowerShell via VSCode on macOS
|
||||
# The specified module 'PSFzf' was not loaded because no valid module file was found in any module directory.
|
||||
# Import-Module PSFzf
|
||||
# Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'
|
||||
### Import PowerShell modules
|
||||
$modules = @("Carbon", "ImportExcel", "Microsoft.PowerShell.ConsoleGuiTools", "Microsoft.PowerShell.PSResourceGet", "PSFzf", "PSWindowsUpdate", "PackageManagement", "PendingReboot", "posh-git", "Terminal-Icons")
|
||||
|
||||
foreach ($module in $modules) {
|
||||
if (-not (Get-Module -ListAvailable -Name $module)) {
|
||||
Install-Module -Name $module -Scope CurrentUser -Force -Repository PSGallery -AllowPrerelease
|
||||
}
|
||||
Import-Module $module -Force
|
||||
}
|
||||
|
||||
### posh-git settings
|
||||
oh-my-posh init pwsh --config "$env:HOME/.config/oh-my-posh/Betelgeuse.omp.json" | Invoke-Expression
|
||||
|
||||
### PSFzf settings
|
||||
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'
|
||||
$commandOverride = [ScriptBlock]::Create("param(\$Location) Set-Location \$Location")
|
||||
Set-PsFzfOption -AltCCommand $commandOverride
|
||||
Set-PsFzfOption -TabExpansion
|
||||
$env:_PSFZF_FZF_DEFAULT_OPTS = "--ansi --preview 'bat --color=always {}'"
|
||||
Set-PSFzfOption -EnableAlias
|
||||
|
||||
### zoxide
|
||||
Invoke-Expression (& {
|
||||
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
|
||||
Invoke-Expression '& {
|
||||
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { "prompt" } else { "pwd" }
|
||||
(zoxide init --hook $hook powershell | Out-String)
|
||||
})
|
||||
}'
|
||||
|
||||
### Aliases
|
||||
Set-Alias grep findstr
|
||||
Set-Alias grep Select-String
|
||||
|
||||
### Utilities
|
||||
function which ($command) {
|
||||
Get-Command -Name $command -ErrorAction SilentlyContinue |
|
||||
Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
|
||||
Select-Object -ExpandProperty Source -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
|
|
@ -16,12 +16,12 @@ fi
|
|||
tee -a "$CONFIG_FILE" > /dev/null <<EOT
|
||||
# MEGABYTE LABS MANAGED S3
|
||||
[{{ .user.username}}-s3]
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
acl = private
|
||||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com/user
|
||||
provider = Cloudflare
|
||||
region = auto
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
type = s3
|
||||
# MEGABYTE LABS MANAGED S3
|
||||
EOT
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
{{- 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 "") -}}
|
||||
[docker]
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
acl = private
|
||||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com/docker
|
||||
env_auth = false
|
||||
provider = Cloudflare
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
type = s3
|
||||
|
||||
[private]
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
acl = private
|
||||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com/private
|
||||
env_auth = false
|
||||
provider = Cloudflare
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
type = s3
|
||||
|
||||
[public]
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
acl = public-read
|
||||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com/public
|
||||
env_auth = false
|
||||
provider = Cloudflare
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
type = s3
|
||||
|
||||
[system]
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID" -}}{{ end }}
|
||||
acl = private
|
||||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com/system
|
||||
env_auth = false
|
||||
provider = Cloudflare
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET" -}}{{ end }}
|
||||
type = s3
|
||||
{{ end -}}
|
||||
|
|
|
@ -239,7 +239,11 @@ alias vault-dir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault encry
|
|||
alias whaler="docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock:ro pegleg/whaler"
|
||||
|
||||
# Shows nice looking report of weather
|
||||
alias weather='curl -A curl wttr.in'
|
||||
if command -v wego > /dev/null; then
|
||||
alias weather='wego'
|
||||
else
|
||||
alias weather='curl -A curl wttr.in'
|
||||
fi
|
||||
|
||||
# Change .wget-hsts file location
|
||||
alias wget="wget --hsts-file ~/.local/wget-hsts"
|
||||
|
|
|
@ -96,6 +96,7 @@ export ASDF_DATA_DIR="$ASDF_DIR"
|
|||
export ASDF_CRATE_DEFAULT_PACKAGES_FILE="$XDG_CONFIG_HOME/asdf/default-cargo-pkgs"
|
||||
export ASDF_GEM_DEFAULT_PACKAGES_FILE="$XDG_CONFIG_HOME/asdf/default-ruby-pkgs"
|
||||
export ASDF_GOLANG_DEFAULT_PACKAGES_FILE="$XDG_CONFIG_HOME/asdf/default-golang-pkgs"
|
||||
export ASDF_GOLANG_MOD_VERSION_ENABLED=true
|
||||
export ASDF_NPM_DEFAULT_PACKAGES_FILE="$XDG_CONFIG_HOME/asdf/default-npm-packages"
|
||||
export ASDF_PYTHON_DEFAULT_PACKAGES_FILE="$XDG_CONFIG_HOME/asdf/default-python-pkgs"
|
||||
|
||||
|
@ -296,6 +297,10 @@ export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
|||
export POETRY_HOME="$XDG_DATA_HOME/poetry"
|
||||
export PATH="$POETRY_HOME/bin:$PATH"
|
||||
|
||||
### Porter
|
||||
export PORTER_HOME="$XDG_DATA_HOME/porter"
|
||||
export PATH="$PATH:$PORTER_HOME"
|
||||
|
||||
### Postgres
|
||||
export PSQLRC="$XDG_CONFIG_HOME/pg/psqlrc"
|
||||
export PSQL_HISTORY="$XDG_STATE_HOME/psql_history"
|
||||
|
@ -343,7 +348,10 @@ export PATH="$VOLTA_HOME/bin:$PATH"
|
|||
|
||||
### Wakatime
|
||||
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
|
||||
export WAKATIME_API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "WAKATIME_API_KEY")) }}{{ includeTemplate "secrets/VAGRANT_CLOUD_TOKEN" | decrypt }}{{ else }}{{ env "WAKATIME_API_KEY" }}{{ end }}"
|
||||
export WAKATIME_API_KEY="{{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "WAKATIME_API_KEY")) }}{{ includeTemplate "secrets/VAGRANT_CLOUD_TOKEN" | decrypt | trim }}{{ else }}{{ env "WAKATIME_API_KEY" }}{{ end }}"
|
||||
|
||||
### Wego Weather CLI
|
||||
export WEGORC="$XDG_CONFIG_HOME/wego/wegorc"
|
||||
|
||||
### wget
|
||||
export WGETRC="$XDG_CONFIG_HOME/wget/wgetrc"
|
||||
|
|
|
@ -7,10 +7,15 @@
|
|||
# that are populated by Install Doctor during the provisioning process (if they are provided).
|
||||
|
||||
### Ansible
|
||||
export ANSIBLE_GALAXY_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ANSIBLE_GALAXY_TOKEN")) }}{{ includeTemplate "secrets/ANSIBLE_GALAXY_TOKEN" | decrypt | nospace }}{{ else }}{{ env "ANSIBLE_GALAXY_TOKEN" }}{{ end }}"
|
||||
export ANSIBLE_GALAXY_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ANSIBLE_GALAXY_TOKEN")) }}{{ includeTemplate "secrets/ANSIBLE_GALAXY_TOKEN" | decrypt | trim }}{{ else }}{{ env "ANSIBLE_GALAXY_TOKEN" }}{{ end }}"
|
||||
export ANSIBLE_VAULT_PASSWORD="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ANSIBLE_VAULT_PASSWORD")) }}{{ includeTemplate "secrets/ANSIBLE_VAULT_PASSWORD" | decrypt | trim }}{{ else }}{{ env "ANSIBLE_VAULT_PASSWORD" }}{{ end }}"
|
||||
export AVP="$ANSIBLE_VAULT_PASSWORD"
|
||||
|
||||
### Atuin
|
||||
export ATUIN_EMAIL="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ATUIN_EMAIL")) }}{{ includeTemplate "secrets/ATUIN_EMAIL" | decrypt | trim }}{{ else }}{{ env "ATUIN_EMAIL" }}{{ end }}"
|
||||
export ATUIN_PASSWORD="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ATUIN_PASSWORD")) }}{{ includeTemplate "secrets/ATUIN_PASSWORD" | decrypt | trim }}{{ else }}{{ env "ATUIN_PASSWORD" }}{{ end }}"
|
||||
export ATUIN_USERNAME="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "ATUIN_USERNAME")) }}{{ includeTemplate "secrets/ATUIN_USERNAME" | decrypt | trim }}{{ else }}{{ env "ATUIN_USERNAME" }}{{ end }}"
|
||||
|
||||
### Google Cloud SDK
|
||||
export CLOUDSDK_CORE_PROJECT="{{ .user.gcloud.coreProject }}"
|
||||
export GCE_SERVICE_ACCOUNT_EMAIL="{{ .user.gcloud.email }}"
|
||||
|
@ -21,20 +26,20 @@ export LEXICON_CLOUDFLARE_TOKEN=""
|
|||
export LEXICON_CLOUDFLARE_USERNAME="{{ .user.cloudflare.username }}"
|
||||
|
||||
### DockerHub
|
||||
export DOCKERHUB_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "DOCKERHUB_TOKEN")) }}{{ includeTemplate "secrets/DOCKERHUB_TOKEN" | decrypt }}{{ else }}{{ env "DOCKERHUB_TOKEN" }}{{ end }}"
|
||||
export DOCKERHUB_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "DOCKERHUB_TOKEN")) }}{{ includeTemplate "secrets/DOCKERHUB_TOKEN" | decrypt | trim }}{{ else }}{{ env "DOCKERHUB_TOKEN" }}{{ end }}"
|
||||
export DOCKERHUB_REGISTRY_PASSWORD="$DOCKERHUB_TOKEN"
|
||||
|
||||
### GitHub
|
||||
export GH_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITHUB_TOKEN")) }}{{ includeTemplate "secrets/GITHUB_TOKEN" | decrypt }}{{ else }}{{ env "GITHUB_TOKEN" }}{{ end }}"
|
||||
export GH_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITHUB_TOKEN")) }}{{ includeTemplate "secrets/GITHUB_TOKEN" | decrypt | trim }}{{ else }}{{ env "GITHUB_TOKEN" }}{{ end }}"
|
||||
export GITHUB_TOKEN="$GH_TOKEN"
|
||||
|
||||
### GitLab
|
||||
export GL_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_TOKEN")) }}{{ includeTemplate "secrets/GITLAB_TOKEN" | decrypt }}{{ else }}{{ env "GITLAB_TOKEN" }}{{ end }}"
|
||||
export GL_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_TOKEN")) }}{{ includeTemplate "secrets/GITLAB_TOKEN" | decrypt | trim }}{{ else }}{{ env "GITLAB_TOKEN" }}{{ end }}"
|
||||
export GITLAB_TOKEN="$GL_TOKEN"
|
||||
export GITLAB_RUNNER_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_RUNNER_TOKEN")) }}{{ includeTemplate "secrets/GITLAB_RUNNER_TOKEN" | decrypt }}{{ else }}{{ env "GITLAB_RUNNER_TOKEN" }}{{ end }}"
|
||||
|
||||
### Heroku
|
||||
export HEROKU_API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "HEROKU_API_KEY")) }}{{ includeTemplate "secrets/HEROKU_API_KEY" | decrypt }}{{ else }}{{ env "HEROKU_API_KEY" }}{{ end }}"
|
||||
export HEROKU_API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "HEROKU_API_KEY")) }}{{ includeTemplate "secrets/HEROKU_API_KEY" | decrypt | trim }}{{ else }}{{ env "HEROKU_API_KEY" }}{{ end }}"
|
||||
|
||||
### Install Doctor
|
||||
export HEADLESS_INSTALL=true
|
||||
|
@ -55,29 +60,29 @@ fi
|
|||
export FULLY_AUTOMATED_TASKS=true
|
||||
|
||||
### NPM
|
||||
export NPM_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{ includeTemplate "secrets/NPM_TOKEN" | decrypt }}{{ else }}{{ env "NPM_TOKEN" }}{{ end }}"
|
||||
export NPM_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{ includeTemplate "secrets/NPM_TOKEN" | decrypt | trim }}{{ else }}{{ env "NPM_TOKEN" }}{{ end }}"
|
||||
|
||||
### OpenAI
|
||||
export OPENAI_API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OPENAI_API_KEY")) }}{{ includeTemplate "secrets/OPENAI_API_KEY" | decrypt }}{{ else }}{{ env "OPENAI_API_KEY" }}{{ end }}"
|
||||
export OPENAI_API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OPENAI_API_KEY")) }}{{ includeTemplate "secrets/OPENAI_API_KEY" | decrypt | trim }}{{ else }}{{ env "OPENAI_API_KEY" }}{{ end }}"
|
||||
|
||||
### PyPi
|
||||
export PYPI_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "PYPI_TOKEN")) }}{{ includeTemplate "secrets/PYPI_TOKEN" | decrypt }}{{ else }}{{ env "PYPI_TOKEN" }}{{ end }}"
|
||||
export PYPI_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "PYPI_TOKEN")) }}{{ includeTemplate "secrets/PYPI_TOKEN" | decrypt | trim }}{{ else }}{{ env "PYPI_TOKEN" }}{{ end }}"
|
||||
|
||||
### Snapcraft
|
||||
export SNAPCRAFT_EMAIL="{{ .user.snapcraft.username }}"
|
||||
export SNAPCRAFT_MACAROON="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SNAPCRAFT_MACAROON")) }}{{ includeTemplate "secrets/SNAPCRAFT_MACAROON" | decrypt }}{{ else }}{{ env "SNAPCRAFT_MACAROON" }}{{ end }}"
|
||||
export SNAPCRAFT_UNBOUND_DISCHARGE="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SNAPCRAFT_UNBOUND_DISCHARGE")) }}{{ includeTemplate "secrets/SNAPCRAFT_UNBOUND_DISCHARGE" | decrypt }}{{ else }}{{ env "SNAPCRAFT_UNBOUND_DISCHARGE" }}{{ end }}"
|
||||
export SNAPCRAFT_MACAROON="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SNAPCRAFT_MACAROON")) }}{{ includeTemplate "secrets/SNAPCRAFT_MACAROON" | decrypt | trim }}{{ else }}{{ env "SNAPCRAFT_MACAROON" }}{{ end }}"
|
||||
export SNAPCRAFT_UNBOUND_DISCHARGE="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SNAPCRAFT_UNBOUND_DISCHARGE")) }}{{ includeTemplate "secrets/SNAPCRAFT_UNBOUND_DISCHARGE" | decrypt | trim }}{{ else }}{{ env "SNAPCRAFT_UNBOUND_DISCHARGE" }}{{ end }}"
|
||||
|
||||
### Surge.sh
|
||||
export SURGE_LOGIN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SURGE_LOGIN")) }}{{ includeTemplate "secrets/SURGE_LOGIN" | decrypt }}{{ else }}{{ env "SURGE_LOGIN" }}{{ end }}"
|
||||
export SURGE_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SURGE_TOKEN")) }}{{ includeTemplate "secrets/SURGE_TOKEN" | decrypt }}{{ else }}{{ env "SURGE_TOKEN" }}{{ end }}"
|
||||
export SURGE_LOGIN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SURGE_LOGIN")) }}{{ includeTemplate "secrets/SURGE_LOGIN" | decrypt | trim }}{{ else }}{{ env "SURGE_LOGIN" }}{{ end }}"
|
||||
export SURGE_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SURGE_TOKEN")) }}{{ includeTemplate "secrets/SURGE_TOKEN" | decrypt | trim }}{{ else }}{{ env "SURGE_TOKEN" }}{{ end }}"
|
||||
|
||||
### Vagrant Cloud
|
||||
export VAGRANT_CLOUD_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "VAGRANT_CLOUD_TOKEN")) }}{{ includeTemplate "secrets/VAGRANT_CLOUD_TOKEN" | decrypt }}{{ else }}{{ env "VAGRANT_CLOUD_TOKEN" }}{{ end }}"
|
||||
export VAGRANT_CLOUD_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "VAGRANT_CLOUD_TOKEN")) }}{{ includeTemplate "secrets/VAGRANT_CLOUD_TOKEN" | decrypt | trim }}{{ else }}{{ env "VAGRANT_CLOUD_TOKEN" }}{{ end }}"
|
||||
|
||||
### Xcodes
|
||||
# Apple ID username and password
|
||||
export XCODES_USERNAME="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "APPLE_USERNAME")) }}{{ includeTemplate "secrets/APPLE_USERNAME" | decrypt }}{{ else }}{{ env "APPLE_USERNAME" }}{{ end }}"
|
||||
export XCODES_PASSWORD="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "APPLE_PASSWORD")) }}{{ includeTemplate "secrets/APPLE_PASSWORD" | decrypt }}{{ else }}{{ env "APPLE_PASSWORD" }}{{ end }}"
|
||||
export XCODES_USERNAME="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "APPLE_USERNAME")) }}{{ includeTemplate "secrets/APPLE_USERNAME" | decrypt | trim }}{{ else }}{{ env "APPLE_USERNAME" }}{{ end }}"
|
||||
export XCODES_PASSWORD="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "APPLE_PASSWORD")) }}{{ includeTemplate "secrets/APPLE_PASSWORD" | decrypt | trim }}{{ else }}{{ env "APPLE_PASSWORD" }}{{ end }}"
|
||||
|
||||
{{ end -}}
|
||||
|
|
|
@ -141,6 +141,12 @@ elif [ -f "$SDKMAN_DIR/bin/sdkman-init.sh" ]; then
|
|||
. "$SDKMAN_DIR/bin/sdkman-init.sh"
|
||||
fi
|
||||
|
||||
### Tea
|
||||
# TODO: Fix this so it does not cause errors as Chezmoi runs
|
||||
# if command -v tea > /dev/null; then
|
||||
# source <(tea --magic)
|
||||
# fi
|
||||
|
||||
### VIM
|
||||
export GVIMINIT='let $MYGVIMRC="$XDG_CONFIG_HOME/vim/gvimrc" | source $MYGVIMRC'
|
||||
export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"slack_token": "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SLACK_API_TOKEN")) }}{{- includeTemplate "secrets/SLACK_API_TOKEN" | decrypt -}}{{ else }}{{- env "SLACK_API_TOKEN" -}}{{ end }}",
|
||||
"slack_token": "{{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SLACK_API_TOKEN")) }}{{- includeTemplate "secrets/SLACK_API_TOKEN" | decrypt | trim -}}{{ else }}{{- env "SLACK_API_TOKEN" -}}{{ end }}",
|
||||
"sidebar_width": 3,
|
||||
"notify": "mention",
|
||||
"emoji": true,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{- if (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) -}}
|
||||
[settings]
|
||||
api_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "WAKATIME_API_KEY")) }}{{ includeTemplate "secrets/VAGRANT_CLOUD_TOKEN" | decrypt }}{{ else }}{{ env "WAKATIME_API_KEY" }}{{ end }}
|
||||
api_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "WAKATIME_API_KEY")) }}{{ includeTemplate "secrets/WAKATIME_API_KEY" | decrypt | trim }}{{ else }}{{ env "WAKATIME_API_KEY" }}{{ end }}
|
||||
{{- end }}
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
<key>support_url</key>
|
||||
<string>https://megabyte.space</string>
|
||||
<key>auth_client_id</key>
|
||||
<string>{{ 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 }}</string>
|
||||
<string>{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_ID")) }}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_ID" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_TEAMS_CLIENT_ID" -}}{{ end }}</string>
|
||||
<key>auth_client_secret</key>
|
||||
<string>{{ 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 }}</string>
|
||||
<string>{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_TEAMS_CLIENT_SECRET")) }}{{- includeTemplate "secrets/CLOUDFLARE_TEAMS_CLIENT_SECRET" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_TEAMS_CLIENT_SECRET" -}}{{ end }}</string>
|
||||
</dict>
|
||||
{{ end -}}
|
||||
|
|
61
home/dot_config/wego/wegorc.tmpl
Normal file
61
home/dot_config/wego/wegorc.tmpl
Normal file
|
@ -0,0 +1,61 @@
|
|||
# wego configuration
|
||||
#
|
||||
# This config has https://github.com/schachmat/ingo syntax.
|
||||
# Empty lines or lines starting with # will be ignored.
|
||||
# All other lines must look like "KEY=VALUE" (without the quotes).
|
||||
# The VALUE must not be enclosed in quotes as well!
|
||||
|
||||
# aat-frontend: Show geo coordinates (default false)
|
||||
aat-coords=false
|
||||
|
||||
# aat-frontend: Monochrome output (default false)
|
||||
aat-monochrome=false
|
||||
|
||||
# BACKEND to be used (default openweathermap)
|
||||
backend=openweathermap
|
||||
|
||||
# caiyun backend: the api KEY to use (default )
|
||||
caiyun-api-key=
|
||||
|
||||
# caiyun backend: print raw requests and responses (default true)
|
||||
caiyun-debug=true
|
||||
|
||||
# caiyun backend: the LANGUAGE to request from caiyunapp.com/ (default en)
|
||||
caiyun-lang=en
|
||||
|
||||
# NUMBER of days of weather forecast to be displayed (default 3)
|
||||
days=5
|
||||
|
||||
# FRONTEND to be used (default ascii-art-table)
|
||||
frontend=ascii-art-table
|
||||
|
||||
# json frontend: do not indent the output (default false)
|
||||
jsn-no-indent=false
|
||||
|
||||
# LOCATION to be queried (default 40.748,-73.985)
|
||||
location=Morristown, NJ
|
||||
|
||||
# md-frontend: Show geo coordinates (default false)
|
||||
md-coords=false
|
||||
|
||||
# openweathermap backend: the api KEY to use (default )
|
||||
owm-api-key={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "OPENWEATHERMAP_API_KEY")) }}{{ includeTemplate "secrets/OPENWEATHERMAP_API_KEY" | decrypt | trim }}{{ else }}{{ env "OPENWEATHERMAP_API_KEY" }}{{ end }}
|
||||
|
||||
# openweathermap backend: print raw requests and responses (default false)
|
||||
owm-debug=false
|
||||
|
||||
# openweathermap backend: the LANGUAGE to request from openweathermap (default en)
|
||||
owm-lang=en
|
||||
|
||||
# UNITSYSTEM to use for output.
|
||||
# Choices are: metric, imperial, si, metric-ms (default metric)
|
||||
units=imperial
|
||||
|
||||
# worldweatheronline backend: the api KEY to use (default )
|
||||
wwo-api-key=
|
||||
|
||||
# worldweatheronline backend: print raw requests and responses (default false)
|
||||
wwo-debug=false
|
||||
|
||||
# worldweatheronline backend: the LANGUAGE to request from worldweatheronline (default en)
|
||||
wwo-lang=en
|
|
@ -1,5 +1,5 @@
|
|||
#!/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
|
||||
echo "{{ if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NPM_TOKEN")) }}{{ includeTemplate "secrets/NPM_TOKEN" | decrypt | trim }}{{ else if (env "NPM_TOKEN") }}{{ env "NPM_TOKEN" }}{{ else }}${GITHUB_GIST_TOKEN}{{ end }}" > ~/.gist
|
||||
gist $*
|
||||
rm -f ~/.gist
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{{- if eq .host.distro.family "linux" -}}
|
||||
#!/bin/bash
|
||||
|
||||
#################################################################
|
||||
|
@ -314,3 +315,4 @@ elif [ "$extensions_count" -eq 0 ]; then
|
|||
else
|
||||
begin_install
|
||||
fi
|
||||
{{ end -}}
|
|
@ -187,7 +187,7 @@ async function generateInstallOrders(pkgsToInstall) {
|
|||
normalCheck = softwarePackages[packageKey]['_' + currentSelector]
|
||||
if (doubleScoped) {
|
||||
try {
|
||||
await $doubleScoped
|
||||
await runSilentCommand(doubleScoped)
|
||||
} catch (e) {
|
||||
let pref
|
||||
if (softwarePackages[packageKey]['_' + currentSelector + ':' + preference + ':' + osID]) {
|
||||
|
@ -205,7 +205,7 @@ async function generateInstallOrders(pkgsToInstall) {
|
|||
}
|
||||
} else if (scopedPkgManager) {
|
||||
try {
|
||||
await $scopedPkgManager
|
||||
await runSilentCommand(scopedPkgManager)
|
||||
} catch (e) {
|
||||
const pref = preference
|
||||
log('info', 'Filter', `${pkg} is being skipped because of the _when:${pref} condition`)
|
||||
|
@ -214,7 +214,7 @@ async function generateInstallOrders(pkgsToInstall) {
|
|||
}
|
||||
} else if (scopedSystem) {
|
||||
try {
|
||||
await $scopedSystem
|
||||
await runSilentCommand(scopedSystem)
|
||||
} catch (e) {
|
||||
let pref
|
||||
if (softwarePackages[packageKey]['_' + currentSelector + ':' + osID]) {
|
||||
|
@ -228,7 +228,7 @@ async function generateInstallOrders(pkgsToInstall) {
|
|||
}
|
||||
} else if (normalCheck) {
|
||||
try {
|
||||
await $(normalCheck)
|
||||
await runSilentCommand(normalCheck)
|
||||
} catch (e) {
|
||||
log('info', 'Filter', `${pkg} is being skipped because of the _when condition`)
|
||||
processPluginOrders(pkg)
|
||||
|
@ -962,8 +962,11 @@ async function ensurePackageManager(packageManager) {
|
|||
const cargo = which.sync('cargo', { nothrow: true })
|
||||
if (!cargo) {
|
||||
if (osType === 'darwin') {
|
||||
await $`brew install rustup`
|
||||
await $`rustup-init`
|
||||
const rustup = which.sync('rustup-init', { nothrow: true })
|
||||
if (!rustup) {
|
||||
await $`brew install rustup`
|
||||
}
|
||||
await $`rustup-init -y`
|
||||
} else if (osType === 'windows') {
|
||||
} else {
|
||||
await ensurePackage('cargo')
|
||||
|
@ -1527,10 +1530,10 @@ async function addUserGroup(group) {
|
|||
}
|
||||
} else if (osType === 'darwin') {
|
||||
runCommand(`Creating the ${group} group`, `sudo dscl . create /Groups/${group}`)
|
||||
runCommand(`Ensuring the ${group} group has a GID`, `if [[ "$(sudo dscl . read /Groups/$GROUP gid 2>&1)" == *'No such key'* ]]; then MAX_ID_GROUP="$(dscl . -list /Groups gid | awk '{print $2}' | sort -ug | tail -1)"; GROUP_ID="$((MAX_ID_GROUP+1))"; sudo dscl . create /Groups/${group} gid "$GROUP_ID"; fi`)
|
||||
runCommand(`Ensuring the ${group} group has a GID`, `bash -c 'if [[ "$(sudo dscl . read /Groups/$GROUP gid 2>&1)" == *"No such key"* ]]; then MAX_ID_GROUP="$(dscl . -list /Groups gid | awk "{print $2}" | sort -ug | tail -1)"; GROUP_ID="$((MAX_ID_GROUP+1))"; sudo dscl . create /Groups/${group} gid "$GROUP_ID"; fi'`)
|
||||
runCommand(`Adding the ${group} user`, `sudo dscl . create /Users/${group}`)
|
||||
runCommand(`Ensuring the ${group} user has a PrimaryGroupID`, `if [[ "$(sudo dscl . read /Users/${group} PrimaryGroupID 2>&1)" == *'No such key'* ]]; then sudo dscl . create /Users/${group} PrimaryGroupID 20; fi`)
|
||||
runCommand(`Ensuring the ${group} user has a UniqueID`, `if [[ "$(sudo dscl . read /Users/${group} UniqueID 2>&1)" == *'No such key'* ]]; then MAX_ID_USER="$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1)"; USER_ID="$((MAX_ID_USER+1))"; sudo dscl . create /Users/${group} UniqueID "$USERID"; fi`)
|
||||
runCommand(`Ensuring the ${group} user has a PrimaryGroupID`, `bash -c 'if [[ "$(sudo dscl . read /Users/${group} PrimaryGroupID 2>&1)" == *"No such key"* ]]; then sudo dscl . create /Users/${group} PrimaryGroupID 20; fi'`)
|
||||
runCommand(`Ensuring the ${group} user has a UniqueID`, `bash -c 'if [[ "$(sudo dscl . read /Users/${group} UniqueID 2>&1)" == *"No such key"* ]]; then MAX_ID_USER="$(dscl . -list /Users UniqueID | sort -nr -k 2 | head -1 | grep -oE "[0-9]+$")"; USER_ID="$((MAX_ID_USER+1))"; sudo dscl . create /Users/${group} UniqueID "$USERID"; fi'`)
|
||||
runCommand(`Adding the ${group} user to the ${group} group`, `sudo dseditgroup -o edit -t user -a ${group} ${group}`)
|
||||
runCommand(`Adding the ${process.env.USER} user to the ${group} group`, `sudo dseditgroup -o edit -t user -a ${process.env.USER} ${group}`)
|
||||
} else if (osType === 'windows') {
|
||||
|
@ -1553,7 +1556,7 @@ async function updateService(service) {
|
|||
log('info', logStage, `There was an error starting / enabling the ${service} service with systemd`)
|
||||
try {
|
||||
if (brew) {
|
||||
runCommand(`Starting / enabling ${service} with Homebrew`, `brew services start ${service}`)
|
||||
runCommand(`Starting / enabling ${service} with Homebrew`, `sudo brew services start ${service}`)
|
||||
log('success', logStage, `Started / enabled the ${service} service with Homebrew`)
|
||||
} else {
|
||||
log('error', logStage, `Unable to start service with systemd and Homebrew is not available`)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{{- if eq .host.distro.family "linux" -}}
|
||||
#!/usr/bin/env python3
|
||||
import time
|
||||
import dbus
|
||||
|
@ -105,3 +106,4 @@ if __name__ == '__main__':
|
|||
plugin=args.plugin, timer=args.timer,lock_screen=args.lock_screen)
|
||||
else:
|
||||
print("Need help? use -h or --help")
|
||||
{{ end -}}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{{- if eq .host.distro.family "linux" -}}
|
||||
#!/bin/bash
|
||||
|
||||
# Source: https://github.com/eylles/plymouth-preview/blob/master/plymouth-preview
|
||||
|
@ -28,3 +29,4 @@ for ((I=0; I<$DURATION; I++)); do
|
|||
sleep 1
|
||||
done
|
||||
plymouth quit
|
||||
{{ end -}}
|
|
@ -1,3 +1,4 @@
|
|||
{{- if eq .host.qubes true -}}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Creates a Qube on RAM disk and opens Firefox if the Qube does not already exist.
|
||||
|
@ -26,3 +27,4 @@ else
|
|||
sudo rm -rf /var/log/pacat.new.log
|
||||
sudo rm -rf /var/log/qubesdb.new.log
|
||||
fi
|
||||
{{ end -}}
|
||||
|
|
|
@ -266,84 +266,95 @@ print_banner() {
|
|||
printf " \\033[%sm%s OS \\033[0m %s\\n" "$UPDATES_ZERO_COLOR" "" "macOS $(sw_vers -productVersion) / Build $(sw_vers -buildVersion)"
|
||||
printf " \\033[%sm%s UUID \\033[0m %s\\n" "$PODMAN_RUNNING_COLOR" "" "$(ioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}')"
|
||||
printf " \\033[%sm%s LAN IP \\033[0m %s\\n" "$BANNER_KERNEL_COLOR" "ﯱ" "$(ifconfig en0 2>/dev/null | grep 'inet ' | cut -d ' ' -f 2)"
|
||||
IP_ADDR_PUB="$(timeout 1 sh -c 'curl -sSL ifconfig.me')"
|
||||
if [ -n "$IP_ADDR_PUB" ]; then
|
||||
printf " \\033[%sm%s Public IP\\033[0m %s\\n" "$UPDATES_SECURITY_COLOR" "" "$IP_ADDR_PUB"
|
||||
fi
|
||||
### Disabled because it causes slight delay due to server call for public IP
|
||||
# if command -v timeout > /dev/null; then
|
||||
# IP_ADDR_PUB="$(timeout 1 sh -c 'curl -sSL ifconfig.me')"
|
||||
# else
|
||||
# IP_ADDR_PUB="$(sh -c 'curl -sSL ifconfig.me')"
|
||||
# fi
|
||||
# if [ -n "$IP_ADDR_PUB" ]; then
|
||||
# printf " \\033[%sm%s Public IP\\033[0m %s\\n" "$UPDATES_SECURITY_COLOR" "" "$IP_ADDR_PUB"
|
||||
# fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
print_processor() {
|
||||
printf "\\n"
|
||||
printf " \\033[1;37mProcessor:\\033[0m\\n"
|
||||
if [ ! -d /Applications ] && [ ! -d /System ]; then
|
||||
# System is not macOS
|
||||
printf "\\n"
|
||||
printf " \\033[1;37mProcessor:\\033[0m\\n"
|
||||
|
||||
processor_loadavg="$(cut -d " " -f 1,2,3 </proc/loadavg)"
|
||||
if [ "$(echo "$processor_loadavg" | cut -d "." -f 1)" -ge "$PROCESSOR_LOADAVG_CRITICAL_THRESHOLD" ]; then
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_CRITICAL_COLOR"
|
||||
elif [ "$(echo "$processor_loadavg" | cut -d "." -f 1)" -ge "$PROCESSOR_LOADAVG_WARNING_THRESHOLD" ]; then
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_WARNING_COLOR"
|
||||
else
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_HEALTHY_COLOR"
|
||||
fi
|
||||
|
||||
processor_info=$(cat /proc/cpuinfo)
|
||||
|
||||
processor_arch=$(uname -m)
|
||||
|
||||
if [ "$processor_arch" = "x86_64" ]; then
|
||||
processor_model="$(echo "$processor_info" | grep "model name" | sort -u | cut -d ':' -f 2)"
|
||||
processor_count=$(echo "$processor_info" | grep "physical id" | sort -u | wc -l)
|
||||
processor_cores=$(echo "$processor_info" | grep "cpu cores" | sort -u | cut -d ':' -f 2)
|
||||
processor_threads=$(($(echo "$processor_info" | grep "siblings" | tail -n 1 | cut -d ':' -f 2)))
|
||||
|
||||
if [ ! "$processor_cores" -eq $processor_threads ]; then
|
||||
processor_threads=", $processor_threads Threads"
|
||||
processor_loadavg="$(cut -d " " -f 1,2,3 </proc/loadavg)"
|
||||
if [ "$(echo "$processor_loadavg" | cut -d "." -f 1)" -ge "$PROCESSOR_LOADAVG_CRITICAL_THRESHOLD" ]; then
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_CRITICAL_COLOR"
|
||||
elif [ "$(echo "$processor_loadavg" | cut -d "." -f 1)" -ge "$PROCESSOR_LOADAVG_WARNING_THRESHOLD" ]; then
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_WARNING_COLOR"
|
||||
else
|
||||
processor_threads=""
|
||||
processor_loadavg_color="$PROCESSOR_LOADAVG_HEALTHY_COLOR"
|
||||
fi
|
||||
elif [ "$processor_arch" = "mips64" ]; then
|
||||
processor_model="$(echo "$processor_info" | grep "cpu model" | sort -u | cut -d ':' -f 2)"
|
||||
processor_count=$(echo "$processor_info" | grep "package" | sort -u | wc -l)
|
||||
processor_cores=$(echo "$processor_info" | grep -c processor)
|
||||
processor_threads=""
|
||||
else
|
||||
processor_model="?"
|
||||
processor_count=0
|
||||
processor_cores=0
|
||||
processor_threads=0
|
||||
|
||||
processor_info=$(cat /proc/cpuinfo)
|
||||
|
||||
processor_arch=$(uname -m)
|
||||
|
||||
if [ "$processor_arch" = "x86_64" ]; then
|
||||
processor_model="$(echo "$processor_info" | grep "model name" | sort -u | cut -d ':' -f 2)"
|
||||
processor_count=$(echo "$processor_info" | grep "physical id" | sort -u | wc -l)
|
||||
processor_cores=$(echo "$processor_info" | grep "cpu cores" | sort -u | cut -d ':' -f 2)
|
||||
processor_threads=$(($(echo "$processor_info" | grep "siblings" | tail -n 1 | cut -d ':' -f 2)))
|
||||
|
||||
if [ ! "$processor_cores" -eq $processor_threads ]; then
|
||||
processor_threads=", $processor_threads Threads"
|
||||
else
|
||||
processor_threads=""
|
||||
fi
|
||||
elif [ "$processor_arch" = "mips64" ]; then
|
||||
processor_model="$(echo "$processor_info" | grep "cpu model" | sort -u | cut -d ':' -f 2)"
|
||||
processor_count=$(echo "$processor_info" | grep "package" | sort -u | wc -l)
|
||||
processor_cores=$(echo "$processor_info" | grep -c processor)
|
||||
processor_threads=""
|
||||
else
|
||||
processor_model="?"
|
||||
processor_count=0
|
||||
processor_cores=0
|
||||
processor_threads=0
|
||||
fi
|
||||
|
||||
processor_model="${processor_model//\(R\)/}"
|
||||
processor_model="${processor_model//\(tm\)/}"
|
||||
processor_model="${processor_model// @/,}"
|
||||
processor_model="${processor_model// CPU/}"
|
||||
processor_model="${processor_model// / }"
|
||||
# shellcheck disable=SC2001
|
||||
processor_model="$(echo "$processor_model" | sed "s/^ //g")"
|
||||
|
||||
processor_cores=$((processor_cores * processor_count))
|
||||
|
||||
if [ "$processor_count" -gt 1 ]; then
|
||||
processor_count="$processor_count""x "
|
||||
else
|
||||
processor_count=""
|
||||
fi
|
||||
|
||||
printf " %s \\033[%dm%s\\033[0m\\n" "$PROCESSOR_LOADAVG_ICON" "$processor_loadavg_color" "$processor_loadavg"
|
||||
printf " %s %s%s = %s Cores%s\\n" "$PROCESSOR_MODEL_ICON" "$processor_count" "$processor_model" "$processor_cores" "$processor_threads"
|
||||
fi
|
||||
|
||||
processor_model="${processor_model//\(R\)/}"
|
||||
processor_model="${processor_model//\(tm\)/}"
|
||||
processor_model="${processor_model// @/,}"
|
||||
processor_model="${processor_model// CPU/}"
|
||||
processor_model="${processor_model// / }"
|
||||
# shellcheck disable=SC2001
|
||||
processor_model="$(echo "$processor_model" | sed "s/^ //g")"
|
||||
|
||||
processor_cores=$((processor_cores * processor_count))
|
||||
|
||||
if [ "$processor_count" -gt 1 ]; then
|
||||
processor_count="$processor_count""x "
|
||||
else
|
||||
processor_count=""
|
||||
fi
|
||||
|
||||
printf " %s \\033[%dm%s\\033[0m\\n" "$PROCESSOR_LOADAVG_ICON" "$processor_loadavg_color" "$processor_loadavg"
|
||||
printf " %s %s%s = %s Cores%s\\n" "$PROCESSOR_MODEL_ICON" "$processor_count" "$processor_model" "$processor_cores" "$processor_threads"
|
||||
}
|
||||
|
||||
print_memory() {
|
||||
printf "\\n"
|
||||
printf " \\033[1;37mMemory:\\033[0m\\n"
|
||||
if [ ! -d /Applications ] && [ ! -d /System ]; then
|
||||
# System is not macOS
|
||||
printf "\\n"
|
||||
printf " \\033[1;37mMemory:\\033[0m\\n"
|
||||
|
||||
memory_usage=$(LANG=C free --mega | grep "Mem:")
|
||||
memory_total=$(echo "$memory_usage" | awk '{ print $2 }')
|
||||
memory_used=$(echo "$memory_usage" | awk '{ print $3 }')
|
||||
memory_cached=$(echo "$memory_usage" | awk '{ print $6 }')
|
||||
memory_usage=$(LANG=C free --mega | grep "Mem:")
|
||||
memory_total=$(echo "$memory_usage" | awk '{ print $2 }')
|
||||
memory_used=$(echo "$memory_usage" | awk '{ print $3 }')
|
||||
memory_cached=$(echo "$memory_usage" | awk '{ print $6 }')
|
||||
|
||||
generate_bar_memory "$MEMORY_ICON" "$memory_total" "$memory_used" "$memory_cached"
|
||||
generate_bar_memory "$MEMORY_ICON" "$memory_total" "$memory_used" "$memory_cached"
|
||||
fi
|
||||
}
|
||||
|
||||
print_swap() {
|
||||
|
|
|
@ -274,14 +274,14 @@ if command -v antigen > /dev/null; then
|
|||
antigen use oh-my-zsh
|
||||
antigen bundle adb
|
||||
antigen bundle bazel
|
||||
antigen bundle codeclimate
|
||||
antigen bundle codeclimatefd
|
||||
# antigen bundle colored-man-pages
|
||||
antigen bundle command-not-found
|
||||
antigen bundle copybuffer
|
||||
# TODO: Add as an alias available to Bash as well
|
||||
antigen bundle encode64
|
||||
# antigen bundle fd # Added by bash completions script
|
||||
antigen bundle flutter
|
||||
# antigen bundle fd # Added by bash completions scriptx``
|
||||
# antigen bundle flutter /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/plugins/flutter/flutter.plugin.zsh:29: no such file or directory: /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/cache//completions/_flutter
|
||||
# antigen bundle fzf # Added by bash completions script
|
||||
# antigen bundle gcloud # Added by bash completions script
|
||||
antigen bundle gem
|
||||
|
@ -313,7 +313,9 @@ if command -v antigen > /dev/null; then
|
|||
antigen bundle marktext
|
||||
antigen bundle microk8s
|
||||
antigen bundle minikube
|
||||
antigen bundle mongo-atlas
|
||||
# Received error so disabling mongo-atlas
|
||||
# /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/plugins/mongo-atlas/mongo-atlas.plugin.zsh:14: no such file or directory: /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/cache//completions/atlas
|
||||
# antigen bundle mongo-atlas
|
||||
antigen bundle mongocli
|
||||
antigen bundle mosh
|
||||
antigen bundle multipass
|
||||
|
@ -332,17 +334,20 @@ if command -v antigen > /dev/null; then
|
|||
antigen bundle react-native
|
||||
antigen bundle redis-cli
|
||||
antigen bundle ripgrep
|
||||
antigen bundle rust
|
||||
# Received error so disabling rust
|
||||
# /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/plugins/rust/rust.plugin.zsh:22: no such file or directory: /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/cache//completions/_rustup
|
||||
# /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/plugins/rust/rust.plugin.zsh:23: no such file or directory: /Users/bzalewski/.local/antigen/bundles/robbyrussell/oh-my-zsh/cache//completions/_cargo
|
||||
# antigen bundle rust
|
||||
antigen bundle safe-paste
|
||||
antigen bundle sdk
|
||||
# antigen bundle skaffold
|
||||
antigen bundle spring
|
||||
# antigen bundle shell-proxy
|
||||
antigen bundle sprunge
|
||||
# On macOS, parse error 6/13/23 for sprunge
|
||||
# antigen bundle sprunge
|
||||
# antigen bundle ssh-agent
|
||||
antigen bundle sudo
|
||||
antigen bundle terraform
|
||||
antigen bundle thefuck
|
||||
antigen bundle timer
|
||||
antigen bundle tmuxinator
|
||||
antigen bundle urltools
|
||||
|
@ -351,16 +356,20 @@ if command -v antigen > /dev/null; then
|
|||
# antigen bundle volta # Added by bash completions script
|
||||
antigen bundle web-search
|
||||
# antigen bundle wp-cli # Added by bash completions script
|
||||
antigen bundle docker
|
||||
antigen bundle docker-compose
|
||||
antigen bundle yarn
|
||||
|
||||
if [ ! -d /Applications ]; then
|
||||
# Plugins that are troublesome on macOS due to Docker Desktop needing to launch
|
||||
antigen bundle docker
|
||||
antigen bundle docker-compose
|
||||
fi
|
||||
|
||||
# Third-party plugins
|
||||
antigen bundle jscutlery/nx-completion
|
||||
antigen bundle lukechilds/zsh-better-npm-completion
|
||||
# antigen bundle jscutlery/nx-completion Installing jscutlery/nx-completion... Error! Activate logging and try again.
|
||||
# antigen bundle lukechilds/zsh-better-npm-completion
|
||||
|
||||
antigen bundle zsh-interactive-cd
|
||||
# antigen bundle zsh-navigation-tools
|
||||
antigen bundle zsh-navigation-tools
|
||||
antigen bundle zsh-users/zsh-completions src
|
||||
if command -v fzf > /dev/null; then
|
||||
antigen bundle aloxaf/fzf-tab
|
||||
|
@ -369,7 +378,7 @@ if command -v antigen > /dev/null; then
|
|||
antigen bundle zsh-users/zsh-autosuggestions
|
||||
antigen bundle zsh-users/zsh-syntax-highlighting
|
||||
if [ -d /Applications ] && [ -d /System ]; then
|
||||
antigen bundle zsh-apple-touchbar
|
||||
antigen bundle zsh-apple-touchbar
|
||||
fi
|
||||
antigen theme romkatv/powerlevel10k
|
||||
antigen apply
|
||||
|
@ -386,6 +395,11 @@ if command -v zoxide > /dev/null; then
|
|||
zstyle ':autocomplete:recent-dirs' backend zoxide
|
||||
fi
|
||||
|
||||
### Atuin
|
||||
if command -v atuin > /dev/null; then
|
||||
eval "$(atuin init zsh)"
|
||||
fi
|
||||
|
||||
### Cod
|
||||
if command -v cod > /dev/null; then
|
||||
source <(cod init $$ zsh)
|
||||
|
@ -420,11 +434,6 @@ if command -v navi > /dev/null; then
|
|||
eval "$(navi widget zsh)"
|
||||
fi
|
||||
|
||||
### mcfly
|
||||
if command -v mcfly > /dev/null; then
|
||||
eval "$(mcfly init zsh)"
|
||||
fi
|
||||
|
||||
### Fig
|
||||
if [ -f "$HOME/.fig/shell/zshrc.post.zsh" ]; then
|
||||
source "$HOME/.fig/shell/zshrc.post.zsh"
|
||||
|
|
1391
software.yml
1391
software.yml
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue