Update 17 files
- /software.yml - /home/.chezmoidata.yaml - /home/private_dot_config/dconf/settings/org.gnome.desktop.applications - /home/private_dot_config/dconf/settings/org.gnome.desktop.background - /home/private_dot_config/dconf/settings/org.gnome.desktop.calendar - /home/private_dot_config/dconf/settings/org.gnome.desktop.interface - /home/private_dot_config/dconf/settings/org.gnome.desktop.privacy - /home/private_dot_config/dconf/settings/org.gnome.desktop.session - /home/private_dot_config/dconf/settings/org.gnome.desktop.sound - /home/private_dot_config/dconf/settings/org.gnome.desktop.wm.preferences - /home/private_dot_config/dconf/settings/org.gnome.settings-daemon.plugins.power - /home/private_dot_config/dconf/settings/org.gnome.shell - /home/private_dot_config/dconf/settings/system.proxy - /home/private_dot_config/dconf/settings/org.gnome.desktop.app-folders - /home/.chezmoiscripts/universal/run_onchange_after_21-import-dconf-settings.tmpl - /home/dot_local/bin/executable_backup-dconf.tmpl - /home/dot_local/bin/executable_install-program
This commit is contained in:
parent
bc54e851b2
commit
08f39fc10c
17 changed files with 68 additions and 4 deletions
|
@ -553,6 +553,7 @@ softwareGroups:
|
||||||
- envchain
|
- envchain
|
||||||
- envconsul
|
- envconsul
|
||||||
- pony
|
- pony
|
||||||
|
- protonvpn-cli
|
||||||
- skate
|
- skate
|
||||||
- ssh-vault
|
- ssh-vault
|
||||||
- stubby
|
- stubby
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
{{- if eq .host.distro.family "linux" -}}
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
{{ includeTemplate "universal/profile" }}
|
||||||
|
{{ includeTemplate "universal/logg" }}
|
||||||
|
|
||||||
|
### Backup system settings
|
||||||
|
DCONF_TMP="$(mktemp)"
|
||||||
|
dconf dump / > "$DCONF_TMP"
|
||||||
|
logg info 'Backed up system dconf settings to '"$DCONF_TMP"
|
||||||
|
|
||||||
|
### Reset system settings / load saved configurations from ~/.config/dconf/settings
|
||||||
|
if [ -d "$XDG_CONFIG_HOME/dconf/settings" ]; then
|
||||||
|
find "$XDG_CONFIG_HOME/dconf/settings" -mindepth 1 -maxdepth 1 -type f | while read DCONF_CONFIG_FILE; do
|
||||||
|
DCONF_SETTINGS_ID="/$(basename "$DCONF_CONFIG_FILE" | sed 's/\./\//')"
|
||||||
|
# Reset dconf settings if environment variable RESET_DCONF is set to true
|
||||||
|
if [ "$RESET_DCONF" == 'true' ]; then
|
||||||
|
logg info 'Resetting dconf settings for `'"$DCONF_SETTINGS_ID"'`'
|
||||||
|
dconf reset -f "$DCONF_SETTINGS_ID"
|
||||||
|
fi
|
||||||
|
logg info 'Loading versioned dconf settings for `'"$DCONF_SETTINGS_ID"'`'
|
||||||
|
dconf load "$DCONF_SETTINGS_ID" < "$DCONF_CONFIG_FILE"
|
||||||
|
logg success 'Finished applying dconf settings for `'"$DCONF_SETTINGS_ID"'`'
|
||||||
|
done
|
||||||
|
else
|
||||||
|
logg warn '~/.config/dconf/settings does not exist!'
|
||||||
|
fi
|
||||||
|
|
||||||
|
{{ end -}}
|
27
home/dot_local/bin/executable_backup-dconf.tmpl
Normal file
27
home/dot_local/bin/executable_backup-dconf.tmpl
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{{- if eq .host.distro.family "linux" -}}
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
{{ includeTemplate "universal/profile" }}
|
||||||
|
{{ includeTemplate "universal/logg" }}
|
||||||
|
|
||||||
|
### Create backups
|
||||||
|
if [ -d "$XDG_CONFIG_HOME/dconf/settings" ]; then
|
||||||
|
DCONF_TMP="$(mktemp)"
|
||||||
|
logg info 'Moving ~/.config/dconf/settings to '"$DCONF_TMP"
|
||||||
|
mv "$XDG_CONFIG_HOME/dconf/settings" "$DCONF_TMP"
|
||||||
|
fi
|
||||||
|
|
||||||
|
### Ensure ~/.config/dconf/settings exists
|
||||||
|
mkdir -p "$XDG_CONFIG_HOME/dconf/settings"
|
||||||
|
|
||||||
|
### Overwrite ~/.config/dconf/settings configurations so we can diff with Chezmoi
|
||||||
|
find "$XDG_CONFIG_HOME/dconf/settings" -mindepth 1 -maxdepth 1 -type f | while read DCONF_CONFIG_FILE; do
|
||||||
|
DCONF_SETTINGS_ID="/$(basename "$DCONF_CONFIG_FILE" | sed 's/\./\//')/"
|
||||||
|
logg info 'Dumping `'"$DCONF_SETTINGS_ID"'` to '"$DCONF_CONFIG_FILE"
|
||||||
|
dconf dump "$DCONF_SETTINGS_ID" > "$DCONF_CONFIG_FILE"
|
||||||
|
logg success 'Saved new configuration to '"$DCONF_CONFIG_FILE"
|
||||||
|
logg info 'Printing diff for '"$DCONF_CONFIG_FILE"
|
||||||
|
chezmoi diff "$DCONF_CONFIG_FILE"
|
||||||
|
done
|
||||||
|
|
||||||
|
{{ end -}}
|
|
@ -1146,7 +1146,7 @@ async function installPackageList(packageManager, packages) {
|
||||||
if (unbuffer) {
|
if (unbuffer) {
|
||||||
unbufferPrefix = 'unbuffer'
|
unbufferPrefix = 'unbuffer'
|
||||||
}
|
}
|
||||||
const verboseMode = process.env.DEBUG_MODE === 'on' ? 'vv' : ''
|
const verboseMode = process.env.DEBUG_MODE === 'true' ? 'vv' : ''
|
||||||
if (osPlatform === 'darwin' || osPlatform === 'linux' || osPlatform === 'windows') {
|
if (osPlatform === 'darwin' || osPlatform === 'linux' || osPlatform === 'windows') {
|
||||||
await $`ANSIBLE_CONFIG=${process.env.HOME}/.local/share/ansible/ansible.cfg ansible 127.0.0.1 -v${verboseMode} -e '{ ansible_connection: "local", ansible_become_user: "root", ansible_user: "${process.env.USER}", ansible_family: "${osPlatform}", install_homebrew: False }' -m include_role -a name=${pkg}`
|
await $`ANSIBLE_CONFIG=${process.env.HOME}/.local/share/ansible/ansible.cfg ansible 127.0.0.1 -v${verboseMode} -e '{ ansible_connection: "local", ansible_become_user: "root", ansible_user: "${process.env.USER}", ansible_family: "${osPlatform}", install_homebrew: False }' -m include_role -a name=${pkg}`
|
||||||
log('success', 'Install', `${pkg} successfully installed via ${packageManager}`)
|
log('success', 'Install', `${pkg} successfully installed via ${packageManager}`)
|
||||||
|
|
0
home/private_dot_config/dconf/settings/org.gnome.shell
Normal file
0
home/private_dot_config/dconf/settings/org.gnome.shell
Normal file
0
home/private_dot_config/dconf/settings/system.proxy
Normal file
0
home/private_dot_config/dconf/settings/system.proxy
Normal file
13
software.yml
13
software.yml
|
@ -5173,18 +5173,25 @@ softwarePackages:
|
||||||
scoop: procs
|
scoop: procs
|
||||||
snap: procs
|
snap: procs
|
||||||
protonvpn:
|
protonvpn:
|
||||||
_bin: null
|
_bin: protonvpn
|
||||||
_desc: '[Proton](https://www.proton.org/) is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. Proton is released under GPLv3+ license and is available for Linux, macOS, and Microsoft Windows.'
|
_desc: '[Proton](https://www.proton.org/) is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. Proton is released under GPLv3+ license and is available for Linux, macOS, and Microsoft Windows.'
|
||||||
_docs: https://protonmail.com/support/
|
_docs: https://protonmail.com/support/
|
||||||
_github: https://github.com/ProtonMail/WebClients
|
_github: https://github.com/ProtonMail/WebClients
|
||||||
_home: https://protonmail.com/
|
_home: https://protonmail.com/
|
||||||
_name: Proton
|
_name: ProtonVPN
|
||||||
_when:cask: '! test -d /Applications/ProtonVPN.app'
|
_when:cask: '! test -d /Applications/ProtonVPN.app'
|
||||||
ansible: professormanhattan.proton
|
ansible: professormanhattan.proton
|
||||||
cask: protonvpn
|
cask: protonvpn
|
||||||
choco: protonvpn
|
choco: protonvpn
|
||||||
dnf: protonvpn-cli
|
|
||||||
yay: protonvpn
|
yay: protonvpn
|
||||||
|
protonvpn-cli:
|
||||||
|
_bin: protonvpn-cli
|
||||||
|
_desc: null
|
||||||
|
_docs: null
|
||||||
|
_github: null
|
||||||
|
_home: null
|
||||||
|
_name: ProtonVPN CLI
|
||||||
|
_todo: Populate this once the ProtonVPN CLI is released to the package managers
|
||||||
protonmail-bridge:
|
protonmail-bridge:
|
||||||
_bin: protonmail-bridge
|
_bin: protonmail-bridge
|
||||||
_when:cask: '! test -d "/Applications/Proton Mail Bridge.app"'
|
_when:cask: '! test -d "/Applications/Proton Mail Bridge.app"'
|
||||||
|
|
Loading…
Reference in a new issue