@sebastienrousseau/dotfiles 0.2.481 → 0.2.499
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/ARCHITECTURE.md +29 -196
- package/docs/COMPLIANCE.md +10 -10
- package/docs/COPYRIGHT +3 -4
- package/docs/OPERATIONS.md +38 -65
- package/docs/PLAN.md +3 -3
- package/docs/PR_DESCRIPTION.md +85 -84
- package/docs/ROADMAP.md +11 -11
- package/docs/ROADMAP_legacy.md +556 -0
- package/docs/SECURITY_CHECKLIST.md +1 -1
- package/docs/TASK.md +4 -4
- package/docs/WALKTHROUGH.md +33 -152
- package/package.json +17 -5
- package/scripts/backup.sh +142 -0
- package/scripts/banner.sh +20 -0
- package/scripts/benchmark.sh +20 -0
- package/scripts/build.sh +41 -0
- package/scripts/clean.sh +31 -0
- package/scripts/compile.sh +54 -0
- package/scripts/copy.sh +108 -0
- package/scripts/{tools/detect-collisions.py → detect-collisions.py} +1 -1
- package/scripts/doctor.sh +79 -0
- package/scripts/dotfiles.sh +63 -0
- package/scripts/download.sh +35 -0
- package/scripts/help.sh +57 -0
- package/scripts/lock-configs.sh +57 -0
- package/scripts/package.sh +46 -0
- package/scripts/ssh.sh +55 -0
- package/scripts/teleport.sh +23 -0
- package/scripts/{tests/test-aliases.sh → test-aliases.sh} +3 -3
- package/scripts/test_smoke.sh +88 -0
- package/scripts/unpack.sh +28 -0
- package/scripts/{diagnostics/verify_state.sh → verify_state.sh} +21 -21
- package/templates/projects/go/README.md +0 -4
- package/templates/projects/node/README.md +0 -4
- package/templates/projects/python/README.md +0 -4
- package/templates/projects/python/pyproject.toml +0 -15
- package/CHANGELOG.md +0 -285
- package/LICENSE +0 -1283
- package/README.md +0 -315
- package/docs/ALIASES.md +0 -128
- package/docs/FEATURES.md +0 -166
- package/docs/FONTS.md +0 -147
- package/docs/INSTALL.md +0 -119
- package/docs/KEYS.md +0 -40
- package/docs/KEY_ROTATION.md +0 -219
- package/docs/LEGACY_ROADMAP.md +0 -142
- package/docs/NEOVIM_IDE_GUIDE.md +0 -52
- package/docs/README.md +0 -269
- package/docs/REPO_AUDIT.md +0 -23
- package/docs/SCREENSHOTS.md +0 -116
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/TROUBLESHOOTING.md +0 -112
- package/docs/UTILS.md +0 -105
- package/docs/WSL2_NIX_TROUBLESHOOTING.md +0 -723
- package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -101
- package/docs/adr/ADR-002-shell-performance.md +0 -121
- package/docs/adr/ADR-003-security-first.md +0 -140
- package/docs/adr/ADR-004-cli-architecture.md +0 -157
- package/docs/adr/ADR-005-chezmoi-choice.md +0 -89
- package/docs/adr/ADR-006-shell-selection.md +0 -115
- package/docs/adr/README.md +0 -33
- package/docs/themes/README.md +0 -20
- package/dot_config/aider/aider.conf.yml +0 -32
- package/dot_config/alacritty/alacritty.toml.tmpl +0 -483
- package/dot_config/ansible/ansible.cfg.tmpl +0 -11
- package/dot_config/atuin/config.toml +0 -23
- package/dot_config/bat/config +0 -8
- package/dot_config/brave-flags.conf.tmpl +0 -7
- package/dot_config/btop/btop.conf +0 -16
- package/dot_config/btop/themes/tokyonight.theme +0 -34
- package/dot_config/bun/bunfig.toml.tmpl +0 -33
- package/dot_config/claude/mcp_servers.json +0 -49
- package/dot_config/clippy.toml +0 -55
- package/dot_config/containers/containers.conf +0 -14
- package/dot_config/curl/dot_curlrc +0 -18
- package/dot_config/dlv/config.yml +0 -39
- package/dot_config/docker/config.json.tmpl +0 -15
- package/dot_config/dotfiles/boot/README.md +0 -11
- package/dot_config/dotfiles/grub/README.md +0 -11
- package/dot_config/dotfiles/lock/README.md +0 -11
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- package/dot_config/duf/duf.conf +0 -6
- package/dot_config/duti/defaults.duti +0 -5
- package/dot_config/emoji/emoji.txt +0 -34
- package/dot_config/fastfetch/config.jsonc +0 -28
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/flatpak/flatpak.list +0 -4
- package/dot_config/fontconfig/fonts.conf.tmpl +0 -44
- package/dot_config/gem/gemrc +0 -9
- package/dot_config/gh/config.yml +0 -12
- package/dot_config/ghostty/config.tmpl +0 -661
- package/dot_config/git/attributes +0 -12
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/git/ignore +0 -27
- package/dot_config/gnupg/gpg-agent.conf.tmpl +0 -11
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- package/dot_config/go/golangci.yml +0 -118
- package/dot_config/go/gopls.json +0 -30
- package/dot_config/goose/config.yaml +0 -29
- package/dot_config/gtk-3.0/gtk.css.tmpl +0 -305
- package/dot_config/gtk-3.0/settings.ini.tmpl +0 -66
- package/dot_config/gtk-4.0/gtk.css.tmpl +0 -309
- package/dot_config/gtk-4.0/settings.ini.tmpl +0 -21
- package/dot_config/htop/htoprc +0 -20
- package/dot_config/ice/README.md +0 -13
- package/dot_config/inputrc +0 -2
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/just/justfile +0 -104
- package/dot_config/k9s/config.yaml.tmpl +0 -65
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
- package/dot_config/karabiner/karabiner.json +0 -14
- package/dot_config/kitty/kitty.conf.tmpl +0 -517
- package/dot_config/lazydocker/config.yml +0 -186
- package/dot_config/lazygit/config.yml +0 -23
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/mas/masapps.txt +0 -5
- package/dot_config/minikube/config.json +0 -13
- package/dot_config/mise/config.toml +0 -41
- package/dot_config/mongosh/mongoshrc.js +0 -67
- package/dot_config/mycli/myclirc +0 -67
- package/dot_config/nano/nanorc +0 -28
- package/dot_config/ncdu/config +0 -12
- package/dot_config/nvim/init.lua +0 -4
- package/dot_config/nvim/lazy-lock.json +0 -27
- package/dot_config/nvim/lua/config/autocmds.lua +0 -63
- package/dot_config/nvim/lua/config/keymaps.lua +0 -87
- package/dot_config/nvim/lua/config/lazy.lua +0 -34
- package/dot_config/nvim/lua/config/options.lua +0 -48
- package/dot_config/nvim/lua/plugins/coding.lua +0 -234
- package/dot_config/nvim/lua/plugins/dap.lua +0 -201
- package/dot_config/nvim/lua/plugins/editor.lua +0 -59
- package/dot_config/nvim/lua/plugins/git.lua +0 -9
- package/dot_config/nvim/lua/plugins/lsp.lua +0 -221
- package/dot_config/nvim/lua/plugins/markdown.lua +0 -17
- package/dot_config/nvim/lua/plugins/rust.lua +0 -33
- package/dot_config/nvim/lua/plugins/sessions.lua +0 -32
- package/dot_config/nvim/lua/plugins/ui.lua +0 -537
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/pip/pip.conf.tmpl +0 -32
- package/dot_config/pypoetry/config.toml.tmpl +0 -6
- package/dot_config/pyrightconfig.json.tmpl +0 -5
- package/dot_config/raycast/README.md +0 -13
- package/dot_config/redis/redisclirc +0 -41
- package/dot_config/shell/00-container-detect.sh +0 -53
- package/dot_config/shell/00-core-paths.sh.tmpl +0 -95
- package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
- package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
- package/dot_config/shell/50-logic-functions.sh.tmpl +0 -10
- package/dot_config/shell/90-theme-switch.sh +0 -70
- package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -35
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -23
- package/dot_config/shell/Brewfile +0 -207
- package/dot_config/shell/Brewfile.cask +0 -92
- package/dot_config/shell/Brewfile.cli +0 -119
- package/dot_config/shell/README.md +0 -267
- package/dot_config/shell/custom/context_suggest.zsh +0 -68
- package/dot_config/shell/custom/error_analysis.zsh +0 -45
- package/dot_config/sops/dot_sops.yaml +0 -23
- package/dot_config/starship.toml.tmpl +0 -124
- package/dot_config/task/Taskfile.yml +0 -86
- package/dot_config/tflint/tflint.hcl.tmpl +0 -9
- package/dot_config/tmux/tmux.conf.tmpl +0 -181
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/vscode/extensions.txt +0 -11
- package/dot_config/vscode/settings.json.tmpl +0 -123
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/wezterm/wezterm.lua.tmpl +0 -236
- package/dot_config/wget/wgetrc +0 -12
- package/dot_config/yarn/yarnrc.yml.tmpl +0 -36
- package/dot_config/yazi/yazi.toml +0 -40
- package/dot_config/zellij/config.kdl +0 -79
- package/dot_config/zsh/dot_zprofile +0 -13
- package/dot_config/zsh/dot_zshenv +0 -6
- package/dot_config/zsh/dot_zshrc.tmpl +0 -199
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -5
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -123
- package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +0 -20
- package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +0 -9
- package/dot_local/bin/executable_ai_core +0 -130
- package/dot_local/bin/executable_b64 +0 -59
- package/dot_local/bin/executable_dot +0 -178
- package/dot_local/bin/executable_dot_completion +0 -55
- package/dot_local/bin/executable_epoch +0 -62
- package/dot_local/bin/executable_extract +0 -108
- package/dot_local/bin/executable_git-ai-commit +0 -160
- package/dot_local/bin/executable_git-ai-diff +0 -154
- package/dot_local/bin/executable_hash +0 -123
- package/dot_local/bin/executable_hex +0 -79
- package/dot_local/bin/executable_ip +0 -37
- package/dot_local/bin/executable_jsonv +0 -54
- package/dot_local/bin/executable_jwt +0 -78
- package/dot_local/bin/executable_kill-port +0 -59
- package/dot_local/bin/executable_lorem +0 -103
- package/dot_local/bin/executable_regex +0 -96
- package/dot_local/bin/executable_tmux-sessionizer +0 -187
- package/dot_local/bin/executable_tour +0 -137
- package/dot_local/bin/executable_update +0 -108
- package/dot_local/bin/executable_uuid +0 -57
- package/dot_local/bin/executable_yamlv +0 -39
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/dot_local/share/bash-completion/completions/dot +0 -54
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/install.sh +0 -255
- package/scripts/ci/validate-ci-config.sh +0 -222
- package/scripts/demo/record.sh +0 -41
- package/scripts/diagnostics/benchmark.sh +0 -201
- package/scripts/diagnostics/doctor.sh +0 -115
- package/scripts/diagnostics/drift-dashboard.sh +0 -26
- package/scripts/diagnostics/health.sh +0 -356
- package/scripts/diagnostics/history-analysis.sh +0 -77
- package/scripts/diagnostics/security-score.sh +0 -392
- package/scripts/dot/commands/appearance.sh +0 -63
- package/scripts/dot/commands/core.sh +0 -130
- package/scripts/dot/commands/diagnostics.sh +0 -100
- package/scripts/dot/commands/meta.sh +0 -117
- package/scripts/dot/commands/restore.sh +0 -209
- package/scripts/dot/commands/secrets.sh +0 -81
- package/scripts/dot/commands/security.sh +0 -73
- package/scripts/dot/commands/tools.sh +0 -228
- package/scripts/dot/lib/utils.sh +0 -72
- package/scripts/fonts/install-nerd-fonts.sh +0 -59
- package/scripts/fonts/patch-fonts.sh +0 -34
- package/scripts/ops/chezmoi-apply.sh +0 -42
- package/scripts/ops/chezmoi-diff.sh +0 -14
- package/scripts/ops/chezmoi-remove.sh +0 -43
- package/scripts/ops/chezmoi-update.sh +0 -16
- package/scripts/ops/heal.sh +0 -466
- package/scripts/ops/health-check.sh +0 -380
- package/scripts/ops/rollback.sh +0 -531
- package/scripts/ops/teleport.sh +0 -32
- package/scripts/secrets/age-init.sh +0 -69
- package/scripts/secrets/create-secrets-file.sh +0 -44
- package/scripts/secrets/encrypt-ssh-key.sh +0 -42
- package/scripts/security/backup.sh +0 -17
- package/scripts/security/dns-doh.sh +0 -29
- package/scripts/security/encryption-check.sh +0 -39
- package/scripts/security/enforce-policies.sh +0 -339
- package/scripts/security/firewall.sh +0 -34
- package/scripts/security/lock-configs.sh +0 -57
- package/scripts/security/lock-screen.sh +0 -33
- package/scripts/security/manage-secrets.sh +0 -415
- package/scripts/security/telemetry-kill.sh +0 -28
- package/scripts/security/usb-safety.sh +0 -29
- package/scripts/tests/README.md +0 -241
- package/scripts/tests/benchmark.sh +0 -91
- package/scripts/tests/framework/assertions.sh +0 -283
- package/scripts/tests/framework/mocks.sh +0 -201
- package/scripts/tests/framework/test_runner.sh +0 -189
- package/scripts/tests/integration/test_install.sh +0 -237
- package/scripts/tests/performance/benchmark_runner.sh +0 -156
- package/scripts/tests/performance/regression_check.sh +0 -73
- package/scripts/tests/performance/stress_test.sh +0 -65
- package/scripts/tests/test-docker.sh +0 -48
- package/scripts/tests/unit/test_ai_aliases.sh +0 -158
- package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
- package/scripts/tests/unit/test_backup.sh +0 -227
- package/scripts/tests/unit/test_case_functions.sh +0 -238
- package/scripts/tests/unit/test_cd_aliases.sh +0 -367
- package/scripts/tests/unit/test_dot_cli.sh +0 -217
- package/scripts/tests/unit/test_encode64.sh +0 -67
- package/scripts/tests/unit/test_environment.sh +0 -78
- package/scripts/tests/unit/test_extract.sh +0 -163
- package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
- package/scripts/tests/unit/test_genpass.sh +0 -298
- package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
- package/scripts/tests/unit/test_installers.sh +0 -172
- package/scripts/tests/unit/test_keygen.sh +0 -68
- package/scripts/tests/unit/test_logging.sh +0 -96
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
- package/scripts/tests/unit/test_prependpath.sh +0 -66
- package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
- package/scripts/tests/unit/test_rd.sh +0 -230
- package/scripts/tests/unit/test_security_fixes.sh +0 -130
- package/scripts/tests/unit/test_security_scripts.sh +0 -87
- package/scripts/tests/unit/test_template_validation.sh +0 -238
- package/scripts/tests/unit/test_utility_functions.sh +0 -144
- package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
- package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
- package/scripts/tests/unit/test_zipf.sh +0 -76
- package/scripts/theme/apply-gnome-theme.sh +0 -297
- package/scripts/theme/install-boot-logo.sh +0 -61
- package/scripts/theme/install-catppuccin-themes.sh +0 -346
- package/scripts/theme/install-cursors.sh +0 -24
- package/scripts/theme/install-file-icons.sh +0 -25
- package/scripts/theme/install-grub-theme.sh +0 -51
- package/scripts/theme/install-lock-icon.sh +0 -29
- package/scripts/theme/switch.sh +0 -250
- package/scripts/theme/wallpaper-rotate.sh +0 -82
- package/scripts/theme/wallpaper-sync.sh +0 -42
- package/scripts/tools/cmatrix.sh +0 -20
- package/scripts/tools/emoji-picker.sh +0 -45
- package/scripts/tools/figlet-banner.sh +0 -17
- package/scripts/tools/log-rotate.sh +0 -29
- package/scripts/tools/lolcat-wrap.sh +0 -18
- package/scripts/tools/pipes.sh +0 -47
- package/scripts/tuning/linux.sh +0 -175
- package/scripts/tuning/macos.sh +0 -46
- package/templates/projects/molecule/README.md +0 -7
- package/templates/projects/molecule/converge.yml +0 -7
- package/templates/projects/molecule/molecule.yml +0 -16
- package/templates/projects/packer/README.md +0 -15
- package/templates/projects/packer/main.pkr.hcl +0 -15
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -1,228 +1,61 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Architecture & Design
|
|
2
2
|
|
|
3
|
-
v0.2.
|
|
3
|
+
v0.2.471 constitutes a portable **Shell Distribution** managed by `chezmoi`. This document outlines the core architectural decisions and system design.
|
|
4
4
|
|
|
5
|
-
## Core
|
|
5
|
+
## 1. Core Philosophy
|
|
6
6
|
|
|
7
|
-
- **XDG-
|
|
8
|
-
- **Single
|
|
9
|
-
- **Zero-
|
|
10
|
-
- **Lazy-by-default**: Heavy tooling (fnm, nvm, SDKMAN, tool-specific aliases) is deferred until first use or after the first prompt to keep shell startup fast.
|
|
7
|
+
- **XDG-First**: configuration is strictly mapped to `~/.config/` (XDG Base Directory specification). We avoid `~/.foo` file sprawl in the home directory.
|
|
8
|
+
- **Single Entrypoint**: `dot_zshenv` acts as the "Bootloader". It is loaded by Zsh immediately and sets up the environment (XDG variables, PATH) before any other initialization occurs.
|
|
9
|
+
- **Zero-Dependency Bootstrap**: The installation process relies only on `curl` and `git` (and `chezmoi`, which it self-installs).
|
|
11
10
|
|
|
12
|
-
##
|
|
11
|
+
## 2. Directory Structure
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
DOTFILES ARCHITECTURE
|
|
16
|
-
================================================================================
|
|
17
|
-
|
|
18
|
-
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
19
|
-
│ INSTALLATION │
|
|
20
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
21
|
-
│ │ curl │───▶│ install │───▶│ chezmoi │───▶│ apply │ │
|
|
22
|
-
│ │ │ │ .sh │ │ init │ │ │ │
|
|
23
|
-
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|
24
|
-
└─────────────────────────────────────────────────────────────────────────────┘
|
|
25
|
-
│
|
|
26
|
-
▼
|
|
27
|
-
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
28
|
-
│ SHELL STARTUP │
|
|
29
|
-
│ │
|
|
30
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
31
|
-
│ │ .zshenv │───▶│ .zshrc │───▶│ aliases │───▶│functions │ │
|
|
32
|
-
│ │(bootload)│ │ │ │ │ │ │ │
|
|
33
|
-
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|
34
|
-
│ │ │
|
|
35
|
-
│ ▼ │
|
|
36
|
-
│ ┌──────────┐ │
|
|
37
|
-
│ │ XDG vars │ │
|
|
38
|
-
│ │ PATH │ │
|
|
39
|
-
│ └──────────┘ │
|
|
40
|
-
└─────────────────────────────────────────────────────────────────────────────┘
|
|
41
|
-
│
|
|
42
|
-
▼
|
|
43
|
-
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
44
|
-
│ CONFIGURATION LAYERS │
|
|
45
|
-
│ │
|
|
46
|
-
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
|
47
|
-
│ │ ~/.config/ │ │
|
|
48
|
-
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
|
|
49
|
-
│ │ │ nvim │ │ git │ │ shell │ │ghostty │ │ tmux │ │ │
|
|
50
|
-
│ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ │
|
|
51
|
-
│ └─────────────────────────────────────────────────────────────────────┘ │
|
|
52
|
-
│ │
|
|
53
|
-
│ ┌─────────────────────────────────────────────────────────────────────┐ │
|
|
54
|
-
│ │ ~/.local/bin/ │ │
|
|
55
|
-
│ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │
|
|
56
|
-
│ │ │ dot │ │scripts │ │ utils │ │ │
|
|
57
|
-
│ │ └────────┘ └────────┘ └────────┘ │ │
|
|
58
|
-
│ └─────────────────────────────────────────────────────────────────────┘ │
|
|
59
|
-
└─────────────────────────────────────────────────────────────────────────────┘
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Directory structure
|
|
64
|
-
|
|
65
|
-
The repository follows standard `chezmoi` conventions.
|
|
13
|
+
The repository follows standard `chezmoi` conventions:
|
|
66
14
|
|
|
67
15
|
```text
|
|
68
|
-
~/.
|
|
69
|
-
├── dot_config/ #
|
|
16
|
+
~/.local/share/chezmoi/
|
|
17
|
+
├── dot_config/ # Mapped to ~/.config/
|
|
70
18
|
│ ├── atuin/ # Shell history
|
|
71
19
|
│ ├── ghostty/ # Terminal emulator
|
|
72
20
|
│ ├── shell/ # Core shell logic (aliases, functions)
|
|
73
21
|
│ ├── nvim/ # Neovim IDE configuration
|
|
74
|
-
│
|
|
75
|
-
|
|
76
|
-
│
|
|
77
|
-
|
|
78
|
-
│ ├── mongosh/ # MongoDB Shell
|
|
79
|
-
│ ├── redis/ # Redis CLI
|
|
80
|
-
│ ├── minikube/ # Minikube config
|
|
81
|
-
│ └── zsh/ # Zsh-specific config
|
|
82
|
-
├── dot_local/ # Maps to ~/.local/
|
|
83
|
-
│ └── bin/ # Scripts added to PATH
|
|
84
|
-
├── dot_zshenv # The environment bootloader
|
|
85
|
-
├── dot_psqlrc # PostgreSQL CLI config
|
|
86
|
-
├── dot_sqliterc # SQLite CLI config
|
|
22
|
+
│ └── zsh/ # Zsh specific config
|
|
23
|
+
├── dot_local/ # Mapped to ~/.local/
|
|
24
|
+
│ └── bin/ # User scripts (added to PATH)
|
|
25
|
+
├── dot_zshenv # The Environment Bootloader
|
|
87
26
|
├── .chezmoitemplates/ # Reusable logic blocks
|
|
88
|
-
│ ├── aliases/ # Alias definitions by category
|
|
89
|
-
│ ├── functions/ # Shell functions
|
|
90
|
-
│ └── paths/ # PATH configurations
|
|
91
|
-
├── nix/ # Nix flake for optional toolchain
|
|
92
|
-
│ └── flake.nix
|
|
93
|
-
├── install/ # Installation scripts
|
|
94
|
-
│ ├── helpers/ # Helper scripts
|
|
95
|
-
│ └── provision/ # OS-specific provisioning
|
|
96
27
|
└── install.sh # Universal bootstrapping script
|
|
97
28
|
```
|
|
98
29
|
|
|
99
|
-
##
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
103
|
-
│ chezmoi │────▶│ templates │────▶│ target dir │
|
|
104
|
-
│ source │ │ (.tmpl) │ │ (~/.*) │
|
|
105
|
-
└──────────────┘ └──────────────┘ └──────────────┘
|
|
106
|
-
│ │ │
|
|
107
|
-
│ ▼ │
|
|
108
|
-
│ ┌──────────────┐ │
|
|
109
|
-
│ │ .chezmoidata │ │
|
|
110
|
-
│ │ (data) │ │
|
|
111
|
-
│ └──────────────┘ │
|
|
112
|
-
│ │
|
|
113
|
-
└───────────────────┬─────────────────────┘
|
|
114
|
-
│
|
|
115
|
-
▼
|
|
116
|
-
┌──────────────┐
|
|
117
|
-
│ hooks │
|
|
118
|
-
│ (scripts) │
|
|
119
|
-
└──────────────┘
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Shell startup flow
|
|
123
|
-
|
|
124
|
-
Zsh loads files in a specific order. Dotfiles uses this to layer configuration predictably.
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
dot_zshenv # Phase 0: XDG vars, essential PATH (~/.local/bin, Homebrew)
|
|
128
|
-
└─▶ dot_config/zsh/dot_zshrc # Phase 1: Main orchestrator
|
|
129
|
-
├─▶ rc.d/10-env.zsh # Phase 2: Environment variables
|
|
130
|
-
├─▶ rc.d/20-zinit.zsh # Phase 3: Plugin manager (Zinit)
|
|
131
|
-
├─▶ rc.d/30-options.zsh # Phase 4: History, keybindings, lazy-loaders (fnm, nvm, SDKMAN)
|
|
132
|
-
├─▶ rc.d/40-plugins.zsh # Phase 5: Zinit plugins
|
|
133
|
-
├─▶ rc.d/50-vi-mode.zsh # Phase 6: Vi-mode configuration
|
|
134
|
-
│
|
|
135
|
-
├─▶ shell/00-core-paths # Phase 7: Full PATH construction
|
|
136
|
-
├─▶ shell/05-core-safety # Phase 8: Safety defaults (umask, etc.)
|
|
137
|
-
├─▶ shell/40-ls-colors # Phase 9: LS_COLORS
|
|
138
|
-
├─▶ shell/50-logic-funcs # Phase 10: Shell functions (60+)
|
|
139
|
-
├─▶ shell/90-ux-aliases # Phase 11: Core aliases (eager, ~40KB)
|
|
140
|
-
│
|
|
141
|
-
├─▶ [precmd hook] # Phase 12: Lazy-load tool aliases (~137KB, after first prompt)
|
|
142
|
-
│ └─▶ shell/91-ux-aliases-lazy
|
|
143
|
-
│
|
|
144
|
-
├─▶ atuin init # Phase 13: Shell history
|
|
145
|
-
├─▶ starship init # Phase 14: Prompt
|
|
146
|
-
├─▶ zoxide init # Phase 15: Smart cd
|
|
147
|
-
└─▶ fzf init # Phase 16: Fuzzy finder
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### rc.d load order
|
|
151
|
-
|
|
152
|
-
Files under `~/.config/zsh/rc.d/` are sourced in **glob order** (alphabetical by filename). The numeric prefix controls execution order:
|
|
153
|
-
|
|
154
|
-
| Range | Purpose | Examples |
|
|
155
|
-
|-------|---------|---------|
|
|
156
|
-
| `10-*` | Environment variables, exports | `10-env.zsh` |
|
|
157
|
-
| `20-*` | Plugin manager bootstrap | `20-zinit.zsh` |
|
|
158
|
-
| `30-*` | Shell options, lazy-loaders | `30-options.zsh` |
|
|
159
|
-
| `40-*` | Plugin declarations | `40-plugins.zsh` |
|
|
160
|
-
| `50-*` | Input mode (vi-mode) | `50-vi-mode.zsh` |
|
|
161
|
-
|
|
162
|
-
### shell/ load order
|
|
163
|
-
|
|
164
|
-
Files under `~/.config/shell/` are sourced explicitly by `dot_zshrc` in lexical order:
|
|
165
|
-
|
|
166
|
-
| Range | Purpose | Examples |
|
|
167
|
-
|-------|---------|---------|
|
|
168
|
-
| `00-19` | Core: PATH, safety | `00-core-paths.sh`, `05-core-safety.sh` |
|
|
169
|
-
| `40-49` | Middleware: colors, exports | `40-ls-colors.sh` |
|
|
170
|
-
| `50-89` | Toolchain: functions | `50-logic-functions.sh` |
|
|
171
|
-
| `90-99` | UX: aliases, prompts | `90-ux-aliases.sh` (eager), `91-ux-aliases-lazy.sh` (deferred) |
|
|
172
|
-
|
|
173
|
-
### Alias system
|
|
174
|
-
|
|
175
|
-
Aliases are defined in `.chezmoitemplates/aliases/` with one directory per category:
|
|
176
|
-
|
|
177
|
-
```text
|
|
178
|
-
.chezmoitemplates/aliases/
|
|
179
|
-
├── cd/cd.aliases.sh # Directory navigation
|
|
180
|
-
├── git/git.aliases.sh # Git shortcuts
|
|
181
|
-
├── docker/docker.aliases.sh # Container management
|
|
182
|
-
├── kubernetes/kubernetes.aliases.sh
|
|
183
|
-
├── python/python.aliases.sh
|
|
184
|
-
├── rust/rust.aliases.sh
|
|
185
|
-
└── ... (50+ categories, each with README.md)
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
At `chezmoi apply` time, Chezmoi's `glob` function discovers all `*.aliases.sh` files and aggregates them into two output files:
|
|
189
|
-
|
|
190
|
-
- **`90-ux-aliases.sh`** — 14 core categories (cd, git, editor, sudo, etc.) loaded eagerly at startup.
|
|
191
|
-
- **`91-ux-aliases-lazy.sh`** — 35+ tool-specific categories (docker, kubernetes, terraform, etc.) loaded after the first prompt via a `precmd` hook.
|
|
192
|
-
|
|
193
|
-
**Ordering convention:** Templates are included in **alphabetical order** by their file path. This is implicit — renaming a file changes its load position. At current scale (~50 categories) this is acceptable; if the count exceeds ~100, consider introducing an explicit manifest.
|
|
194
|
-
|
|
195
|
-
## Modern toolchain
|
|
30
|
+
## 3. Modern Toolchain
|
|
196
31
|
|
|
197
|
-
|
|
32
|
+
We replace distinct Unix legacy tools with high-performance Rust alternatives:
|
|
198
33
|
|
|
199
|
-
| Legacy | Modern
|
|
34
|
+
| Legacy | Modern Replacement | Purpose |
|
|
200
35
|
| :--- | :--- | :--- |
|
|
201
36
|
| `ls` | `eza` | Modern file listing with git integration |
|
|
202
37
|
| `cat` | `bat` | Syntax highlighted file viewing |
|
|
203
|
-
| `grep` | `ripgrep` (`rg`) |
|
|
38
|
+
| `grep` | `ripgrep` (`rg`) | Blazing fast search |
|
|
204
39
|
| `cd` | `zoxide` | Smart directory jumping |
|
|
205
40
|
| `history` | `atuin` | Syncable, encrypted SQLite history |
|
|
206
|
-
| `find` | `fd` |
|
|
41
|
+
| `find` | `fd` | User-friendly filesystem search |
|
|
207
42
|
| `vim` | `neovim` | Lua-extensible IDE |
|
|
208
|
-
| `diff` | `delta` | Syntax-highlighted diffs |
|
|
209
43
|
|
|
210
|
-
## Predictive
|
|
44
|
+
## 4. Predictive Shell Strategy
|
|
211
45
|
|
|
212
|
-
- **AI
|
|
46
|
+
- **AI Integration**: The shell is "AI Aware" via the `ai_core` wrapper.
|
|
213
47
|
- **Autosuggestions**: Context-aware completion based on shell history.
|
|
214
|
-
- **Error
|
|
48
|
+
- **Error Analysis**: Hooks to send failed command context to local LLMs or GitHub Copilot for explanation.
|
|
215
49
|
|
|
216
|
-
## Security
|
|
50
|
+
## 5. Security Posture
|
|
217
51
|
|
|
218
|
-
- **Hardened
|
|
219
|
-
- **Supply
|
|
220
|
-
- **Pinned
|
|
221
|
-
- **Immutable
|
|
222
|
-
- **Audit
|
|
223
|
-
- **Encryption**: `age` encrypts all sensitive data.
|
|
52
|
+
- **Hardened Defaults**: Shell scripts run with `set -euo pipefail` to fail fast.
|
|
53
|
+
- **Supply Chain Safety**:
|
|
54
|
+
- **Pinned Installation**: Installers reference specific Git tags (e.g., `v0.2.471`), not `main`.
|
|
55
|
+
- **Immutable History**: Logic logic is version controlled and reviewable via `chezmoi diff`.
|
|
56
|
+
- **Audit Logging**: All mutations are logged to `~/.dotfiles_audit.log`.
|
|
224
57
|
|
|
225
|
-
## Compatibility
|
|
58
|
+
## 6. Compatibility
|
|
226
59
|
|
|
227
60
|
- **macOS**: Full support (Homebrew, defaults).
|
|
228
61
|
- **Linux**: Debian/Ubuntu support (apt-get).
|
package/docs/COMPLIANCE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Compliance
|
|
1
|
+
# Regulatory Compliance & Security Controls
|
|
2
2
|
|
|
3
3
|
This document maps the dotfiles configuration and tooling to standard regulatory frameworks (SOC 2, ISO 27001, GDPR).
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🛡️ Control Mappings
|
|
6
6
|
|
|
7
7
|
### SOC 2 Type II
|
|
8
8
|
|
|
@@ -11,7 +11,7 @@ This document maps the dotfiles configuration and tooling to standard regulatory
|
|
|
11
11
|
| **CC6.1** | Logical Access Security | `zsh` restricted permissions, SSH key management via `1Password`/Agents. |
|
|
12
12
|
| **CC6.8** | Unauthorized Code Protection | `enable-signing` enforces GPG/SSH signed commits. `slsa-framework` workflow. |
|
|
13
13
|
| **CC8.1** | Change Management | All changes managed via git (Infrastructure as Code). `lock-configs` for immutability. |
|
|
14
|
-
| **A1.2** | Audit Logs |
|
|
14
|
+
| **A1.2** | Audit Logs | `dotfiles_audit.log` tracks all configuration applications (`chezmoi apply`). |
|
|
15
15
|
|
|
16
16
|
### ISO 27001
|
|
17
17
|
|
|
@@ -25,23 +25,23 @@ This document maps the dotfiles configuration and tooling to standard regulatory
|
|
|
25
25
|
|
|
26
26
|
| Requirement | Description | Dotfiles Implementation |
|
|
27
27
|
| :--- | :--- | :--- |
|
|
28
|
-
| **Data
|
|
28
|
+
| **Data Minimization** | Limit data collection | `privacy-mode` disables CLI telemetry (Dotnet, Brew, Functions). |
|
|
29
29
|
| **Integrity** | Protect against tampering | `lock-configs` prevents unauthorized modification of shell history/config. |
|
|
30
30
|
|
|
31
|
-
## Security
|
|
31
|
+
## 🔒 Security Features
|
|
32
32
|
|
|
33
33
|
### Immutability
|
|
34
|
-
|
|
34
|
+
Critical configuration files can be locked to prevent tampering:
|
|
35
35
|
```bash
|
|
36
36
|
lock-configs # Sets chflags uchg (macOS) or chattr +i (Linux)
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
### Forensic
|
|
40
|
-
|
|
39
|
+
### Forensic Audit
|
|
40
|
+
All `chezmoi` operations are logged. View audit trails:
|
|
41
41
|
```bash
|
|
42
42
|
dot audit
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
### Supply
|
|
46
|
-
- **SBOM**:
|
|
45
|
+
### Supply Chain Security
|
|
46
|
+
- **SBOM**: Generated for every release (SPDX format).
|
|
47
47
|
- **Provenance**: SLSA Level 3 build attestation.
|
package/docs/COPYRIGHT
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.
|
|
3
|
-
* Made
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) 2015-2026. All rights reserved.
|
|
2
|
+
* 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
3
|
+
* Made with ♥ in London, UK by Sebastien Rousseau
|
|
4
|
+
* Copyright (c) 2015-2024. All rights reserved
|
|
6
5
|
* License: MIT
|
|
7
6
|
*/
|
package/docs/OPERATIONS.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Operational Guide
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This document outlines the standard workflows to **Maintain**, **Update**, and **Operate** your dotfiles environment across all supported platforms.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## 🏗️ Platform-Specific Operations
|
|
8
8
|
|
|
9
|
-
### macOS
|
|
10
|
-
**Primary
|
|
9
|
+
### 🍎 macOS
|
|
10
|
+
**Primary Manager**: `Homebrew`
|
|
11
11
|
|
|
12
|
-
- **Update
|
|
12
|
+
- **Update System**:
|
|
13
13
|
```bash
|
|
14
14
|
# Updates Dotfiles AND Homebrew packages
|
|
15
15
|
chezmoi update
|
|
@@ -17,13 +17,13 @@ This guide covers the core workflows to keep your dotfiles running well across p
|
|
|
17
17
|
*Behind the scenes, this runs `brew bundle install` to match the `Brewfile.lock.json`.*
|
|
18
18
|
|
|
19
19
|
- **Troubleshooting**:
|
|
20
|
-
- **Permission
|
|
20
|
+
- **Permission Issues**: `sudo chown -R $(whoami) $(brew --prefix)/*`
|
|
21
21
|
- **Drift**: Run `brew bundle cleanup` to remove unmanaged packages.
|
|
22
22
|
|
|
23
|
-
### Linux (Debian, Ubuntu, ZorinOS, Kali)
|
|
24
|
-
**Primary
|
|
23
|
+
### 🐧 Linux (Debian, Ubuntu, ZorinOS, Kali)
|
|
24
|
+
**Primary Manager**: `apt-get` / `snap`
|
|
25
25
|
|
|
26
|
-
- **Update
|
|
26
|
+
- **Update System**:
|
|
27
27
|
```bash
|
|
28
28
|
# 1. Update OS packages
|
|
29
29
|
sudo apt update && sudo apt upgrade -y
|
|
@@ -31,100 +31,73 @@ This guide covers the core workflows to keep your dotfiles running well across p
|
|
|
31
31
|
# 2. Update Dotfiles
|
|
32
32
|
chezmoi update
|
|
33
33
|
```
|
|
34
|
-
|
|
35
|
-
> On Linux, `chezmoi` focuses on configuration. Package updates work best with the OS package manager to avoid `sudo` conflicts.
|
|
34
|
+
*Note: `chezmoi` on Linux focuses on configuration. Package updates are often best handled by the OS package manager to avoid `sudo` conflicts.*
|
|
36
35
|
|
|
37
36
|
- **Troubleshooting**:
|
|
38
|
-
- **Font
|
|
39
|
-
- **ZorinOS/
|
|
37
|
+
- **Font Issues**: If icons are missing, run `./provision/run_onchange_50-install-fonts.sh` manually.
|
|
38
|
+
- **ZorinOS/Gnome**: Custom keybindings may need `dconf load` if not applied automatically.
|
|
40
39
|
|
|
41
|
-
### Windows (WSL2)
|
|
42
|
-
**Primary
|
|
40
|
+
### 🪟 Windows (WSL2)
|
|
41
|
+
**Primary Manager**: `apt-get` (inside WSL)
|
|
43
42
|
|
|
44
|
-
- **Update
|
|
43
|
+
- **Update System**: Same as **Linux**.
|
|
45
44
|
|
|
46
|
-
- **WSL
|
|
47
|
-
- **Access Windows
|
|
48
|
-
- **Clipboard**:
|
|
49
|
-
- **Performance**:
|
|
45
|
+
- **WSL Specifics**:
|
|
46
|
+
- **Access Windows Files**: Windows drives are mounted at `/mnt/c/`.
|
|
47
|
+
- **Clipboard**: The setup configures `win32yank.exe` automatically for clipboard sharing.
|
|
48
|
+
- **Performance**: We recommend keeping project files inside the Linux filesystem (`~/projects`), NOT in `/mnt/c/`, for 100x better IO performance.
|
|
50
49
|
|
|
51
50
|
---
|
|
52
51
|
|
|
53
|
-
## Workflows
|
|
52
|
+
## 🔄 Common Workflows
|
|
54
53
|
|
|
55
|
-
###
|
|
54
|
+
### Applying Changes
|
|
56
55
|
After editing any config file:
|
|
57
56
|
```bash
|
|
58
|
-
|
|
57
|
+
chezmoi apply
|
|
59
58
|
```
|
|
60
59
|
*Triggers: `dot_zshrc` reload, audit logging.*
|
|
61
60
|
|
|
62
|
-
###
|
|
63
|
-
If an update breaks your setup
|
|
61
|
+
### Rolling Back
|
|
62
|
+
If an update breaks your setup:
|
|
64
63
|
```bash
|
|
65
|
-
cd ~/.
|
|
64
|
+
cd ~/.local/share/chezmoi
|
|
66
65
|
git reset --hard HEAD@{1} # Go back 1 operation
|
|
67
66
|
chezmoi apply
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
###
|
|
71
|
-
If something
|
|
69
|
+
### Debugging
|
|
70
|
+
If something feels slow or broken:
|
|
72
71
|
|
|
73
|
-
1. **Check
|
|
72
|
+
1. **Check Health**:
|
|
74
73
|
```bash
|
|
75
74
|
dot doctor
|
|
76
75
|
```
|
|
77
|
-
2. **Verbose
|
|
76
|
+
2. **Verbose Mode**:
|
|
78
77
|
```bash
|
|
79
|
-
DOTFILES_DEBUG=1
|
|
78
|
+
DOTFILES_DEBUG=1 chezmoi apply
|
|
80
79
|
```
|
|
81
80
|
|
|
82
81
|
---
|
|
83
82
|
|
|
84
|
-
##
|
|
85
|
-
|
|
86
|
-
### Make it yours
|
|
87
|
-
- **Wallpaper rotation**:
|
|
88
|
-
```bash
|
|
89
|
-
~/.dotfiles/scripts/theme/wallpaper-rotate.sh --interval 300
|
|
90
|
-
```
|
|
91
|
-
- **Cursor theme (Linux)**:
|
|
92
|
-
```bash
|
|
93
|
-
DOTFILES_CURSOR_THEME=Papirus ~/.dotfiles/scripts/theme/install-cursors.sh
|
|
94
|
-
```
|
|
95
|
-
- **File icons (Linux/macOS)**:
|
|
96
|
-
```bash
|
|
97
|
-
DOTFILES_ICON_THEME=Papirus ~/.dotfiles/scripts/theme/install-file-icons.sh
|
|
98
|
-
```
|
|
99
|
-
- **Lock icon (Linux)**:
|
|
100
|
-
```bash
|
|
101
|
-
DOTFILES_LOCK_ICON=~/.config/dotfiles/lock/icon.png ~/.dotfiles/scripts/theme/install-lock-icon.sh
|
|
102
|
-
```
|
|
103
|
-
- **GRUB theme (Linux)**:
|
|
104
|
-
```bash
|
|
105
|
-
sudo ~/.dotfiles/scripts/theme/install-grub-theme.sh --apply
|
|
106
|
-
```
|
|
107
|
-
- **Boot logo (Linux)**:
|
|
108
|
-
```bash
|
|
109
|
-
sudo ~/.dotfiles/scripts/theme/install-boot-logo.sh --apply
|
|
110
|
-
```
|
|
83
|
+
## 🛠️ Tool-Specific Guides
|
|
111
84
|
|
|
112
|
-
### Atuin
|
|
85
|
+
### 📦 Atuin (History Sync)
|
|
113
86
|
- **Login**: `atuin login`
|
|
114
87
|
- **Sync**: `atuin sync`
|
|
115
88
|
- **Search**: `Ctrl-r` (Global history search)
|
|
116
89
|
|
|
117
|
-
### Zoxide
|
|
90
|
+
### 🚀 Zoxide (Smart CD)
|
|
118
91
|
- **Jump**: `z project` matches `~/dev/project`
|
|
119
92
|
- **Query**: `zi` (Interactive selection)
|
|
120
93
|
|
|
121
|
-
### Yazi
|
|
94
|
+
### 🌳 Yazi (File Manager)
|
|
122
95
|
- **Open**: Type `y`
|
|
123
96
|
- **Preview**: Spacebar to preview files
|
|
124
97
|
- **Quit**: `q`
|
|
125
98
|
|
|
126
99
|
---
|
|
127
100
|
|
|
128
|
-
## Security
|
|
129
|
-
- **GPG/SSH**: All commits
|
|
130
|
-
- **Audit
|
|
101
|
+
## 🔐 Security Policy
|
|
102
|
+
- **GPG/SSH**: All commits are SSH signed.
|
|
103
|
+
- **Audit Log**: Review `~/.dotfiles_audit.log` for a timeline of all changes applied to your system.
|
package/docs/PLAN.md
CHANGED
|
@@ -96,7 +96,7 @@ Establish a "Trust Layer" for the dotfiles ecosystem, ensuring supply chain secu
|
|
|
96
96
|
Enable the system to self-diagnose and repair configuration drift.
|
|
97
97
|
|
|
98
98
|
## Changes
|
|
99
|
-
- **Scripts**: Created `scripts/
|
|
99
|
+
- **Scripts**: Created `scripts/doctor.sh` for system health checks.
|
|
100
100
|
- **Aliases**: Added `dot doctor`, `dot drift` (`chezmoi verify`), and `dot heal` (`chezmoi apply`).
|
|
101
101
|
|
|
102
102
|
# Phase 51: Regulatory Compliance [COMPLETED]
|
|
@@ -144,7 +144,7 @@ Prepare the dotfiles for system-wide deployment and ensure strict adherence to s
|
|
|
144
144
|
## Proposed Changes
|
|
145
145
|
- **XDG Compliance**: Audit `00-default.paths.sh` to ensure all standard XDG variables are exported.
|
|
146
146
|
- **Vendor Hooks**: Update `dot_zshrc.tmpl` to source system-level overrides from `/etc/dotfiles/defaults.d/` (Simulates "site-local" config).
|
|
147
|
-
- **Bundling**: Create `scripts/
|
|
147
|
+
- **Bundling**: Create `scripts/package.sh` to create a distributable tarball and scaffold `.deb`/`.pkg` generation logic.
|
|
148
148
|
|
|
149
149
|
# Phase 24: The Universal Installer (Zero-Dependency) [COMPLETED]
|
|
150
150
|
|
|
@@ -158,4 +158,4 @@ Provide a frictionless, "one-curl" onboarding experience and capabilities to dep
|
|
|
158
158
|
3. Initializes the dotfiles repo.
|
|
159
159
|
4. Runs `chezmoi apply`.
|
|
160
160
|
5. Uses ANSI colors for a polished "TUI" feel.
|
|
161
|
-
- **Teleportation**: `scripts/
|
|
161
|
+
- **Teleportation**: `scripts/teleport.sh` using `chezmoi archive` piped to SSH to ephemeralize configs on remote servers (e.g., `dot teleport user@server`).
|