diff options
| -rw-r--r-- | .chezmoi.toml.tmpl | 2 | ||||
| -rw-r--r-- | .chezmoiignore | 10 | ||||
| -rwxr-xr-x | run_onchange_after_deploy-etc.sh | 25 | ||||
| -rwxr-xr-x | run_onchange_after_deploy-firefox.sh | 20 |
4 files changed, 57 insertions, 0 deletions
diff --git a/.chezmoi.toml.tmpl b/.chezmoi.toml.tmpl new file mode 100644 index 0000000..23ebba7 --- /dev/null +++ b/.chezmoi.toml.tmpl @@ -0,0 +1,2 @@ +[data] + hostname = "{{ .chezmoi.hostname }}" diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 0000000..d87d077 --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1,10 @@ +KEYBINDS.md +README.md +create-efi.sh +.editorconfig +.github/ +.worktrees/ +meta/ +etc/ +etc2/ +firefox/ diff --git a/run_onchange_after_deploy-etc.sh b/run_onchange_after_deploy-etc.sh new file mode 100755 index 0000000..2e59290 --- /dev/null +++ b/run_onchange_after_deploy-etc.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# Deploy system-level configs from etc/ and etc2/ to /etc/ +# etc/ files can be symlinked; etc2/ files must be copied (tools that refuse symlinks) +set -eu + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" + +# etc/ — symlink-friendly configs +for f in \ + modules-load.d/tcp_bbr.conf \ + pacman.d/hooks/orphans.hook \ + sysctl.d/99-sysctl.conf \ + systemd/system.conf.d/timeout.conf +do + doas mkdir -p "/etc/$(dirname "$f")" + doas cp "$SCRIPT_DIR/etc/$f" "/etc/$f" +done + +# etc2/ — must be real files (e.g. reflector refuses symlinks) +for f in \ + xdg/reflector/reflector.conf +do + doas mkdir -p "/etc/$(dirname "$f")" + doas cp "$SCRIPT_DIR/etc2/$f" "/etc/$f" +done diff --git a/run_onchange_after_deploy-firefox.sh b/run_onchange_after_deploy-firefox.sh new file mode 100755 index 0000000..e72f304 --- /dev/null +++ b/run_onchange_after_deploy-firefox.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# Deploy Firefox/LibreWolf hardening overrides and custom CSS +set -eu + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" + +# Find LibreWolf profile directory (first profile with a default=1 marker) +PROFILES_DIR="$HOME/.librewolf" +if [ -d "$PROFILES_DIR" ]; then + PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d -name '*.default-default' | head -1) + if [ -z "$PROFILE" ]; then + PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d | head -1) + fi + + if [ -n "$PROFILE" ]; then + cp "$SCRIPT_DIR/firefox/user-overrides.js" "$PROFILE/user-overrides.js" + mkdir -p "$PROFILE/chrome" + cp "$SCRIPT_DIR/firefox/chrome/userChrome.css" "$PROFILE/chrome/userChrome.css" + fi +fi |
