This commit is contained in:
Brian Zalewski 2023-07-09 08:11:02 +00:00
parent 62544f9123
commit 1bab833011
7 changed files with 52 additions and 39 deletions

View file

@ -194,12 +194,8 @@ data:
github: github:
username: "{{ $githubUsername }}" username: "{{ $githubUsername }}"
gitomatic: gitomatic:
- git: https://github.com/megabyte-labs/install.doctor - git: "{{ default "git@github.com:megabyte-labs/install.doctor.git" (env "START_REPO") }}"
path: $HOME/sources/install.doctor path: /usr/local/src/install.doctor
- git: https://github.com/megabyte-labs/install.doctor-docs
path: $HOME/sources/install.doctor-docs
- git: https://github.com/megabyte-labs/install.doctor-site
path: $HOME/sources/install.doctor-site
gmail: gmail:
username: "{{ $gmailAddress }}" username: "{{ $gmailAddress }}"
gpg: gpg:

View file

@ -172,9 +172,9 @@ if command -v warp-cli > /dev/null; then
### Google Cloud SDK ### Google Cloud SDK
if command -v gcloud > /dev/null; then if command -v gcloud > /dev/null; then
logg info "Configuring gcloud to use "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" and "${XDG_DATA_HOME:-$HOME/.local/share}/curl/cacert.pem"" logg info "Configuring gcloud to use "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" and "${XDG_DATA_HOME:-$HOME/.local/share}/curl/cacert.pem""
mkdir -p "${XDG_DATA_HOME:$HOME/.local/share}/gcloud" mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/gcloud"
cat cacert.pem "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" > "${XDG_DATA_HOME:$HOME/.local/share}/gcloud/ca.pem" cat cacert.pem "${XDG_DATA_HOME:-$HOME/.local/share}/warp/Cloudflare_CA.pem" > "${XDG_DATA_HOME:-$HOME/.local/share}/gcloud/ca.pem"
gcloud config set core/custom_ca_certs_file "${XDG_DATA_HOME:$HOME/.local/share}/gcloud/ca.pem" gcloud config set core/custom_ca_certs_file "${XDG_DATA_HOME:-$HOME/.local/share}/gcloud/ca.pem"
fi fi
### Google Drive for desktop (macOS) ### Google Drive for desktop (macOS)

View file

@ -4,10 +4,10 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>Label</key> <key>Label</key>
<string>com.gitomatic</string> <string>gitomatic</string>
<key>Program</key> <key>Program</key>
<string>{{ .chezmoi.homeDir }}/.local/bin/gitomatic_service</string> <string>{{ .chezmoi.homeDir }}/.local/bin/gitomatic-service</string>
<key>RunAtLoad</key> <key>RunAtLoad</key>
</dict> </dict>
</plist> </plist>
{{ end }} {{- end }}

View file

@ -4,7 +4,8 @@ Description=Service to watch git repositories
[Service] [Service]
Type=simple Type=simple
ExecStart={{ .chezmoi.homeDir }}/.local/bin/gitomatic_service User={{ .user.username }}
ExecStart={{ .chezmoi.homeDir }}/.local/bin/gitomatic-service
Restart=on-failure Restart=on-failure
[Install] [Install]

View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
# @file .local/bin/gitomatic-service
# @brief Helper script to run gitomatic to monitor git repositories
# @description
# This script is executed by gitomatic systemd service. `gitomatic` does not support monitoring multiple
# repositories in a single process. This script starts as many gitomatic processes as there are repositories.
#
# This feature allows you to specify git repositories and corresponding paths to keep in-sync, using both git
# push and pull.
#
# ## Links
#
# [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl)
{{ includeTemplate "universal/profile" }}
{{ includeTemplate "universal/logg" }}
if command -v gitomatic > /dev/null; then
for IM in $(yq eval -o=j "${XDG_CONFIG_HOME:-$HOME/.config}/chezmoi/chezmoi.yaml" | jq -cr '.data.user.gitomatic[]'); do
GIT="$(echo $IM | jq -r '.git' -)"
GIT_PATH="$(echo $IM | jq -r '.path' -)"
if [ ! -d "$GIT_PATH" ]; then
git clone "$GIT" "$GIT_PATH"
fi
cd "$GIT_PATH"
gitomatic -email "$(git config user.email)" "$GIT_PATH" &
done
else
logg error '`gitomatic` should be installed!' && exit 1
fi

View file

@ -1,17 +0,0 @@
#!/usr/bin/env bash
# @file .local/bin/gitomatic_service
# @brief Helper script to run gitomatic to monitor git repositories
# @description
# This script is executed by gitomatic systemd service. `gitomatic` does not support monitoring multiple
# repositories in a single process. This script starts as many gitomatic processes as there are repositories.
#
# ## Links
#
# [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl)
{{ includeTemplate "universal/logg" }}
{{ range .data.user.gitomatic }}
gitomatic -author {{ $.data.user.name }} -email {{ $.data.user.email }} -privkey {{ $.chezmoi.homeDir }}/.ssh/id_rsa {{ .path }} &
{{ end -}}

