diff --git a/dotfiles/.local/share/chezmoi/.chezmoi.toml.tmpl b/dotfiles/.local/share/chezmoi/.chezmoi.toml.tmpl index 5b6dc0a4..f3b4b5d3 100644 --- a/dotfiles/.local/share/chezmoi/.chezmoi.toml.tmpl +++ b/dotfiles/.local/share/chezmoi/.chezmoi.toml.tmpl @@ -4,6 +4,8 @@ {{- $name := promptStringOnce . "name" "Full name" -}} {{- $gmailAddress := promptStringOnce "Gmail address" -}} {{- $gmailAddressAppPassword := promptStringOnce "Gmail app password" -}} +{{- $ngrokAuthToken := promptStringOnce "Ngrok authentication token" -}} +{{- $slackApiToken := promptStringOnce "Slack API token" -}} {{- end }} sourceDir = {{ .chezmoi.sourceDir | quote }} @@ -20,6 +22,11 @@ sourceDir = {{ .chezmoi.sourceDir | quote }} gmailAddress = {{ $gmailAddress | quote }} gmailAddressAppPassword = {{ $gmailAddressAppPassword | quote }} name = {{ $name | quote }} + GITHUB_TOKEN = {{ $githubToken | quote }} + GITLAB_TOKEN = {{ $gitlabToken | quote }} + NGROK_AUTH_TOKEN = {{ $ngrokAuthToken | quote }} + SLACK_API_TOKEN = {{ $slackApiToken | quote }} + TABBY_SYNC_TOKEN = "196a3118cc7be31cd13d2862d7e33c122357fd9fa36c2f149e8b018b82c260ab6b72169f4c411a6bedd2b8b4124c3540daa57778f20a28cfe2c797776f9a616c" {{- end }} [diff] diff --git a/dotfiles/.local/share/chezmoi/.chezmoidata.yaml b/dotfiles/.local/share/chezmoi/.chezmoidata.yaml index 34e0cc3e..286f99ae 100644 --- a/dotfiles/.local/share/chezmoi/.chezmoidata.yaml +++ b/dotfiles/.local/share/chezmoi/.chezmoidata.yaml @@ -1,5 +1,5 @@ --- -preference: +installerPreference: - flatpak - snap - whalebrew @@ -25,7 +25,7 @@ preference: - appimage - binary -alternatives: +installerMap: altair: cask: altair-graphql-client choco: altair-graphql @@ -193,7 +193,7 @@ alternatives: dnf: wget whalebrew: whalebrew/wget -postinstall: +installerPostInstallScripts: astronvim: | nvim --headless -c 'autocmd User PackerComplete quitall' bottom: @@ -222,7 +222,7 @@ postinstall: volta setup volta install node@latest -plugins: +softwarePlugins: vim: - https://github.com/dense-analysis/ale.git - https://github.com/pearofducks/ansible-vim.git diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl index 39c0456e..a43a12d9 100644 --- a/dotfiles/.local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl +++ b/dotfiles/.local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl @@ -6,7 +6,7 @@ # Which provider to clone from (github, gitlab, gitea or bitbucket) # default: github # flag (--scm, -s) eg: --scm=gitlab -GHORG_SCM_TYPE: github +GHORG_SCM_TYPE: gitlab # How you'd like to clone the repos (https or ssh) # default: https @@ -18,13 +18,13 @@ GHORG_CLONE_PROTOCOL: https # See https://github.com/gabrie30/ghorg#changing-clone-directories for example # default: YOUR_HOME_DIR/ghorg # flag (--path, -p) eg: --path=/tmp/ghorg -GHORG_ABSOLUTE_PATH_TO_CLONE_TO: +GHORG_ABSOLUTE_PATH_TO_CLONE_TO: /srv/repos # Folder ghorg will clone all repos into. Cloning will result in: GHORG_ABSOLUTE_PATH_TO_CLONE_TO/GHORG_OUTPUT_DIR/repo # See https://github.com/gabrie30/ghorg#changing-clone-directories for example # default: org/user you are cloning, e.g. 'ghorg clone kubernetes' would create a kubernetes directory inside your ghorg directory # flag (--output-dir) eg: --output-dir=testing -GHORG_OUTPUT_DIR: +GHORG_OUTPUT_DIR: megabyte-labs # Type of entity to clone (user or org) # flag (--clone-type, -c) eg: --clone-type=user @@ -38,31 +38,31 @@ GHORG_SCM_BASE_URL: # Include submodules in all clone and pull operations. # flag (--include-submodules) -GHORG_INCLUDE_SUBMODULES: false +GHORG_INCLUDE_SUBMODULES: true # Allows you to pass arguments to git's filter flag e.g. git clone --filter= this requires git version 2.19 or greater. # Useful for filtering out binary objects from repos # Few caveats, only works on inital clones, however if done on inital clone all subsequent clones will also honor the settings. # More info at https://stackoverflow.com/questions/49917616/what-is-the-git-clone-filter-options-syntax # flag (--git-filter) eg: --git-filter=blob:none -GHORG_GIT_FILTER: +# GHORG_GIT_FILTER: # Deletes all files/directories found in your local clone directory that are not found on the remote (e.g., after remote deletion). With GHORG_SKIP_ARCHIVED set, archived repositories will also be pruned from your local clone. # Will prompt before deleting any files unless used in combination with --prune-no-confirm # flag (--prune) -GHORG_PRUNE: false +GHORG_PRUNE: true # Skip interactive y/n prompt when pruning clones (can only be used in combination with --prune). # flag (--prune-no-confirm) -GHORG_PRUNE_NO_CONFIRM: false +GHORG_PRUNE_NO_CONFIRM: true # Color output (enabled, disabled) # flag (--color) eg: --color=disabled -GHORG_COLOR: disabled +GHORG_COLOR: enabled # Skip archived repos, currently github/gitlab/gitea only # flag (--skip-archived) -GHORG_SKIP_ARCHIVED: false +GHORG_SKIP_ARCHIVED: true # Skip repos that are forks, currently github/gitlab/gitea only # flag (--skip-forks) @@ -70,7 +70,7 @@ GHORG_SKIP_FORKS: false # Backup mode, clone as mirror, no working copy (ignores branch parameter) # flag (--backup) -GHORG_BACKUP: false +GHORG_BACKUP: true # Max goroutines created while cloning # flag (--concurrency) @@ -79,23 +79,23 @@ GHORG_CONCURRENCY: 25 # A comma separated list of topics to filter by, currently github/gitlab/gitea only # flag (--topics) eg: --topics=frontend # If any topics exist here, ghorg will only clone repos that match at least one of these topics -GHORG_TOPICS: +# GHORG_TOPICS: # Only clone repos with matching prefix, can be a comma separated list # flag (--match-prefix) eg: --match-prefix=backend -GHORG_MATCH_PREFIX: +# GHORG_MATCH_PREFIX: # Exclude cloning repos with matching prefix, can be a comma separated list # flag (--exclude-match-prefix) eg: --exclude-match-prefix=backend -GHORG_EXCLUDE_MATCH_PREFIX: +# GHORG_EXCLUDE_MATCH_PREFIX: # Only clone repos that match name to regex provided # flag (--match-regex) eg: --match-regex=^foo -GHORG_MATCH_REGEX: +# GHORG_MATCH_REGEX: # Exclude cloning repos that match name to regex provided # flag (--exclude-match-regex) eg: --exclude-match-regex=^foo -GHORG_EXCLUDE_MATCH_REGEX: +# GHORG_EXCLUDE_MATCH_REGEX: # Only clones new repos and does not perform a git clean on existing repos. Useful if you don't want to lose changes made to repos in the org/user directory. # flag (--no-clean) @@ -111,7 +111,7 @@ GHORG_FETCH_ALL: false # If you want to set a path other than $HOME/.config/ghorg/ghorgignore for your ghorgignore # flag (--ghorgignore-path) -GHORG_IGNORE_PATH: +# GHORG_IGNORE_PATH: # Only emit critical output. # flag (--quiet) @@ -125,7 +125,7 @@ GHORG_DRY_RUN: false # default: default branch # NOTE: if no default branch is found on the repo, will fallback to using master # flag (--branch, -b) eg: --branch=develop -GHORG_BRANCH: +# GHORG_BRANCH: # Allows you to control the exit code when ghorg runs into a problem (info level message) cloning a repo from the remote. # Info messages will appear after a clone is complete, similar to success messages @@ -149,7 +149,7 @@ GHORG_EXIT_CODE_ON_CLONE_ISSUES: 1 # Add your GitHub token # flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITHUB_TOKEN: +GHORG_GITHUB_TOKEN: {{ .user.GITHUB_TOKEN }} # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ # |G|I|T|L|A|B| |S|P|E|C|I|F|I|C| @@ -157,7 +157,7 @@ GHORG_GITHUB_TOKEN: # Add your GitLab token # flag (--token, -t) eg: --token=bGVhdmUgYSBjb21tZW50IG9uIGlzc3VlIDY2 -GHORG_GITLAB_TOKEN: +GHORG_GITLAB_TOKEN: {{ .user.GITLAB_TOKEN }} # clones repos in a directory structure that matches gitlab namespaces eg company/unit/subunit/app would clone into ghorg/org/unit/subunit/app # flag (--preserve-dir) diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/himalaya/config.toml.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/himalaya/config.toml.tmpl.TODO similarity index 100% rename from dotfiles/.local/share/chezmoi/home/private_dot_config/himalaya/config.toml.tmpl rename to dotfiles/.local/share/chezmoi/home/private_dot_config/himalaya/config.toml.tmpl.TODO diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl index 63816db3..00a1c38c 100644 --- a/dotfiles/.local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl +++ b/dotfiles/.local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl @@ -1,3 +1,2 @@ --- -# TODO -#authtoken: '{{ .Env.NGROK_AUTH_TOKEN }}' +authtoken: '{{ .user.NGROK_AUTH_TOKEN }}' diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO similarity index 100% rename from dotfiles/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl rename to dotfiles/.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/powershell/user_profile.ps1 b/dotfiles/.local/share/chezmoi/home/private_dot_config/powershell/user_profile.ps1.TODO similarity index 100% rename from dotfiles/.local/share/chezmoi/home/private_dot_config/powershell/user_profile.ps1 rename to dotfiles/.local/share/chezmoi/home/private_dot_config/powershell/user_profile.ps1.TODO diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl.TODO similarity index 100% rename from dotfiles/.local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl rename to dotfiles/.local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl.TODO diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl index 896aa59b..137d897f 100644 --- a/dotfiles/.local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl +++ b/dotfiles/.local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl @@ -1,5 +1,5 @@ { - "slack_token": "yourslacktokenhere", + "slack_token": "{{ .user.SLACK_API_TOKEN }}", // OPTIONAL: set the width of the sidebar (between 1 and 11), default is 1 "sidebar_width": 1, diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl b/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl index 2288dce0..b33ba752 100644 --- a/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl +++ b/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl @@ -224,7 +224,7 @@ vault: configSync: parts: {} token: >- - 196a3118cc7be31cd13d2862d7e33c122357fd9fa36c2f149e8b018b82c260ab6b72169f4c411a6bedd2b8b4124c3540daa57778f20a28cfe2c797776f9a616c + {{ .user.tabbySyncToken }} configID: 15899 auto: true workspaceManager: {} diff --git a/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/package-lock.json b/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/package-lock.json deleted file mode 100644 index e7dd48be..00000000 --- a/dotfiles/.local/share/chezmoi/home/private_dot_config/tabby/package-lock.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "crypto-js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", - "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" - }, - "tabby-docker": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/tabby-docker/-/tabby-docker-0.2.0.tgz", - "integrity": "sha512-kEDZI33Xt7NnncPDhhbqREP809YevCnoVRYhzACvAkteODWorABCoKEuOrfi2I3DDwCHcMk0+fM0nCWy5C/JVg==" - }, - "tabby-save-output": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tabby-save-output/-/tabby-save-output-3.1.0.tgz", - "integrity": "sha512-4mGxpYSaeBzU8TkOrZudPmT3/YkT9fGXCesBp2XO9iql+2EELzkPLJUntlGYSBH0RQVRDYnl+IF8F65WPaaSxQ==" - }, - "tabby-search-in-browser": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tabby-search-in-browser/-/tabby-search-in-browser-0.0.1.tgz", - "integrity": "sha512-jb5UINTXBN6UR0xi+LWs7KdnE5qRV++ogy9lmkIJ9dDbBbVe7d6HKxneZcQVjQLjG+UYJNl/nElh8DPzFPMTSg==" - }, - "tabby-workspace-manager": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/tabby-workspace-manager/-/tabby-workspace-manager-0.0.4.tgz", - "integrity": "sha512-O3etFcZxw68ZieS1q8VM01IW0M+rMyyBJpghYhz7WtNyckxfO/ir4AuXfb/kFz9ozOmI33/ff3UMY8yJjIJ6qw==" - }, - "terminus-elastic-quick-cmds": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/terminus-elastic-quick-cmds/-/terminus-elastic-quick-cmds-1.1.1.tgz", - "integrity": "sha512-PDWQ5MKs8UuPE1O/Nk63RSz661big/uuWWaRIZFSYfdqvrUWK186xNcUFioBWOnyNVvdLI4H+mxektmW2TnHrA==" - } - } -} diff --git a/dotfiles/.local/share/chezmoi/run_once_provision b/dotfiles/.local/share/chezmoi/run_once_provision new file mode 100644 index 00000000..eeb2a34d --- /dev/null +++ b/dotfiles/.local/share/chezmoi/run_once_provision @@ -0,0 +1,41 @@ +#!/usr/bin/env zx +# Examples of /etc/os-release values https://gist.github.com/natefoo/814c5bf936922dad97ff + +{{ $packageMap := (get .installerMap $packageName) }} +{{ if (hasKey $packageMap "_deps") }} +{{ $deps := (get $packageMap "_deps") }} +{{ }} +{{ end }} + +{{ if (eq .chezmoi.os "windows") }} +{{ $managers := (list "whalebrew" "choco" "scoop" "winget" "go" "cargo" "npm" "pipx" "gem" "binary") }} + +{{ else if (eq .chezmoi.os "darwin") }} +{{ $managers := (list "whalebrew" "brew" "port" "go" "cargo" "npm" "pipx" "gem" "cask" "binary") }} + +{{ else if (eq .chezmoi.os "freebsd") }} +{{ $managers := (list "whalebrew" "pkg" "go" "cargo" "npm" "gem") }} + +{{ else if (eq .chezmoi.os "android") }} +{{ $managers := (list "apk") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "arch") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "pacman" "brew" "yay" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "centos") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "dnf" "brew" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "debian") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "apt" "brew" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "fedora") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "dnf" "brew" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "opensuse") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "zypper" "brew" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ else if (eq .chezmoi.os "linux") and (eq .chezmoi.osRelease "ubuntu") }} +{{ $managers := (list "flatpak" "snap" "whalebrew" "apt" "brew" "go" "cargo" "npm" "pipx" "gem" "appimage" "binary") }} + +{{ end }} +