install.fairie/home/dot_local/bin/executable_provision.tmpl

267 lines
11 KiB
Cheetah
Raw Normal View History

#!/usr/bin/env bash
# @file .local/bin/provision
# @brief Installs dependencies, clones the Hiawatha Dotfiles repository, and then starts Chezmoi
# @description
# This script ensures Chezmoi, Glow, and Gum are installed. It also includes logging functions for styled logging.
# After dependencies are installed, it adds the necessary files from https://gitlab.com/megabyte-labs/hiawatha-dotfiles.git into
# ~/.local/share/chezmoi. Finally, it begins the TUI experience by displaying styled documentation, prompts, and finishes
# by calling the appropriate Chezmoi commands.
{{ includeTemplate "universal/logg" }}
### Ensure ~/.local/share/megabyte-labs is a directory
if [ ! -d "${XDG_DATA_DIR:-$HOME/.local/share}/megabyte-labs" ]; then
mkdir -p "${XDG_DATA_DIR:-$HOME/.local/share}/megabyte-labs"
fi
### Qubes dom0
if command -v qubesctl > /dev/null; then
# The VM name that will manage the Ansible provisioning (for Qubes dom0)
ANSIBLE_PROVISION_VM="provision"
# Ensure sys-whonix is configured (for Qubes dom0)
CONFIG_WIZARD_COUNT=0
function configureWizard() {
if xwininfo -root -tree | grep "Anon Connection Wizard"; then
WINDOW_ID="$(xwininfo -root -tree | grep "Anon Connection Wizard" | sed 's/^ *\([^ ]*\) .*/\1/')"
xdotool windowactivate "$WINDOW_ID" && sleep 1 && xdotool key 'Enter' && sleep 1 && xdotool key 'Tab Tab Enter' && sleep 24 && xdotool windowactivate "$WINDOW_ID" && sleep 1 && xdotool key 'Enter' && sleep 300
qvm-shutdown --wait sys-whonix
sleep 3
qvm-start sys-whonix
if xwininfo -root -tree | grep "systemcheck | Whonix" > /dev/null; then
2022-12-24 21:03:35 -08:00
WINDOW_ID_SYS_CHECK="$(xwininfo -root -tree | grep "systemcheck | Whonix" | sed 's/^ *\([^ ]*\) .*/\1/')"
if xdotool windowactivate "$WINDOW_ID_SYS_CHECK"; then
sleep 1
xdotool key 'Enter'
fi
fi
else
sleep 3
CONFIG_WIZARD_COUNT=$((CONFIG_WIZARD_COUNT + 1))
if [[ "$CONFIG_WIZARD_COUNT" == '4' ]]; then
echo "The sys-whonix anon-connection-wizard utility did not open."
else
echo "Checking for anon-connection-wizard again.."
configureWizard
fi
fi
}
### Ensure dom0 is updated
if [ ! -f /root/dom0-updated ]; then
sudo qubesctl --show-output state.sls update.qubes-dom0
sudo qubes-dom0-update --clean -y
touch /root/dom0-updated
fi
### Ensure sys-whonix is running
if ! qvm-check --running sys-whonix; then
qvm-start sys-whonix --skip-if-running
configureWizard > /dev/null
fi
### Ensure TemplateVMs are updated
if [ ! -f /root/templatevms-updated ]; then
# timeout of 10 minutes is added here because the whonix-gw VM does not like to get updated
# with this method. Anyone know how to fix this?
2022-12-24 21:03:35 -08:00
sudo timeout 600 qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm &> /dev/null || true
while read -r RESTART_VM; do
qvm-shutdown --wait "$RESTART_VM"
done< <(qvm-ls --all --no-spinner --fields=name,state | grep Running | grep -v sys-net | grep -v sys-firewall | grep -v sys-whonix | grep -v dom0 | awk '{print $1}')
sudo touch /root/templatevms-updated
fi
### Ensure provisioning VM can run commands on any VM
echo "/bin/bash" | sudo tee /etc/qubes-rpc/qubes.VMShell
sudo chmod 755 /etc/qubes-rpc/qubes.VMShell
echo "$ANSIBLE_PROVISION_VM"' dom0 allow' | sudo tee /etc/qubes-rpc/policy/qubes.VMShell
2022-12-24 21:03:35 -08:00
# shellcheck disable=SC2016
echo "$ANSIBLE_PROVISION_VM"' $anyvm allow' | sudo tee -a /etc/qubes-rpc/policy/qubes.VMShell
sudo chown "$(whoami):$(whoami)" /etc/qubes-rpc/policy/qubes.VMShell
sudo chmod 644 /etc/qubes-rpc/policy/qubes.VMShell
### Create provisioning VM and initialize the provisioning process from there
2022-12-24 21:03:35 -08:00
qvm-create --label red --template debian-11 "$ANSIBLE_PROVISION_VM" &> /dev/null || true
qvm-volume extend "$ANSIBLE_PROVISION_VM:private" "40G"
if [ -f ~/.vaultpass ]; then
qvm-run "$ANSIBLE_PROVISION_VM" 'rm -f ~/QubesIncoming/dom0/.vaultpass'
qvm-copy-to-vm "$ANSIBLE_PROVISION_VM" ~/.vaultpass
qvm-run "$ANSIBLE_PROVISION_VM" 'cp ~/QubesIncoming/dom0/.vaultpass ~/.vaultpass'
fi
qvm-run --pass-io "$ANSIBLE_PROVISION_VM" 'curl -sSL https://install.doctor/start > ~/start.sh && bash ~/start.sh'
exit 0
fi
### Source Homebrew if it installed but not in PATH
if ! command -v brew > /dev/null && [ -f /home/linuxbrew/.linuxbrew/bin/brew ]; then
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
fi
### System package manager update / Homebrew dependencies
if ! command -v curl > /dev/null || ! command -v git > /dev/null || ! command -v brew > /dev/null || ! command -v rsync > /dev/null || ! command -v unbuffer > /dev/null; then
2022-12-24 21:03:35 -08:00
# shellcheck disable=SC2016
logg info 'Ensuring `curl`, `expect`, `git`, and `rsync` are installed via the system package manager'
if command -v apt-get > /dev/null; then
# Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y build-essential curl expect git rsync
elif command -v dnf > /dev/null; then
# Fedora
sudo dnf install -y curl expect git rsync
elif command -v yum > /dev/null; then
# CentOS
sudo yum install -y curl expect git rsync
elif command -v pacman > /dev/null; then
# Archlinux
sudo pacman update
sudo pacman -Sy curl expect git rsync
elif command -v zypper > /dev/null; then
# OpenSUSE
sudo zypper install -y curl expect git rsync
elif command -v apk > /dev/null; then
# Alpine
apk add curl expect git rsync
elif [ -d /Applications ] && [ -d /Library ]; then
# macOS
sudo xcode-select -p >/dev/null 2>&1 || xcode-select --install
elif command -v nix-env > /dev/null; then
# NixOS
echo "TODO - Add support for NixOS"
elif [[ "$OSTYPE" == 'freebsd'* ]]; then
# FreeBSD
echo "TODO - Add support for FreeBSD"
elif command -v pkg > /dev/null; then
# Termux
echo "TODO - Add support for Termux"
elif command -v xbps-install > /dev/null; then
# Void
echo "TODO - Add support for Void"
elif [[ "$OSTYPE" == 'cygwin' ]] || [[ "$OSTYPE" == 'msys' ]] || [[ "$OSTYPE" == 'win32' ]]; then
# Windows
choco install -y curl expect git node rsync
fi
fi
### Install Homebrew
ensurePackageManagerHomebrew() {
if ! command -v brew > /dev/null; then
logg info 'Installing Homebrew'
if command -v sudo > /dev/null && sudo -n true; then
echo | bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
if [ -f /home/linuxbrew/.linuxbrew/bin/brew ]; then
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
brew install gcc
fi
else
logg info 'Looks like the user does not have passwordless sudo privileges. A sudo password may be required.'
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" || BREW_EXIT_CODE="$?"
if [ -f /home/linuxbrew/.linuxbrew/bin/brew ]; then
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
brew install gcc
fi
if [ -n "$BREW_EXIT_CODE" ]; then
if command -v brew > /dev/null; then
logg warn 'Homebrew was installed but part of the installation failed. Attempting to fix..'
BREW_DIRS="share/man share/doc share/zsh/site-functions etc/bash_completion.d"
for BREW_DIR in $BREW_DIRS; do
if [ -d "$(brew --prefix)/$BREW_DIR" ]; then
sudo chown -R "$(whoami)" "$(brew --prefix)/$BREW_DIR"
fi
done
brew update --force --quiet
fi
fi
fi
fi
}
ensurePackageManagerHomebrew
### Install installer dependencies via Homebrew
installBrewPackage() {
if ! command -v "$1" > /dev/null; then
logg 'Installing `'"$1"'`'
brew install "$1"
fi
}
if command -v brew > /dev/null; then
installBrewPackage chezmoi
installBrewPackage glow
installBrewPackage gum
installBrewPackage node
installBrewPackage zx
else
logg error 'Homebrew is not available in the PATH' && exit 1
fi
### Ensure source files are present
logg 'Ensuring /usr/local/src/hiawatha is owned by the user'
if [ -d /usr/local/src/hiawatha ] && [ ! -w /usr/local/src/hiawatha ]; then
sudo chown -Rf "$USER":"$(id -g -n)" /usr/local/src/hiawatha
fi
if [ -d /usr/local/src/hiawatha/.git ]; then
logg info 'Pulling the latest changes from https://gitlab.com/megabyte-labs/hiawatha-dotfiles.git to /usr/local/src/hiawatha'
2022-12-24 21:03:35 -08:00
cd /usr/local/src/hiawatha || exit 1
git config pull.rebase false
git reset --hard HEAD
git clean -fxd
git pull origin master
else
logg info 'Cloning https://gitlab.com/megabyte-labs/hiawatha-dotfiles.git to /usr/local/src/hiawatha'
rm -rf /usr/local/src/hiawatha
sudo git clone https://gitlab.com/megabyte-labs/hiawatha-dotfiles.git /usr/local/src/hiawatha
chown -Rf "$USER":"$(id -g -n)" /usr/local/src/hiawatha
fi
Update 748 files - /.local/assets/Betelgeuse.macOS.terminal - /.local/bin/bwc - /.local/bin/fonttest - /.local/bin/install-dotfiles - /.local/bin/install-gnome-extensions - /.local/bin/install-program - /.local/bin/install-terminal-theme - /.local/bin/ksetwallpaper - /.local/bin/load-secrets - /.local/bin/logg - /.local/bin/open - /.local/bin/provision - /.local/bin/ramqube - /.local/bin/run - /.local/bin/slack - /.local/bin/squash-symlink - /.local/delta/themes.gitconfig - /.local/konsole/Default.profile - /.local/scripts/motd.bash - /.local/scripts/p10k.zsh - /.local/theme/Betelgeuse.macOS.terminal - /.local/theme/background.jpg - /.local/vagrant.d/.gitkeep - /.local/share/bash-completion/completions/deno.bash - /.local/share/bash-completion/completions/direnv.bash - /.local/share/bash-completion/completions/fig.bash - /.local/share/bash-completion/completions/fzf-key-bindings.bash - /.local/share/bash-completion/completions/fzf.bash - /.local/share/bash-completion/completions/gcloud.bash - /.local/share/bash-completion/completions/gh.bash - /.local/share/bash-completion/completions/googler.bash - /.local/share/bash-completion/completions/gradle.bash - /.local/share/bash-completion/completions/helm.bash - /.local/share/bash-completion/completions/hyperfine.bash - /.local/share/bash-completion/completions/kubectl.bash - /.local/share/bash-completion/completions/mcfly.bash - /.local/share/bash-completion/completions/nb.bash - /.local/share/bash-completion/completions/nnn.bash - /.local/share/bash-completion/completions/poetry.bash - /.local/share/bash-completion/completions/volta.bash - /.local/share/bash-completion/completions/wp.bash - /.local/share/bash-completion/completions/zoxide.bash - /.local/share/bash-completion/generate.sh - /.local/share/fonts/FontAwesome.ttf - /.local/share/fonts/Hack Bold Italic Nerd Font Complete Mono Windows Compatible.ttf - /.local/share/fonts/Hack Bold Italic Nerd Font Complete Mono.ttf - /.local/share/fonts/Hack Bold Italic Nerd Font Complete Windows Compatible.ttf - /.local/share/fonts/Hack Bold Italic Nerd Font Complete.ttf - /.local/share/fonts/Hack Bold Nerd Font Complete Mono Windows Compatible.ttf - /.local/share/fonts/Hack Bold Nerd Font Complete Mono.ttf - /.local/share/fonts/Hack Bold Nerd Font Complete Windows Compatible.ttf - /.local/share/fonts/Hack Bold Nerd Font Complete.ttf - /.local/share/fonts/Hack Italic Nerd Font Complete Mono Windows Compatible.ttf - /.local/share/fonts/Hack Italic Nerd Font Complete Mono.ttf - /.local/share/fonts/Hack Italic Nerd Font Complete Windows Compatible.ttf - /.local/share/fonts/Hack Italic Nerd Font Complete.ttf - /.local/share/fonts/Hack Regular Nerd Font Complete Mono Windows Compatible.ttf - /.local/share/fonts/Hack Regular Nerd Font Complete Mono.ttf - /.local/share/fonts/Hack Regular Nerd Font Complete Windows Compatible.ttf - /.local/share/fonts/Hack Regular Nerd Font Complete.ttf - /.local/share/fonts/Montserrat-Black.ttf - /.local/share/fonts/Montserrat-BlackItalic.ttf - /.local/share/fonts/Montserrat-Bold.ttf - /.local/share/fonts/Montserrat-BoldItalic.ttf - /.local/share/fonts/Montserrat-ExtraBold.ttf - /.local/share/fonts/Montserrat-ExtraBoldItalic.ttf - /.local/share/fonts/Montserrat-ExtraLight.ttf - /.local/share/fonts/Montserrat-ExtraLightItalic.ttf - /.local/share/fonts/Montserrat-Italic.ttf - /.local/share/fonts/Montserrat-Light.ttf - /.local/share/fonts/Montserrat-LightItalic.ttf - /.local/share/fonts/Montserrat-Medium.ttf - /.local/share/fonts/Montserrat-MediumItalic.ttf - /.local/share/fonts/Montserrat-Regular.ttf - /.local/share/fonts/Montserrat-SemiBold.ttf - /.local/share/fonts/Montserrat-SemiBoldItalic.ttf - /.local/share/fonts/Montserrat-Thin.ttf - /.local/share/fonts/Montserrat-ThinItalic.ttf - /.local/share/fonts/Weather-Icons.ttf - /.local/share/fonts/ZillaSlab-Bold.ttf - /.local/share/fonts/ZillaSlab-BoldItalic.ttf - /.local/share/fonts/ZillaSlab-Italic.ttf - /.local/share/fonts/ZillaSlab-Light.ttf - /.local/share/fonts/ZillaSlab-LightItalic.ttf - /.local/share/fonts/ZillaSlab-Medium.ttf - /.local/share/fonts/ZillaSlab-MediumItalic.ttf - /.local/share/fonts/ZillaSlab-Regular.ttf - /.local/share/fonts/ZillaSlab-SemiBold.ttf - /.local/share/fonts/ZillaSlab-SemiBoldItalic.ttf - /.local/share/git-core/templates/hooks/post-commit - /.local/share/kactivitymanagerd/resources/database - /.local/share/kactivitymanagerd/resources/database-shm - /.local/share/kactivitymanagerd/resources/database-wal - /.gnupg/public/apt.hashicorp.sig - /.gnupg/public/linux.wazuh.sig - /.gnupg/public/qubes.uman.sig - /.gnupg/public/unman.sig - /.gnupg/public/wazuh.sig - /.config/Kvantum/kvantum.config - /.config/age/expect - /.config/age/run_once_before_decrypt-private-key.sh.tmpl - /.config/alacritty/alacritty.yml - /.config/asdf/asdfrc - /.config/asdf/default-cargo-pkgs - /.config/asdf/default-golang-pkgs - /.config/asdf/default-npm-packages - /.config/asdf/default-python-pkgs - /.config/asdf/default-ruby-pkgs - /.config/bashtop/bashtop.cfg - /.config/bat/config - /.config/brew/whalebrew - /.config/crontab/config - /.config/direnv/direnv.toml - /.config/fd/ignore - /.config/firejail/bitwarden.local - /.config/firejail/chromium.local - /.config/firejail/code.local - /.config/firejail/gcloud.local - /.config/firejail/google-chrome-stable.local - /.config/firejail/slack.local - /.config/firejail/thunderbird.local - /.config/fontconfig/fonts.conf - /.config/ghorg/conf.yaml - /.config/git/attributes - /.config/git/commit-template - /.config/git/ignore - /.config/gtk-2.0/gtkrc - /.config/gtk-3.0/settings.ini - /.config/himalaya/config.toml - /.config/k9s/plugin.yml - /.config/kitty/Betelgeuse-dark.conf - /.config/kitty/Betelgeuse-light.conf - /.config/kitty/kitty.conf - /.config/ngrok/ngrok.yml - /.config/npm/npmrc.tmpl.TODO - /.config/oh-my-posh/Betelgeuse-minimal.omp.json - /.config/oh-my-posh/Betelgeuse.omp.json - /.config/pgcli/config - /.config/plasma/plasmoids.yml - /.config/powershell/takuya.omp.json - /.config/powershell/user_profile.ps1 - /.config/rclone/merge_rclone.conf - /.config/readline/inputrc - /.config/ripgrep/config - /.config/shell/.private - /.config/shell/functions - /.config/shell/motd - /.config/shell/profile - /.config/slack-term/config - /.config/tabby/config.yaml - /.config/terminator/config - /.config/wget/wgetrc - /.config/xsettingsd/xsettingsd.conf - /.config/youtube-dl/config - /.config/xfce4/terminal/terminalrc - /.config/misc/.warp/themes/betelgeuse_dark.yaml - /.config/misc/.warp/themes/betelgeuse_light.yaml - /.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml - /.config/misc/.tmux.themer - /.config/Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json - /.config/Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json - /.config/Code/User/extensions/theme-betelgeuse-vscode/README.md - /.config/Code/User/extensions/theme-betelgeuse-vscode/icon.svg - /.config/Code/User/extensions/theme-betelgeuse-vscode/package.json - /.config/Code/User/extensions.json - /.config/Code/User/keybindings.json - /.config/Code/User/settings.json - /.config/batrc - /.config/chromium-flags.conf - /.config/dircolors - /.config/gtkrc - /.config/kactivitymanagerdrc - /.config/kcminputrc - /.config/kdeglobals - /.config/konsolerc - /.config/ksplashrc - /.config/ktimezonedrc - /.config/kwinrc - /.config/mimeapps.list - /.config/plasma-localerc - /.config/plasmarc - /.config/ripgreprc - /.config/wgetrc - /.config/whalebrew - /.vim/colors/betelgeuse.vim - /.vim/autoload/lightline/colorscheme/Betelgeuse.vim - /.vim/autoload/plug.vim - /.vim/vimrc - /.vscode/extensions.json - /.vscode/settings.json - /AppData/Local/clink/oh-my-posh.lua - /Library/Preferences/com.apple.Terminal.plist - /Library/VirtualBox/VirtualBox.xml - /Library/Application Support/tabby/plugins/package-lock.json - /Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Dark.dvtcolortheme - /Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Light.dvtcolortheme - /.local/share/chezmoi/docs/CHEZMOI-INTRO.md - /.local/share/chezmoi/home/.chezmoi.yaml.tmpl - /.local/share/chezmoi/home/.chezmoidata.yaml - /.local/share/chezmoi/home/.chezmoiexternal.toml - /.local/share/chezmoi/home/.chezmoiignore - /.local/share/chezmoi/home/.chezmoiremove - /.local/share/chezmoi/home/.chezmoiscripts/_universal/run_onchange_before_5-install-homebrew.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/_universal/run_onchange_before_8-install-zx.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/_universal/run_onchange_before_9-ensure-node-version.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/archlinux/run_onchange_before_10_install-archlinux-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/centos/run_onchange_before_10-install-centos-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_after_10_configure-macos.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_after_20-ensure-zsh-macos.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_after_set-wallpaper.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_before_10_install-darwin-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/darwin/run_onchange_before_20-ensure-user-group.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/debian/run_onchange_before_10-install-debian-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/fedora/run_onchange_before_10-install-fedora-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/freebsd/run_onchange_before_11-install-freebsd-packages.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/linux/run_onchange_before_10-system-tweaks.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/linux/run_onchange_before_configure-swap.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/opensuse/run_onchange_before_11-install-opensuse-software.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_after_11-set-wallpaper.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_11-update-timezone.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_13-install-official-templates.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_14-ensure-minimal-vms-passwordless.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_15-install-unofficial-templates.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_16-update-template-vms.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_17-install-mirage-firewall.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_18-configure-sys-usb.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_19-setup-sys-gui.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/ubuntu/run_onchange_before_10_install-ubuntu-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_once_before_1-decrypt-age-key.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_11-symlink-ansible-roles.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_12-install-packages.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_14_install-aqua-packages.sh.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_15_install-asdf-packages.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_50-crontab.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_80-bash-completions.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_after_99_bootstrap-zsh-plugins.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/universal/run_onchange_before_91-configure-gpg.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_after_14-cleanup-windows - /.local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_before_10-install-windows-dependencies.tmpl - /.local/share/chezmoi/home/.chezmoiscripts/windows/run_onchange_before_11-install-windows-packages.tmpl - /.local/share/chezmoi/home/.chezmoitemplates/darwin/Brewfile - /.local/share/chezmoi/home/.chezmoitemplates/universal/essential-packages - /.local/share/chezmoi/home/.chezmoitemplates/universal/logg - /.local/share/chezmoi/home/.chezmoitemplates/universal/logg-compat - /.local/share/chezmoi/home/.chezmoitemplates/universal/profile - /.local/share/chezmoi/home/AppData/Local/clink/oh-my-posh.lua - /.local/share/chezmoi/home/AppData/Roaming/Google Assistant/symlink_config.json.tmpl - /.local/share/chezmoi/home/Library/Application Support/tabby/plugins/package-lock.json - /.local/share/chezmoi/home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Dark.dvtcolortheme - /.local/share/chezmoi/home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Light.dvtcolortheme - /.local/share/chezmoi/home/Library/Fonts/run_onchange_after_add-fonts.tmpl - /.local/share/chezmoi/home/Library/Preferences/com.apple.Terminal.plist - /.local/share/chezmoi/home/Library/Preferences/com.googlecode.iterm2.plist - /.local/share/chezmoi/home/Library/VirtualBox/VirtualBox.xml.tmpl - /.local/share/chezmoi/home/dot_VirtualBox/VirtualBox.xml.tmpl - /.local/share/chezmoi/home/dot_Xresources - /.local/share/chezmoi/home/dot_bashrc - /.local/share/chezmoi/home/dot_cache/readonly_rclone/remove_dot_gitkeep - /.local/share/chezmoi/home/dot_cache/zsh/remove_dot_gitkeep - /.local/share/chezmoi/home/dot_editorconfig - /.local/share/chezmoi/home/dot_gnupg/public/apt.hashicorp.sig - /.local/share/chezmoi/home/dot_gnupg/public/linux.wazuh.sig - /.local/share/chezmoi/home/dot_gnupg/public/qubes.uman.sig - /.local/share/chezmoi/home/dot_local/Taskfile-local.yml - /.local/share/chezmoi/home/dot_local/assets/Betelgeuse.macOS.terminal - /.local/share/chezmoi/home/dot_local/bin/executable_gist - /.local/share/chezmoi/home/dot_local/bin/executable_install-gnome-extensions - /.local/share/chezmoi/home/dot_local/bin/executable_install-program - /.local/share/chezmoi/home/dot_local/bin/executable_install-terminal-theme.tmpl - /.local/share/chezmoi/home/dot_local/bin/executable_kde-wallpaper - /.local/share/chezmoi/home/dot_local/bin/executable_logg - /.local/share/chezmoi/home/dot_local/bin/executable_open - /.local/share/chezmoi/home/dot_local/bin/executable_provision.tmpl - /.local/share/chezmoi/home/dot_local/bin/executable_ramqube - /.local/share/chezmoi/home/dot_local/bin/executable_squash-symlink - /.local/share/chezmoi/home/dot_local/bin/executable_task - /.local/share/chezmoi/home/dot_local/bin/executable_tinypng.tmpl - /.local/share/chezmoi/home/dot_local/bin/firejail/executable_slack - /.local/share/chezmoi/home/dot_local/bin/run_onchange_ensure-executable.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_bat.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_bombshell-client.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_fd.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_install-software.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_qrun.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_qscp - /.local/share/chezmoi/home/dot_local/bin/symlink_qssh.tmpl - /.local/share/chezmoi/home/dot_local/bin/symlink_readlink.tmpl - /.local/share/chezmoi/home/dot_local/konsole/Default.profile - /.local/share/chezmoi/home/dot_local/log/remove_dot_gitkeep - /.local/share/chezmoi/home/dot_local/scripts/docker-functions.bash - /.local/share/chezmoi/home/dot_local/scripts/motd.bash - /.local/share/chezmoi/home/dot_local/scripts/p10k.zsh - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_commonlib.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubes_pass.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesformation.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubesguid.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/action/symlink_qubessls.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/connection/symlink_qubes.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubes_pass.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesformation.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubesguid.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/library/symlink_qubessls.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_jq.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/plugins/lookup/symlink_qubes-pass.py.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/run_onchange_after_symlink-ansible-configs.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_README.md.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_Vagrantfile.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_ansible.cfg.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_docs.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_environments.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_main.yml.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_playbooks.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/symlink_requirements.yml.tmpl - /.local/share/chezmoi/home/dot_local/share/ansible/tasks/symlink_qubes.tmpl - /.local/share/chezmoi/home/dot_local/share/fonts/FontAwesome.ttf - /.local/share/chezmoi/home/dot_local/share/fonts/Weather-Icons.ttf - /.local/share/chezmoi/home/dot_local/share/git-core/templates/hooks/post-commit - /.local/share/chezmoi/home/dot_local/state/bash/remove_dot_gitkeep - /.local/share/chezmoi/home/dot_local/state/zsh/remove_dot_gitkeep - /.local/share/chezmoi/home/dot_ssh/authorized_keys.github.tmpl - /.local/share/chezmoi/home/dot_ssh/private_config.tmpl - /.local/share/chezmoi/home/dot_ssh/run_onchanges_after_ensure-private-key.tmpl - /.local/share/chezmoi/home/dot_ssh/run_onchanges_after_generate-public-keys.tmpl - /.local/share/chezmoi/home/dot_ssh/symlink_authorized_keys.tmpl - /.local/share/chezmoi/home/dot_tool-versions.tmpl - /.local/share/chezmoi/home/dot_vim/autoload/lightline/colorscheme/Betelgeuse.vim - /.local/share/chezmoi/home/dot_vim/colors/Betelgeuse.vim - /.local/share/chezmoi/home/dot_zshrc - /.local/share/chezmoi/home/key.txt.age - /.local/share/chezmoi/home/private_dot_config/Google Assistant/client-secret.json - /.local/share/chezmoi/home/private_dot_config/Google Assistant/config.json.tmpl - /.local/share/chezmoi/home/private_dot_config/Kvantum/kvantum.config - /.local/share/chezmoi/home/private_dot_config/VirtualBox/VirtualBox.xml.tmpl - /.local/share/chezmoi/home/private_dot_config/alacritty/alacritty.yml - /.local/share/chezmoi/home/private_dot_config/asdf/asdfrc.tmpl - /.local/share/chezmoi/home/private_dot_config/asdf/default-cargo-pkgs - /.local/share/chezmoi/home/private_dot_config/asdf/default-golang-pkgs - /.local/share/chezmoi/home/private_dot_config/asdf/default-npm-packages - /.local/share/chezmoi/home/private_dot_config/asdf/default-python-pkgs - /.local/share/chezmoi/home/private_dot_config/asdf/default-ruby-pkgs - /.local/share/chezmoi/home/private_dot_config/bashtop/bashtop.cfg - /.local/share/chezmoi/home/private_dot_config/bat/config - /.local/share/chezmoi/home/private_dot_config/brew/Brewfile.tmpl - /.local/share/chezmoi/home/private_dot_config/brew/whalebrew - /.local/share/chezmoi/home/private_dot_config/chromium-flags.conf - /.local/share/chezmoi/home/private_dot_config/crontab/config - /.local/share/chezmoi/home/private_dot_config/direnv/direnv.toml - /.local/share/chezmoi/home/private_dot_config/fd/ignore - /.local/share/chezmoi/home/private_dot_config/firejail/bitwarden.local - /.local/share/chezmoi/home/private_dot_config/firejail/chromium.local - /.local/share/chezmoi/home/private_dot_config/firejail/code.local - /.local/share/chezmoi/home/private_dot_config/firejail/gcloud.local - /.local/share/chezmoi/home/private_dot_config/firejail/google-chrome-stable.local - /.local/share/chezmoi/home/private_dot_config/firejail/slack.local - /.local/share/chezmoi/home/private_dot_config/firejail/thunderbird.local - /.local/share/chezmoi/home/private_dot_config/fontconfig/fonts.conf - /.local/share/chezmoi/home/private_dot_config/ghorg/conf.yaml.tmpl - /.local/share/chezmoi/home/private_dot_config/git/attributes - /.local/share/chezmoi/home/private_dot_config/git/commit-template - /.local/share/chezmoi/home/private_dot_config/git/config.tmpl - /.local/share/chezmoi/home/private_dot_config/git/ignore - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_commit-msg - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_post-checkout - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_post-commit - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_post-merge - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_post-rewrite - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_pre-commit - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_pre-push - /.local/share/chezmoi/home/private_dot_config/git/template/symlink_prepare-commit-msg - /.local/share/chezmoi/home/private_dot_config/gtk-1.0/.gitkeep - /.local/share/chezmoi/home/private_dot_config/gtk-2.0/gtkrc - /.local/share/chezmoi/home/private_dot_config/gtk-3.0/settings.ini - /.local/share/chezmoi/home/private_dot_config/gtkrc - /.local/share/chezmoi/home/private_dot_config/heroku/deploy.yml.tmpl - /.local/share/chezmoi/home/private_dot_config/himalaya/config.toml - /.local/share/chezmoi/home/private_dot_config/k9s/plugin.yml - /.local/share/chezmoi/home/private_dot_config/kcminputrc - /.local/share/chezmoi/home/private_dot_config/kdeglobals - /.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-dark.conf - /.local/share/chezmoi/home/private_dot_config/kitty/Betelgeuse-light.conf - /.local/share/chezmoi/home/private_dot_config/kitty/kitty.conf - /.local/share/chezmoi/home/private_dot_config/konsolerc - /.local/share/chezmoi/home/private_dot_config/ksplashrc - /.local/share/chezmoi/home/private_dot_config/ktimezonedrc - /.local/share/chezmoi/home/private_dot_config/kwinrc - /.local/share/chezmoi/home/private_dot_config/libvirt/libvirtd.conf - /.local/share/chezmoi/home/private_dot_config/mimeapps.list - /.local/share/chezmoi/home/private_dot_config/ngrok/ngrok.yml.tmpl - /.local/share/chezmoi/home/private_dot_config/npm/npmrc.tmpl.TODO - /.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json - /.local/share/chezmoi/home/private_dot_config/oh-my-posh/Betelgeuse.omp.json - /.local/share/chezmoi/home/private_dot_config/pg/.gitkeep - /.local/share/chezmoi/home/private_dot_config/pgcli/config - /.local/share/chezmoi/home/private_dot_config/plasma-localerc - /.local/share/chezmoi/home/private_dot_config/plasma/plasmoids.yml - /.local/share/chezmoi/home/private_dot_config/plasmarc - /.local/share/chezmoi/home/private_dot_config/powershell/profile.ps1 - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions.json - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json - /.local/share/chezmoi/home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json - /.local/share/chezmoi/home/private_dot_config/private_Code/User/keybindings.json - /.local/share/chezmoi/home/private_dot_config/private_Code/User/settings.json - /.local/share/chezmoi/home/private_dot_config/putty/.gitkeep - /.local/share/chezmoi/home/private_dot_config/rclone/merge_rclone.conf - /.local/share/chezmoi/home/private_dot_config/readline/inputrc - /.local/share/chezmoi/home/private_dot_config/ripgrep/config - /.local/share/chezmoi/home/private_dot_config/rofi/config.rasi.tmpl - /.local/share/chezmoi/home/private_dot_config/shell/aliases.sh.tmpl - /.local/share/chezmoi/home/private_dot_config/shell/exports.sh.tmpl - /.local/share/chezmoi/home/private_dot_config/shell/functions.sh - /.local/share/chezmoi/home/private_dot_config/shell/motd.sh - /.local/share/chezmoi/home/private_dot_config/shell/private_private.sh - /.local/share/chezmoi/home/private_dot_config/shell/profile.sh - /.local/share/chezmoi/home/private_dot_config/slack-term/config.tmpl - /.local/share/chezmoi/home/private_dot_config/tabby/config.yaml.tmpl - /.local/share/chezmoi/home/private_dot_config/terminator/config - /.local/share/chezmoi/home/private_dot_config/tmux/remove_dot_gitkeep - /.local/share/chezmoi/home/private_dot_config/vim/vimrc - /.local/share/chezmoi/home/private_dot_config/wget/wgetrc - /.local/share/chezmoi/home/private_dot_config/xfce4/terminal/terminalrc - /.local/share/chezmoi/home/private_dot_config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml - /.local/share/chezmoi/home/private_dot_config/xsettingsd/xsettingsd.conf - /.local/share/chezmoi/home/private_dot_config/youtube-dl/config - /.local/share/chezmoi/home/private_dot_config/zap/v2/config.ini - /.local/share/chezmoi/system/.chezmoidata.yaml - /.local/share/chezmoi/system/.chezmoiexternal.toml - /.local/share/chezmoi/system/.chezmoiignore - /.local/share/chezmoi/system/Applications/Firefox.app/Contents/Resources/distribution/policies.json - /.local/share/chezmoi/system/boot/efi/EFI/qubes/modify_grubenv - /.local/share/chezmoi/system/etc/cockpit/machines.d/TODO.cockpit-machine.json.tmpl - /.local/share/chezmoi/system/etc/cups/cupsd.conf - /.local/share/chezmoi/system/etc/cups/modify_cupsd.conf - /.local/share/chezmoi/system/etc/default/modify_grub - /.local/share/chezmoi/system/etc/fonts/local.conf - /.local/share/chezmoi/system/etc/grub.d/31-hold-shift - /.local/share/chezmoi/system/etc/keybase/config.json - /.local/share/chezmoi/system/etc/modify_environment - /.local/share/chezmoi/system/etc/opt/chrome/policies/managed/policies.json - /.local/share/chezmoi/system/etc/qubes/repo-templates/qubes-templates.repo - /.local/share/chezmoi/system/etc/rcloneignore - /.local/share/chezmoi/system/etc/sanoid/sanoid.conf.TODO - /.local/share/chezmoi/system/etc/sddm.conf - /.local/share/chezmoi/system/etc/systemd/system/r2-docker.service - /.local/share/chezmoi/system/etc/systemd/system/r2-{{ .user.username }}.service.tmpl - /.local/share/chezmoi/system/etc/timeshift/timeshift.json - /.local/share/chezmoi/system/etc/yum.repos.d/qubes-dom0.repo - /.local/share/chezmoi/system/mnt/private_r2-docker/remove_dot_gitkeep - /.local/share/chezmoi/system/usr/lib/firefox-esr/distribution/policies.json - /.local/share/chezmoi/system/usr/lib/firefox/distribution/policies.json - /.local/share/chezmoi/system/usr/local/bin/executable_rclone-mount - /.local/share/chezmoi/system/usr/local/bin/executable_squash-symlink - /.local/share/chezmoi/system/usr/local/share/run_onchange_after_setup-share-folder - /.local/share/chezmoi/system/usr/share/run_onchange_after_setup-share-folder - /.local/share/chezmoi/system/var/cache/rclone/remove_dot_gitkeep - /.local/share/chezmoi/system/var/log/user/run_onchange_after-symlink-user-logs - /.local/share/chezmoi/.chezmoiignore - /.local/share/chezmoi/.chezmoiroot - /.local/share/chezmoi/software.yml - /.local/Taskfile-local.yml - /.local/aliases - /.local/antigen.zsh - /.local/dockerfunc.sh - /.local/functions - /.local/motd.sh - /.bashrc - /.tool-versions - /.Xresources - /.zshrc - /TODO.md - /sync.sh - /docs/TODO.md - /docs/partials/guide.md - /docs/partials/CHEZMOI-INTRO.md - /home/.chezmoiscripts/linux/run_onchange_before_configure-swap - /home/.chezmoiscripts/linux/run_onchange_before_10-system-tweaks - /home/.chezmoiscripts/qubes/run_onchange_before_19-setup-sys-gui - /home/.chezmoiscripts/qubes/run_onchange_after_11-set-wallpaper.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_13-install-official-templates.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_11-update-timezone.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_14-ensure-minimal-vms-passwordless.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_15-install-unofficial-templates.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_16-update-template-vms.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_17-install-mirage-firewall.tmpl - /home/.chezmoiscripts/qubes/run_onchange_before_18-configure-sys-usb.tmpl - /home/.chezmoiscripts/_universal/run_onchange_before_8-install-zx.tmpl - /home/.chezmoiscripts/_universal/run_onchange_before_9-ensure-node-version.tmpl - /home/.chezmoiscripts/_universal/run_onchange_before_5-install-homebrew.tmpl - /home/.chezmoiscripts/archlinux/run_onchange_before_10_install-archlinux-dependencies.tmpl - /home/.chezmoiscripts/centos/run_onchange_before_10-install-centos-dependencies.tmpl - /home/.chezmoiscripts/darwin/run_onchange_after_10_configure-macos.tmpl - /home/.chezmoiscripts/darwin/run_onchange_before_20-ensure-user-group.tmpl - /home/.chezmoiscripts/darwin/run_onchange_after_set-wallpaper.tmpl - /home/.chezmoiscripts/darwin/run_onchange_after_20-ensure-zsh-macos.tmpl - /home/.chezmoiscripts/darwin/run_onchange_before_10_install-darwin-dependencies.tmpl - /home/.chezmoiscripts/debian/run_onchange_before_10-install-debian-dependencies.tmpl - /home/.chezmoiscripts/fedora/run_onchange_before_10-install-fedora-dependencies.tmpl - /home/.chezmoiscripts/freebsd/run_onchange_before_11-install-freebsd-packages.tmpl - /home/.chezmoiscripts/opensuse/run_onchange_before_11-install-opensuse-software.tmpl - /home/.chezmoiscripts/ubuntu/run_onchange_before_10_install-ubuntu-dependencies.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_59-connect-tailscale.tmpl - /home/.chezmoiscripts/universal/run_once_before_1-decrypt-age-key.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_80-bash-completions.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_50-crontab.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_11-symlink-ansible-roles.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_12-install-packages.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_14_install-aqua-packages.sh.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_15_install-asdf-packages.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_99_bootstrap-zsh-plugins.tmpl - /home/.chezmoiscripts/universal/run_onchange_before_91-configure-gpg.tmpl - /home/.chezmoiscripts/universal/run_onchange_after_18-install-sdkman.tmpl - /home/.chezmoiscripts/windows/run_onchange_before_11-install-windows-packages.tmpl - /home/.chezmoiscripts/windows/run_onchange_after_14-cleanup-windows - /home/.chezmoiscripts/windows/run_onchange_before_10-install-windows-dependencies.tmpl - /home/.chezmoidata.yaml - /home/.chezmoiexternal.toml - /home/.chezmoiignore - /home/.chezmoiremove - /home/.chezmoitemplates/darwin/Brewfile - /home/.chezmoitemplates/universal/logg-compat - /home/.chezmoitemplates/universal/profile - /home/.chezmoitemplates/universal/logg - /home/.chezmoitemplates/universal/essential-packages - /home/AppData/Local/clink/oh-my-posh.lua - /home/AppData/Roaming/Google Assistant/symlink_config.json.tmpl - /home/Library/Application Support/tabby/plugins/package-lock.json - /home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Light.dvtcolortheme - /home/Library/Developer/Xcode/UserData/FontAndColorThemes/Betelgeuse Dark.dvtcolortheme - /home/Library/Fonts/run_onchange_after_add-fonts.tmpl - /home/Library/Preferences/com.apple.Terminal.plist - /home/Library/Preferences/com.googlecode.iterm2.plist - /home/Library/VirtualBox/VirtualBox.xml.tmpl - /home/dot_VirtualBox/VirtualBox.xml.tmpl - /home/dot_cache/readonly_rclone/remove_dot_gitkeep - /home/dot_cache/zsh/remove_dot_gitkeep - /home/dot_gnupg/public/apt.hashicorp.sig - /home/dot_gnupg/public/qubes.uman.sig - /home/dot_gnupg/public/linux.wazuh.sig - /home/dot_local/assets/Betelgeuse.macOS.terminal - /home/dot_local/bin/executable_install-program - /home/dot_local/bin/firejail/executable_slack - /home/dot_local/bin/executable_ramqube - /home/dot_local/bin/executable_squash-symlink - /home/dot_local/bin/symlink_bombshell-client.tmpl - /home/dot_local/bin/symlink_fd.tmpl - /home/dot_local/bin/symlink_qssh.tmpl - /home/dot_local/bin/executable_kde-wallpaper - /home/dot_local/bin/symlink_bat.tmpl - /home/dot_local/bin/executable_tinypng.tmpl - /home/dot_local/bin/executable_task - /home/dot_local/bin/executable_install-terminal-theme.tmpl - /home/dot_local/bin/symlink_qscp - /home/dot_local/bin/symlink_readlink.tmpl - /home/dot_local/bin/executable_logg - /home/dot_local/bin/executable_install-gnome-extensions - /home/dot_local/bin/executable_gist - /home/dot_local/bin/symlink_qrun.tmpl - /home/dot_local/bin/symlink_install-software.tmpl - /home/dot_local/bin/executable_open - /home/dot_local/bin/run_onchange_ensure-executable.tmpl - /home/dot_local/bin/executable_provision.tmpl - /home/dot_local/konsole/Default.profile - /home/dot_local/log/remove_dot_gitkeep - /home/dot_local/scripts/docker-functions.bash - /home/dot_local/scripts/motd.bash - /home/dot_local/scripts/p10k.zsh - /home/dot_local/share/ansible/plugins/action/symlink_commonlib.py.tmpl - /home/dot_local/share/ansible/plugins/action/symlink_qubesguid.py.tmpl - /home/dot_local/share/ansible/plugins/action/symlink_qubessls.py.tmpl - /home/dot_local/share/ansible/plugins/action/symlink_qubesformation.py.tmpl - /home/dot_local/share/ansible/plugins/action/symlink_qubes_pass.py.tmpl - /home/dot_local/share/ansible/plugins/connection/symlink_qubes.py.tmpl - /home/dot_local/share/ansible/plugins/library/symlink_qubessls.py.tmpl - /home/dot_local/share/ansible/plugins/library/symlink_qubesguid.py.tmpl - /home/dot_local/share/ansible/plugins/library/symlink_qubesformation.py.tmpl - /home/dot_local/share/ansible/plugins/library/symlink_qubes_pass.py.tmpl - /home/dot_local/share/ansible/plugins/lookup/symlink_qubes-pass.py.tmpl - /home/dot_local/share/ansible/plugins/lookup/symlink_jq.py.tmpl - /home/dot_local/share/ansible/tasks/symlink_qubes.tmpl - /home/dot_local/share/ansible/symlink_docs.tmpl - /home/dot_local/share/ansible/symlink_main.yml.tmpl - /home/dot_local/share/ansible/symlink_playbooks.tmpl - /home/dot_local/share/ansible/symlink_README.md.tmpl - /home/dot_local/share/ansible/symlink_requirements.yml.tmpl - /home/dot_local/share/ansible/symlink_environments.tmpl - /home/dot_local/share/ansible/symlink_Vagrantfile.tmpl - /home/dot_local/share/ansible/symlink_ansible.cfg.tmpl - /home/dot_local/share/ansible/run_onchange_after_symlink-ansible-configs.tmpl - /home/dot_local/share/fonts/Weather-Icons.ttf - /home/dot_local/share/fonts/FontAwesome.ttf - /home/dot_local/share/git-core/templates/hooks/post-commit - /home/dot_local/state/bash/remove_dot_gitkeep - /home/dot_local/state/zsh/remove_dot_gitkeep - /home/dot_local/Taskfile-local.yml - /home/dot_ssh/symlink_authorized_keys.tmpl - /home/dot_ssh/authorized_keys.github.tmpl - /home/dot_ssh/run_onchanges_after_ensure-private-key.tmpl - /home/dot_ssh/run_onchanges_after_generate-public-keys.tmpl - /home/dot_ssh/private_config.tmpl - /home/dot_vim/autoload/lightline/colorscheme/Betelgeuse.vim - /home/dot_vim/colors/Betelgeuse.vim - /home/private_dot_config/Google Assistant/client-secret.json - /home/private_dot_config/Google Assistant/config.json.tmpl - /home/private_dot_config/Kvantum/kvantum.config - /home/private_dot_config/VirtualBox/VirtualBox.xml.tmpl - /home/private_dot_config/alacritty/alacritty.yml - /home/private_dot_config/asdf/default-ruby-pkgs - /home/private_dot_config/asdf/asdfrc.tmpl - /home/private_dot_config/asdf/default-golang-pkgs - /home/private_dot_config/asdf/default-cargo-pkgs - /home/private_dot_config/asdf/default-python-pkgs - /home/private_dot_config/asdf/default-npm-packages - /home/private_dot_config/bashtop/bashtop.cfg - /home/private_dot_config/bat/config - /home/private_dot_config/brew/whalebrew - /home/private_dot_config/brew/Brewfile.tmpl - /home/private_dot_config/crontab/config - /home/private_dot_config/direnv/direnv.toml - /home/private_dot_config/fd/ignore - /home/private_dot_config/firejail/google-chrome-stable.local - /home/private_dot_config/firejail/bitwarden.local - /home/private_dot_config/firejail/thunderbird.local - /home/private_dot_config/firejail/slack.local - /home/private_dot_config/firejail/code.local - /home/private_dot_config/firejail/gcloud.local - /home/private_dot_config/firejail/chromium.local - /home/private_dot_config/fontconfig/fonts.conf - /home/private_dot_config/ghorg/conf.yaml.tmpl - /home/private_dot_config/git/template/symlink_post-checkout - /home/private_dot_config/git/template/symlink_post-rewrite - /home/private_dot_config/git/template/symlink_prepare-commit-msg - /home/private_dot_config/git/template/symlink_pre-push - /home/private_dot_config/git/template/symlink_post-commit - /home/private_dot_config/git/template/symlink_commit-msg - /home/private_dot_config/git/template/symlink_pre-commit - /home/private_dot_config/git/template/symlink_post-merge - /home/private_dot_config/git/attributes - /home/private_dot_config/git/ignore - /home/private_dot_config/git/config.tmpl - /home/private_dot_config/git/commit-template - /home/private_dot_config/gtk-1.0/.gitkeep - /home/private_dot_config/gtk-2.0/gtkrc - /home/private_dot_config/gtk-3.0/settings.ini - /home/private_dot_config/heroku/deploy.yml.tmpl - /home/private_dot_config/himalaya/config.toml - /home/private_dot_config/k9s/plugin.yml - /home/private_dot_config/kitty/Betelgeuse-light.conf - /home/private_dot_config/kitty/Betelgeuse-dark.conf - /home/private_dot_config/kitty/kitty.conf - /home/private_dot_config/libvirt/libvirtd.conf - /home/private_dot_config/ngrok/ngrok.yml.tmpl - /home/private_dot_config/npm/npmrc.tmpl.TODO - /home/private_dot_config/oh-my-posh/Betelgeuse-minimal.omp.json - /home/private_dot_config/oh-my-posh/Betelgeuse.omp.json - /home/private_dot_config/pg/.gitkeep - /home/private_dot_config/pgcli/config - /home/private_dot_config/plasma/plasmoids.yml - /home/private_dot_config/powershell/profile.ps1 - /home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-light-color-theme.json - /home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/themes/themer-dark-color-theme.json - /home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/README.md - /home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/package.json - /home/private_dot_config/private_Code/User/extensions/theme-betelgeuse-vscode/icon.svg - /home/private_dot_config/private_Code/User/settings.json - /home/private_dot_config/private_Code/User/keybindings.json - /home/private_dot_config/private_Code/User/extensions.json - /home/private_dot_config/putty/.gitkeep - /home/private_dot_config/rclone/merge_rclone.conf - /home/private_dot_config/readline/inputrc - /home/private_dot_config/ripgrep/config - /home/private_dot_config/rofi/config.rasi.tmpl - /home/private_dot_config/shell/exports.sh.tmpl - /home/private_dot_config/shell/profile.sh - /home/private_dot_config/shell/functions.sh - /home/private_dot_config/shell/aliases.sh.tmpl - /home/private_dot_config/shell/private_private.sh - /home/private_dot_config/shell/motd.sh - /home/private_dot_config/slack-term/config.tmpl - /home/private_dot_config/tabby/config.yaml.tmpl - /home/private_dot_config/terminator/config - /home/private_dot_config/tmux/remove_dot_gitkeep - /home/private_dot_config/vim/vimrc - /home/private_dot_config/wget/wgetrc - /home/private_dot_config/xfce4/terminal/terminalrc - /home/private_dot_config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml - /home/private_dot_config/xsettingsd/xsettingsd.conf - /home/private_dot_config/youtube-dl/config - /home/private_dot_config/zap/v2/config.ini - /home/private_dot_config/kcminputrc - /home/private_dot_config/kwinrc - /home/private_dot_config/gtkrc - /home/private_dot_config/mimeapps.list - /home/private_dot_config/ksplashrc - /home/private_dot_config/ktimezonedrc - /home/private_dot_config/plasma-localerc - /home/private_dot_config/plasmarc - /home/private_dot_config/chromium-flags.conf - /home/private_dot_config/konsolerc - /home/private_dot_config/kdeglobals - /home/dot_editorconfig - /home/key.txt.age - /home/dot_tool-versions.tmpl - /home/dot_Xresources - /home/dot_zshrc - /home/.chezmoi.yaml.tmpl - /home/dot_bashrc - /system/Applications/Firefox.app/Contents/Resources/distribution/policies.json - /system/boot/efi/EFI/qubes/modify_grubenv - /system/etc/cockpit/machines.d/TODO.cockpit-machine.json.tmpl - /system/etc/cups/cupsd.conf - /system/etc/cups/modify_cupsd.conf - /system/etc/default/modify_grub - /system/etc/fonts/local.conf - /system/etc/grub.d/31-hold-shift - /system/etc/keybase/config.json - /system/etc/opt/chrome/policies/managed/policies.json - /system/etc/qubes/repo-templates/qubes-templates.repo - /system/etc/sanoid/sanoid.conf.TODO - /system/etc/systemd/system/r2-docker.service - /system/etc/systemd/system/r2-{{ .user.username }}.service.tmpl - /system/etc/timeshift/timeshift.json - /system/etc/yum.repos.d/qubes-dom0.repo - /system/etc/modify_environment - /system/etc/rcloneignore - /system/etc/sddm.conf - /system/mnt/private_r2-docker/remove_dot_gitkeep - /system/usr/lib/firefox-esr/distribution/policies.json - /system/usr/lib/firefox/distribution/policies.json - /system/usr/local/bin/executable_rclone-mount - /system/usr/local/bin/executable_squash-symlink - /system/usr/local/share/run_onchange_after_setup-share-folder - /system/usr/share/run_onchange_after_setup-share-folder - /system/var/cache/rclone/remove_dot_gitkeep - /system/var/log/user/run_onchange_after-symlink-user-logs - /system/.chezmoidata.yaml - /system/.chezmoiexternal.toml - /system/.chezmoiignore - /.chezmoiignore - /.chezmoiroot - /software.yml - /README.md - /local/sync.sh
2022-12-24 11:40:44 -08:00
### Copy files to HOME folder with rsync
logg info 'Copying files from /usr/local/src/hiawatha to the HOME directory via rsync'
mkdir -p "$HOME/.local/share/chezmoi"
rsync -rtvu --delete /usr/local/src/hiawatha/docs/ "$HOME/.local/share/chezmoi/docs/" &
rsync -rtvu --delete /usr/local/src/hiawatha/home/ "$HOME/.local/share/chezmoi/home/" &
rsync -rtvu --delete /usr/local/src/hiawatha/system/ "$HOME/.local/share/chezmoi/system/" &
rsync -rtvu /usr/local/src/hiawatha/.chezmoiignore "$HOME/.local/share/chezmoi/.chezmoiignore" &
rsync -rtvu /usr/local/src/hiawatha/.chezmoiroot "$HOME/.local/share/chezmoi/.chezmoiroot" &
rsync -rtvu /usr/local/src/hiawatha/software.yml "$HOME/.local/share/chezmoi/software.yml" &
logg info 'Waiting for rsync jobs to finish'
wait
logg success 'Successfully updated the ~/.local/share/chezmoi folder with changes from the upstream repository'
### Ensure ~/.local/bin files are executable
logg info 'Ensuring scripts in ~/.local/bin are executable'
2022-12-24 21:03:35 -08:00
find "$HOME/.local/bin" -maxdepth 1 -mindepth 1 -type f | while read -r BINFILE; do
chmod +x "$BINFILE"
done
### Run chezmoi init
if [ ! -f "$HOME/.config/chezmoi/chezmoi.yaml" ]; then
### Show README.md snippet
if command -v glow > /dev/null; then
2022-12-24 20:21:19 -08:00
glow "$HOME/.local/share/chezmoi/docs/CHEZMOI-INTRO.md"
fi
### Prompt for variables
if command -v gum > /dev/null; then
if [ -z "$SOFTWARE_GROUP" ]; then
logg prompt 'Select the software group you would like to install. If your environment is a macOS, Windows, or environment with the DISPLAY environment variable then desktop software will be installed too. The software groups are in the ~/.local/share/chezmoi/home/.chezmoidata.yaml file.'
SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Full")"
export SOFTWARE_GROUP
fi
fi
2022-12-24 21:03:35 -08:00
# shellcheck disable=SC2016
logg info 'Running `chezmoi init` since the ~/.config/chezmoi/chezmoi.yaml is not present'
chezmoi init
fi
### Ensure Debian noninteractive mode
export DEBIAN_FRONTEND=noninteractive
### Run chezmoi apply
2022-12-24 21:03:35 -08:00
# shellcheck disable=SC2016
logg info 'Running `chezmoi apply`'
if [ -n "$FORCE_CHEZMOI" ]; then
chezmoi apply -k --force 2>&1 | tee "${XDG_DATA_DIR:-$HOME/.local/share}/megabyte-labs/betelgeuse.$(date +%s).log"
else
chezmoi apply -k 2>&1 | tee "${XDG_DATA_DIR:-$HOME/.local/share}/megabyte-labs/betelgeuse.$(date +%s).log"
fi