View file

@ -6191,7 +6191,7 @@ softwarePackages:
sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules
sudo udevadm control --reload-rules sudo udevadm control --reload-rules
sudo udevadm trigger sudo udevadm trigger
_when:script:darwin: test -d "/Applications/OnlyKey App.app" _when:script:darwin: '! test -d "/Applications/OnlyKey App.app"'
ansible:darwin: professormanhattan.onlykey ansible:darwin: professormanhattan.onlykey
script:darwin: cd /tmp && curl -sSL https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.3.6/OnlyKey.App.5.3.6.dmg > OnlyKey.dmg && hdiutil attach "/tmp/OnlyKey.dmg" && sudo cp -R "/Volumes/OnlyKey App/OnlyKey App.app" /Applications && sudo hdiutil detach "/Volumes/OnlyKey App" && rm -f "/tmp/OnlyKey.dmg" script:darwin: cd /tmp && curl -sSL https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.3.6/OnlyKey.App.5.3.6.dmg > OnlyKey.dmg && hdiutil attach "/tmp/OnlyKey.dmg" && sudo cp -R "/Volumes/OnlyKey App/OnlyKey App.app" /Applications && sudo hdiutil detach "/Volumes/OnlyKey App" && rm -f "/tmp/OnlyKey.dmg"
choco: onlykey choco: onlykey
@ -9932,7 +9932,7 @@ softwarePlugins:
plugins: plugins:
- deployer/deployer - deployer/deployer
docker: docker:
cmd: bash -c 'docker extension install {PLUGIN}' cmd: bash -c 'if ! docker extension list | grep {PLUGIN} > /dev/null; then echo y | docker extension install {PLUGIN}; fi'
plugins: plugins:
- docker/disk-usage-extension - docker/disk-usage-extension
- docker/logs-explorer-extension - docker/logs-explorer-extension
@ -9949,12 +9949,12 @@ softwarePlugins:
plugins: plugins:
- docker.io/nginx/unit - docker.io/nginx/unit
dotnet: dotnet:
cmd: dotnet tool install -g {PLUGIN} cmd: bash -c 'if dotnet tool list -g | grep {PLUGIN} > /dev/null; then dotnet tool install -g {PLUGIN}; fi'
plugins: plugins:
- Microsoft.CST.AttackSurfaceAnalyzer.CLI - microsoft.cst.attacksurfaceanalyzer.cli
- dotnet-format - dotnet-format
gcloud: gcloud:
cmd: bash -c 'gcloud components install {PLUGIN}' cmd: bash -c 'if ! gcloud components list | grep 'Installed.*{PLUGIN}' > /dev/null; then gcloud components install {PLUGIN}; fi'
plugins: plugins:
- app-engine-go - app-engine-go
- cloud-datastore-emulator - cloud-datastore-emulator
@ -9970,7 +9970,7 @@ softwarePlugins:
- terraform-tools - terraform-tools
update: gcloud components update update: gcloud components update
gh: gh:
cmd: bash -c 'if [ -n "$GITHUB_TOKEN" ] && ! gh extension list | grep {PLUGIN}; then gh extension install {PLUGIN}; fi' cmd: bash -c 'if [ -n "$GITHUB_TOKEN" ] && ! gh extension list | grep {PLUGIN} > /dev/null; then gh extension install {PLUGIN}; fi'
plugins: plugins:
- abdfnx/gh-tran - abdfnx/gh-tran
- dlvhdr/gh-dash - dlvhdr/gh-dash
@ -10005,7 +10005,7 @@ softwarePlugins:
- https://www.raycast.com/abielzulio/chatgpt - https://www.raycast.com/abielzulio/chatgpt
- https://www.raycast.com/BalliAsghar/mailsy - https://www.raycast.com/BalliAsghar/mailsy
steampipe: steampipe:
cmd: steampipe plugin install {PLUGIN} cmd: bash -c 'if [ ! -f /tmp/steampipe-plugin-list ]; then steampipe plugin list > /tmp/steampipe-plugin-list; fi && if ! cat /tmp/steampipe-plugin-list | grep {PLUGIN} > /dev/null; then steampipe plugin install {PLUGIN}; fi'
plugins: plugins:
- algolia - algolia
- aws - aws
@ -10069,10 +10069,12 @@ softwarePlugins:
- vagrant-google - vagrant-google
- vagrant-hostmanager - vagrant-hostmanager
- vagrant-libvirt - vagrant-libvirt
# Dependency issues
# - vagrant-openstack-provider # - vagrant-openstack-provider
- vagrant-openstack # - vagrant-openstack
- vagrant-parallels - vagrant-parallels
- vagrant-proxmox # Dependency issue
# - vagrant-proxmox
- vagrant-share - vagrant-share
- vagrant-vbguest - vagrant-vbguest
- vagrant-vmware-desktop - vagrant-vmware-desktop