@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/PR_DESCRIPTION.md
CHANGED
|
@@ -1,149 +1,150 @@
|
|
|
1
|
-
#
|
|
1
|
+
# PR Title
|
|
2
|
+
feat(core): Rel v0.2.471 - Universal Config, Security & Performance
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
# PR Description
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
## 🚀 v0.2.471 Release: Universal Configuration
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
v0.2.480 is a portable **shell distribution** managed by `chezmoi` (source of truth in `~/.dotfiles`).
|
|
8
|
+
This release transforms the dotfiles into a high-performance, universally compatible system managed by **chezmoi**.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
### 🏗️ Technical Architecture
|
|
11
|
+
v0.2.471 is not just "dotfiles" but a portable **Shell Distribution** managed by `chezmoi` ("source of truth" in `~/.local/share/chezmoi`).
|
|
12
|
+
|
|
13
|
+
- **XDG-First**: Configs strictly mapped to `~/.config/` (No `~/.foo` sprawl).
|
|
14
|
+
- **Single Entrypoint**: `dot_zshenv` acts as an XDG bootloader for instant environment setup.
|
|
15
|
+
- **Modern Toolchain**: Replaces classic Unix tools with high-performance Rust alternatives:
|
|
13
16
|
- `ls` → `eza`
|
|
14
17
|
- `cat` → `bat`
|
|
15
18
|
- `grep` → `ripgrep`
|
|
16
|
-
- `cd` → `zoxide` (
|
|
17
|
-
- `history` → `atuin` (
|
|
18
|
-
- **Predictive
|
|
19
|
-
- **AI
|
|
20
|
-
- **Error
|
|
21
|
-
|
|
22
|
-
### Non-
|
|
23
|
-
- **Not a
|
|
24
|
-
- **Not POSIX-
|
|
25
|
-
- **Not
|
|
26
|
-
|
|
27
|
-
### Security
|
|
28
|
-
- **Hardened by
|
|
29
|
-
- **Supply
|
|
30
|
-
- **Pinned
|
|
31
|
-
- **Zero-
|
|
32
|
-
- **Threat
|
|
33
|
-
- **Audit
|
|
34
|
-
|
|
35
|
-
### Changes
|
|
19
|
+
- `cd` → `zoxide` (Smart Directory Jumping)
|
|
20
|
+
- `history` → `atuin` (Syncable, Encrypted SQlite history)
|
|
21
|
+
- **Predictive Shell**:
|
|
22
|
+
- **AI Strategy**: Context-aware autosuggestions coupled with optional local LLM integration (`ai_core`).
|
|
23
|
+
- **Error Analysis**: Smart wrappers to analyze command failures via `gh copilot` or local models.
|
|
24
|
+
|
|
25
|
+
### 🚫 Non-Goals
|
|
26
|
+
- **Not a Framework**: This is a curated distribution, not a plugin manager like Oh-My-Zsh.
|
|
27
|
+
- **Not POSIX-Pure**: Prioritizes modern Zsh/Rust features over strict POSIX compliance.
|
|
28
|
+
- **Not Minimal**: Optimizes for functionality and speed, not line-count minimalism.
|
|
29
|
+
|
|
30
|
+
### 🛡️ Security Posture
|
|
31
|
+
- **Hardened by Default**: Scripts run with `set -euo pipefail` to fail fast on errors.
|
|
32
|
+
- **Supply Chain Safety**:
|
|
33
|
+
- **Pinned Install**: Installation commands are pinned to the specific release tag (`v0.2.471`) to prevent drift.
|
|
34
|
+
- **Zero-Trust**: No implicit reliance on `main` branch code in production.
|
|
35
|
+
- **Threat Model**: This project assumes a **trusted local machine** and focuses on supply-chain (pinned versions) and configuration safety (immutable history).
|
|
36
|
+
- **Audit Logging**: All `chezmoi` mutations are logged to `~/.dotfiles_audit.log` for day-2 operations review.
|
|
37
|
+
|
|
38
|
+
### 🛠️ Changes
|
|
36
39
|
- **Migrated**:
|
|
37
40
|
- Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
|
|
38
|
-
-
|
|
39
|
-
-
|
|
41
|
+
- Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
|
|
42
|
+
- Neovim: `~/.config/nvim` fully managed via Lua/Lazy.nvim.
|
|
43
|
+
- Tmux: Modular config consolidated to `~/.local/share/chezmoi/dot_tmux.conf`.
|
|
40
44
|
- **Packaging**:
|
|
41
45
|
- `Brewfile` (macOS) and `apt-get` (Linux) handled automatically.
|
|
42
46
|
- **Structural**:
|
|
43
47
|
- **Renamed**: `dot_config/dotfiles` → `dot_config/shell` for semantic clarity.
|
|
44
48
|
- **Moved**: `bin/` → `dot_local/bin/` for automatic path integration.
|
|
45
|
-
- **
|
|
46
|
-
- **Layered
|
|
49
|
+
- **Segregated**: Install scripts split by OS (Darwin/Linux) for cleaner logic.
|
|
50
|
+
- **Layered Architecture**: Refactored shell config into explicit layers:
|
|
47
51
|
- `00-core`: Safety/Paths
|
|
48
52
|
- `50-logic`: Functions/Toolchain
|
|
49
53
|
- `90-ux`: Aliases/Theme
|
|
50
|
-
- **Trust
|
|
51
|
-
- **Pinned
|
|
52
|
-
- **Binary
|
|
53
|
-
### Quality
|
|
54
|
-
- **Conflict
|
|
55
|
-
- **Git
|
|
54
|
+
- **Trust & Reproducibility**:
|
|
55
|
+
- **Pinned Formulae**: Generated `Brewfile.lock.json` for strictly reproducible macOS builds.
|
|
56
|
+
- **Binary Pinning**: `install.sh` now enforces specific version tags for initial bootstrap.
|
|
57
|
+
### 🔒 Security & Quality
|
|
58
|
+
- **Conflict Resolution**: Detected and resolved **46 namespace collisions** across all alias modules (Git, Go, Archives, etc.) to ensure zero overlap.
|
|
59
|
+
- **Git Safety**: Renamed colliding Go aliases (e.g., `gr` -> `gor`) to protect core Git commands.
|
|
56
60
|
- **Modernization**: Merged `list` into `modern` for a cohesive Rust-based toolchain experience (`eza`, `bat`).
|
|
57
61
|
- **Standardization**: Removed duplicate logging functions in favor of a shared utility.
|
|
58
|
-
- **Documentation**: All 30+ component READMEs now
|
|
62
|
+
- **Documentation**: All 30+ component READMEs are now 100% accurate and verified.
|
|
59
63
|
|
|
60
|
-
### Toolchain
|
|
64
|
+
### 🛠️ Start-of-Art Toolchain
|
|
61
65
|
- **Kubernetes**: Added `kubectl`, `helm`, `k9s` aliases.
|
|
62
66
|
- **IaC**: Added `terraform`, `opentofu`, `ansible`.
|
|
63
67
|
- **Languages**: Added ecosystem support for `go`, `yarn`, `uv` (modern Python).
|
|
64
|
-
- **AI
|
|
65
|
-
- **Smart
|
|
68
|
+
- **AI Integration**: Added wrappers for `gh copilot`, `fabric`, and local LLMs.
|
|
69
|
+
- **Smart Help**: Introduced `dothelp` to strictly search and index custom functions.
|
|
66
70
|
|
|
67
|
-
### Testing
|
|
71
|
+
### 🤖 CI/CD & Testing
|
|
68
72
|
|
|
69
|
-
- **Automated
|
|
70
|
-
- Docker CI (`ci-docker.yml`)
|
|
71
|
-
- Integration tests
|
|
73
|
+
- **Automated Testing**
|
|
74
|
+
- Docker CI (`ci-docker.yml`) running on Ubuntu/Fedora/Arch.
|
|
75
|
+
- Integration tests for alias syntax (`test-aliases.sh`).
|
|
72
76
|
|
|
73
|
-
- **Enterprise
|
|
74
|
-
- **SLSA
|
|
77
|
+
- **Enterprise Core & Security (The Trust Layer)**
|
|
78
|
+
- **SLSA & SBOM**: `security-release.yml` generates SPDX SBOMs and SLSA Level 3 Provenance.
|
|
75
79
|
- **Signing**: `enable-signing` wizard for GPG/SSH git signing.
|
|
76
|
-
- **Immutability**: `lock-configs` / `unlock-configs` protect critical dotfiles (`chflags`/`chattr`).
|
|
80
|
+
- **Immutability**: `lock-configs` / `unlock-configs` to protect critical dotfiles (`chflags`/`chattr`).
|
|
77
81
|
|
|
78
|
-
- **Legal
|
|
82
|
+
- **Legal & Licensing**
|
|
79
83
|
- **Compliance**: `scan-licenses` (FOSSology/Trivy), `check-cla` (GitHub checks).
|
|
80
84
|
- **Attribution**: `add-headers` automation and `gen-notice` generation.
|
|
81
85
|
|
|
82
|
-
- **Self-
|
|
83
|
-
- **Health**: `dot doctor` diagnoses environment (
|
|
86
|
+
- **Self-Healing & Diagnostics**
|
|
87
|
+
- **Health**: `dot doctor` script diagnoses environment (Dependencies, XDG, Paths).
|
|
84
88
|
- **Repair**: `dot heal` / `dot drift` aliases for auto-repair and drift detection.
|
|
85
89
|
|
|
86
|
-
- **Regulatory
|
|
90
|
+
- **Regulatory Compliance**
|
|
87
91
|
- **Documentation**: `COMPLIANCE.md` maps features to **SOC2 Type II** and **ISO 27001**.
|
|
88
92
|
- **Privacy**: `privacy-mode` alias disables CLI telemetry for 7+ frameworks.
|
|
89
93
|
|
|
90
|
-
- **macOS
|
|
91
|
-
- **Hardening**: `defaults` script
|
|
92
|
-
- **Optimization**: Configures Safari for
|
|
94
|
+
- **macOS Deep Integration**
|
|
95
|
+
- **Hardening**: `defaults` script secures screensaver, firewall, and finder settings.
|
|
96
|
+
- **Optimization**: Configures Safari for dev, removes Dock clutter.
|
|
93
97
|
|
|
94
|
-
- **Font
|
|
98
|
+
- **Font Typography**
|
|
95
99
|
- **Fonts**: Auto-installs `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
|
|
96
100
|
- **Rendering**: Linux `fontconfig` XML for sub-pixel antialiasing.
|
|
97
101
|
|
|
98
|
-
- **Phase 58: Editor
|
|
102
|
+
- **Phase 58: Editor Unification (The Grand Vim)** (Implemented)
|
|
99
103
|
- **Neovim IDE**: Full VS Code feature parity (Noice, Lualine, Gitsigns, Indent-Blankline).
|
|
100
|
-
- **Language
|
|
104
|
+
- **Language Support**: Optimized for Rust (Rustaceanvim) and Python (BasedPyright/Ruff).
|
|
101
105
|
- **Performance**: Lazy-loading architecture with `<30ms` startup.
|
|
102
|
-
- **CI/CD
|
|
106
|
+
- **CI/CD Fixes**: Resolved CodeQL alerts (removed legacy Node.js) and fixed Docker builds.
|
|
103
107
|
|
|
104
|
-
- **OS
|
|
108
|
+
- **OS Bundling & Compliance**
|
|
105
109
|
- **Packaging**: `scripts/package.sh` generates versioned distribution tarballs.
|
|
106
110
|
- **Enterprise**: `/etc/dotfiles/defaults.d` hooks for site-local config overrides.
|
|
107
111
|
- **Standards**: Strict **XDG Base Directory** enforcement in `paths.sh`.
|
|
108
112
|
|
|
109
|
-
- **The
|
|
110
|
-
- **Bootstrap**: `install.sh`
|
|
111
|
-
- **Teleport**: `dot teleport user@host`
|
|
113
|
+
- **The Universal Installer (Zero-Dep)**
|
|
114
|
+
- **Bootstrap**: `install.sh` running via `curl | sh` with no dependencies.
|
|
115
|
+
- **Teleport**: `dot teleport user@host` to ephemerally deploy configs via SSH.
|
|
112
116
|
|
|
113
|
-
### Verification
|
|
117
|
+
### 🧪 Verification
|
|
114
118
|
- **Performance**: Benchmark script `scripts/benchmark.sh` confirms <20ms startup.
|
|
115
|
-
- **Integration**: `test-aliases.sh`
|
|
116
|
-
- **Security**: **Zero
|
|
117
|
-
- **Functionality**: Local migration
|
|
119
|
+
- **Integration**: `test-aliases.sh` verified syntax of all 32 alias modules.
|
|
120
|
+
- **Security**: **Zero Critical Vulnerabilities** (CodeQL & Dependabot clean).
|
|
121
|
+
- **Functionality**: Local migration verified on macOS, Linux, and WSL.
|
|
118
122
|
|
|
119
123
|
|
|
120
|
-
###
|
|
124
|
+
### 📦 Installation & Migration
|
|
121
125
|
|
|
122
|
-
#### Option A: Fresh
|
|
123
|
-
|
|
126
|
+
#### Option A: Fresh Install (New Machines)
|
|
127
|
+
If you are setting up a new machine, simply run the universal installer:
|
|
124
128
|
```bash
|
|
125
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.
|
|
129
|
+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.471/install.sh)"
|
|
126
130
|
```
|
|
127
131
|
|
|
128
|
-
#### Option B: Migration (
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
> This release changes the architecture from direct symlinks to `chezmoi` templates. Back up your configuration first.
|
|
132
|
-
|
|
133
|
-
Existing `chezmoi` users can run `chezmoi apply` to upgrade, but the full installer works better for major version jumps.
|
|
132
|
+
#### Option B: Migration (Upgrade from `master` / v1)
|
|
133
|
+
⚠️ **Important**: This release changes the architecture from direct symlinks to `chezmoi` templates. Functional backups are recommended.
|
|
134
|
+
**Compatibility Note**: Existing `chezmoi` users can simply run `chezmoi apply` to upgrade, but the full installer is recommended for major version jumps.
|
|
134
135
|
|
|
135
|
-
1. **
|
|
136
|
+
1. **Backup Legacy Configs**:
|
|
136
137
|
```bash
|
|
137
138
|
mv ~/.zshrc ~/.zshrc.bak
|
|
138
139
|
mv ~/.config/nvim ~/.config/nvim.bak
|
|
139
140
|
```
|
|
140
|
-
2. **Run
|
|
141
|
+
2. **Run Installer**:
|
|
141
142
|
```bash
|
|
142
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.
|
|
143
|
+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.471/install.sh)"
|
|
143
144
|
```
|
|
144
|
-
3. **Resolve
|
|
145
|
-
- If `chezmoi`
|
|
146
|
-
4. **Restart
|
|
145
|
+
3. **Resolve Conflicts**:
|
|
146
|
+
- If prompted by `chezmoi` to overwrite files (e.g., `.zshrc`), select **overwrite** (or diff to check) as this release uses a new sourcing strategy.
|
|
147
|
+
4. **Restart Shell**:
|
|
147
148
|
```bash
|
|
148
149
|
exec zsh
|
|
149
150
|
```
|
package/docs/ROADMAP.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# Roadmap
|
|
1
|
+
# Product Roadmap: The Trusted Shell Platform
|
|
2
2
|
|
|
3
3
|
This roadmap steers the project from a "feature-rich dotfiles repo" to an **Enterprise-Grade Shell Distribution**. The structure is organized by strategic pillars (**Trust**, **Predictability**, **Observability**) rather than linear phases, though the original 100-Phase vision is preserved within these categories.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
## Reproducibility
|
|
7
|
+
## 🏗️ Pillar 1: Reproducibility & Determinism (Highest ROI)
|
|
8
8
|
**Goal:** "Reproducible Shell Environments".
|
|
9
9
|
> *This distribution aims for deterministic rebuilds: the same tag yields the same environment across machines.*
|
|
10
10
|
|
|
@@ -16,7 +16,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
16
16
|
- [ ] **Container Native (Phase 28)**: Base Docker image for devcontainers.
|
|
17
17
|
- [ ] **Terraform Provider (Phase 28)**: Custom provider to provision dotfiles state.
|
|
18
18
|
|
|
19
|
-
## Observability
|
|
19
|
+
## 👁️ Pillar 2: First-Class Observability
|
|
20
20
|
**Goal:** "Observable Shell Lifecycle".
|
|
21
21
|
> *The shell is instrumented: failures, timing, and lifecycle events are visible by design.*
|
|
22
22
|
|
|
@@ -27,7 +27,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
27
27
|
- [ ] **System Status (Phase 39)**: Real-time resource usage, battery, and network stats.
|
|
28
28
|
- [ ] **Update Manager (Phase 39)**: Visual interface for tool updates and migration.
|
|
29
29
|
|
|
30
|
-
## Secrets
|
|
30
|
+
## 🔐 Pillar 3: Secrets & Trust Boundaries
|
|
31
31
|
**Goal:** "Explicit Secrets Model".
|
|
32
32
|
> *Secrets are never committed; sensitive state is encrypted or host-local by default.*
|
|
33
33
|
|
|
@@ -38,7 +38,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
38
38
|
- [ ] **Hardware Enclaves (Phase 29)**: Support for Secure Enclave/TPM key storage.
|
|
39
39
|
- [ ] **OIDC Auth (Phase 29)**: Keyless authentication via GitHub OIDC.
|
|
40
40
|
|
|
41
|
-
## Toolchain
|
|
41
|
+
## 🧱 Pillar 4: Layered Architecture & Toolchain
|
|
42
42
|
**Goal:** "Composable Shell Layers".
|
|
43
43
|
> *The distribution is layered: core safety is mandatory, advanced features are opt-in.*
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
50
50
|
- [ ] **Wasm Target**: WebAssembly toolchain setup.
|
|
51
51
|
- [ ] **Embedded Dev**: Presets for Arduino/ESP32.
|
|
52
52
|
|
|
53
|
-
## Opt-
|
|
53
|
+
## ⚙️ Pillar 5: Controlled Opt-In Features
|
|
54
54
|
**Goal:** "Explicit Feature Flags".
|
|
55
55
|
> *Advanced features are gated behind explicit opt-in flags.*
|
|
56
56
|
|
|
@@ -61,7 +61,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
61
61
|
- [ ] **Dependency Solving**: Semantic versioning for modules.
|
|
62
62
|
- [ ] **Verified Publishers**: Cryptographic signing for "Official" modules.
|
|
63
63
|
|
|
64
|
-
## Safety
|
|
64
|
+
## 🛡️ Pillar 6: Threat Model & Safety
|
|
65
65
|
**Goal:** "Documented Threat Model".
|
|
66
66
|
> *Security decisions are driven by an explicit, documented threat model.*
|
|
67
67
|
|
|
@@ -73,7 +73,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
73
73
|
- [ ] **PAM Modules**: Custom auth modules.
|
|
74
74
|
- [ ] **Auditd Rules**: Pre-configured audit rules.
|
|
75
75
|
|
|
76
|
-
## Validation
|
|
76
|
+
## 🧪 Pillar 7: Self-Test & Validation
|
|
77
77
|
**Goal:** "Self-Validating Environment".
|
|
78
78
|
> *The environment can validate itself after installation or update.*
|
|
79
79
|
|
|
@@ -84,7 +84,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
84
84
|
- [ ] **Network Simulation**: Simulate high latency/packet loss.
|
|
85
85
|
- [ ] **Permission Fuzzing**: Verify strict umask behavior.
|
|
86
86
|
|
|
87
|
-
## Distribution
|
|
87
|
+
## 📦 Pillar 8: Distribution Guarantees & Platform Support
|
|
88
88
|
**Goal:** "Supported Platforms Matrix".
|
|
89
89
|
> *Only listed platforms are guaranteed to work; others are best-effort.*
|
|
90
90
|
|
|
@@ -99,7 +99,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
99
99
|
|
|
100
100
|
---
|
|
101
101
|
|
|
102
|
-
## Future
|
|
102
|
+
## 🔮 Future Horizons (Legacy Roadmap)
|
|
103
103
|
|
|
104
104
|
### Domain-Specific Environments
|
|
105
105
|
- [ ] **Data Science (Phase 38)**: Conda/Mamba, GPU Config, Jupyter.
|
|
@@ -125,7 +125,7 @@ This roadmap steers the project from a "feature-rich dotfiles repo" to an **Ente
|
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|
|
128
|
-
## Completed
|
|
128
|
+
## 📜 Completed Milestones
|
|
129
129
|
|
|
130
130
|
### Core Foundations
|
|
131
131
|
- [x] **Universal Config (Chezmoi) (Phase 1)**
|