ENH use config switches to control bootstrap scripts
This commit is contained in:
parent
bb98297669
commit
1dd1ac18e5
|
@ -2,9 +2,15 @@ diff:
|
|||
args: --color
|
||||
pager: less -r
|
||||
|
||||
{{- $desktop := promptBool "desktop" false }}
|
||||
{{- $laptop := and $desktop (promptBool "laptop" false) }}
|
||||
{{- $emacs := and $desktop (promptBool "emacs" true) }}
|
||||
{{ $desktop := promptBool "desktop" false -}}
|
||||
{{- $laptop := and $desktop (promptBool "laptop" false) -}}
|
||||
{{- $emacs := and $desktop (promptBool "emacs" true) -}}
|
||||
|
||||
{{- $xdg_config_home := .chezmoi.homeDir | printf "%s/.config" -}}
|
||||
{{- $xdg_cache_home := .chezmoi.homeDir | printf "%s/.cache" -}}
|
||||
{{- $xdg_data_home := .chezmoi.homeDir | printf "%s/.local/share" -}}
|
||||
{{- $xdg_runtime_dir := output "id" "-u" | trim | printf "/run/user/%s" -}}
|
||||
|
||||
data:
|
||||
desktop: {{ $desktop }}
|
||||
laptop: {{ $laptop }}
|
||||
|
@ -17,15 +23,23 @@ data:
|
|||
f5vpn: {{ and $desktop (promptBool "f5vpn" false) }}
|
||||
seafile: {{ and $desktop (promptBool "seafile" false) }}
|
||||
development:
|
||||
|
||||
{{- /* emacs implies that most development options are true */}}
|
||||
emacs: {{ $emacs }}
|
||||
ruby: {{ or $emacs promptBool "ruby development" true }}
|
||||
python: {{ or $emacs promptBool "python development" true }}
|
||||
rust: {{ or $emacs promptBool "rust development" true }}
|
||||
clojure: {{ or $emacs promptBool "clojure development" true }}
|
||||
latex: {{ or $emacs promptBool "LaTeX development" true }}
|
||||
r: {{ or $emacs promptBool "R development" true }}
|
||||
ruby: {{ or $emacs promptBool "ruby" true }}
|
||||
python: {{ or $emacs promptBool "python" true }}
|
||||
rust: {{ or $emacs promptBool "rust" true }}
|
||||
clojure: {{ or $emacs promptBool "clojure" true }}
|
||||
latex: {{ or $emacs promptBool "LaTeX" true }}
|
||||
r: {{ or $emacs promptBool "R" true }}
|
||||
conda: {{ or $emacs promptBool "conda" true }}
|
||||
|
||||
{{- /* these aren't implied by emacs */}}
|
||||
matlab: {{ or $emacs promptBool "MATLAB development" true }}
|
||||
github: {{ promptBool "GitHub development" true }}
|
||||
matlab: {{ or $emacs promptBool "MATLAB" true }}
|
||||
github: {{ promptBool "GitHub" true }}
|
||||
paths:
|
||||
config: {{ $xdg_config_home }}
|
||||
cache: {{ $xdg_cache_home }}
|
||||
data: {{ $xdg_data_home }}
|
||||
runtime: {{ $xdg_runtime_dir }}
|
||||
stack: {{ $xdg_data_home }}/stack
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{{- if eq .chezmoi.hostname "petrucci4prez" }}
|
||||
{{- if .development.emacs }}
|
||||
.config/emacs:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/.emacs.d.git
|
||||
{{- end }}
|
||||
{{- if .desktop }}
|
||||
.config/rofi-extras:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/rofi-extras.git
|
||||
.config/xman:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/xman.git
|
||||
.config/xmonad:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/xmonad-config.git
|
||||
.config/conky:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/conky.git
|
||||
url: https://github.com/ndwarshuis/universal-conky.git
|
||||
clone-args: --recurse-submodules
|
||||
{{- end }}
|
||||
{{- if .features.virtualbox }}
|
||||
.config/xman:
|
||||
type: git-repo
|
||||
url: https://github.com/ndwarshuis/xman.git
|
||||
{{- end }}
|
||||
|
|
|
@ -14,8 +14,10 @@ run_stack_in_dir () {
|
|||
cd "$cur" || return 1
|
||||
}
|
||||
|
||||
export STACK_ROOT=~/.local/share/stack
|
||||
export STACK_ROOT={{ .paths.stack }}
|
||||
|
||||
run_stack_in_dir ~/.config/rofi-extras
|
||||
run_stack_in_dir ~/.config/xmonad
|
||||
{{ if .features.virtualbox -}}
|
||||
run_stack_in_dir ~/.config/xman
|
||||
{{- end }}
|
|
@ -46,33 +46,32 @@ run_install_scripts() {
|
|||
}
|
||||
|
||||
run_yay() {
|
||||
dunst_pkgs=(dunst)
|
||||
gtk_pkgs=(zuki-themes)
|
||||
redshift_pkgs=(redshift)
|
||||
seafile_pkgs=(seafile-client)
|
||||
urxvt_pkgs=(rxvt-unicode urxvt-perls)
|
||||
zsh_pkgs=(zsh zsh-completions zsh-syntax-highlighting)
|
||||
# notifications
|
||||
pkgs=(dunst)
|
||||
# gtk
|
||||
pkgs+=(zuki-themes)
|
||||
# sleep enhancement
|
||||
pkgs+=(redshift)
|
||||
{{ if .features.seafile -}}
|
||||
# seafile
|
||||
pkgs+=(seafile-client)
|
||||
{{- end }}
|
||||
# elegant terminal
|
||||
pkgs+=(rxvt-unicode urxvt-perls)
|
||||
# shell
|
||||
pkgs+=(zsh zsh-completions zsh-syntax-highlighting)
|
||||
|
||||
## AUR pkgs needed for spotify
|
||||
spotify_pkgs=(gconf)
|
||||
|
||||
yay --needed --noconfirm --norebuild --removemake -S \
|
||||
"${dunst_pkgs[@]}" \
|
||||
"${gtk_pkgs[@]}" \
|
||||
"${redshift_pkgs[@]}" \
|
||||
"${seafile_pkgs[@]}" \
|
||||
"${urxvt_pkgs[@]}" \
|
||||
"${zsh_pkgs[@]}" \
|
||||
"${spotify_pkgs[@]}"
|
||||
yay --needed --noconfirm --norebuild --removemake -S "${pkgs[@]}"
|
||||
}
|
||||
|
||||
run_makepkg() {
|
||||
## these are all packages that have some personal customizations and/or are
|
||||
## not in the AUR
|
||||
## TODO the clevo thingy requires a systemd file to turn on/off
|
||||
{{ if .features.clevo -}}
|
||||
call_makepkg "clevo-xsm-wmi-dkms"
|
||||
{{- end }}
|
||||
call_makepkg "conky-lua"
|
||||
call_makepkg "spotify"
|
||||
call_makepkg "xkb-hypermode"
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
#! /bin/bash
|
||||
|
||||
# This script pulls all my git repos that I use in my config and builds whatever
|
||||
# is in them as necessary. It will only pull them if they don't exist. Rather
|
||||
# than use the import approach suggested in the chezmoi howto, this doesn't
|
||||
# require me to keep 'syncing' changes when I work in these repos directly. The
|
||||
# tradeoff is that it will only pull the latest master, which is totally fine
|
||||
# with me.
|
||||
|
||||
clone_maybe () {
|
||||
if [ ! -d "$2" ]; then
|
||||
echo cloning git repo: "$1"
|
||||
git clone --recurse-submodules "$1" "$2"
|
||||
else
|
||||
echo git repo already exists: "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
clone_maybe https://github.com/ndwarshuis/.emacs.d.git ~/.config/emacs
|
||||
clone_maybe https://github.com/ndwarshuis/rofi-extras.git ~/.config/rofi-extras
|
||||
clone_maybe https://github.com/ndwarshuis/xman.git ~/.config/xman
|
||||
clone_maybe https://github.com/ndwarshuis/xmonad-config.git ~/.config/xmonad
|
||||
clone_maybe https://github.com/ndwarshuis/conky.git ~/.config/conky
|
|
@ -2,10 +2,10 @@
|
|||
PATH OVERRIDE={{ .chezmoi.homeDir }}/.bin:{{ .chezmoi.homeDir }}/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin
|
||||
|
||||
# default directories
|
||||
XDG_CONFIG_HOME DEFAULT={{ .chezmoi.homeDir }}/.config
|
||||
XDG_CACHE_HOME DEFAULT={{ .chezmoi.homeDir }}/.cache
|
||||
XDG_DATA_HOME DEFAULT={{ .chezmoi.homeDir }}/.local/share
|
||||
XDG_RUNTIME_DIR DEFAULT=/run/user/{{ output "id" "-u" | trim }}
|
||||
XDG_CONFIG_HOME DEFAULT={{ .paths.config }}
|
||||
XDG_CACHE_HOME DEFAULT={{ .paths.cache }}
|
||||
XDG_DATA_HOME DEFAULT={{ .paths.data }}
|
||||
XDG_RUNTIME_DIR DEFAULT={{ .paths.runtime }}
|
||||
|
||||
# super common tools
|
||||
PAGER DEFAULT=less
|
||||
|
|
Loading…
Reference in New Issue