@sebastienrousseau/dotfiles 0.2.499 → 0.2.500
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/CHANGELOG.md +375 -0
- package/LICENSE +1283 -0
- package/README.md +284 -0
- package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
- package/docs/AI.md +102 -0
- package/docs/COPYRIGHT +4 -3
- package/docs/NAMING_CONVENTIONS.md +95 -0
- package/docs/README.md +78 -0
- package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
- package/docs/adr/ADR-002-shell-performance.md +121 -0
- package/docs/adr/ADR-003-security-first.md +140 -0
- package/docs/adr/ADR-004-cli-architecture.md +157 -0
- package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
- package/docs/adr/ADR-006-shell-selection.md +115 -0
- package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
- package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
- package/docs/adr/README.md +32 -0
- package/docs/architecture/ARCHITECTURE.md +113 -0
- package/docs/architecture/INTEROP.md +36 -0
- package/docs/architecture/REPO_LAYOUT.md +237 -0
- package/docs/architecture/WALKTHROUGH.md +82 -0
- package/docs/architecture/fleet-deployment.md +73 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
- package/docs/archive/LEGACY_ROADMAP.md +142 -0
- package/docs/archive/MILESTONE_v0.2.493.md +43 -0
- package/docs/{PLAN.md → archive/PLAN.md} +4 -4
- package/docs/archive/REPO_AUDIT.md +23 -0
- package/docs/guides/INSTALL.md +140 -0
- package/docs/guides/NEOVIM_IDE_GUIDE.md +52 -0
- package/docs/guides/THEMING.md +222 -0
- package/docs/guides/TROUBLESHOOTING.md +148 -0
- package/docs/guides/WSL2_NIX_TROUBLESHOOTING.md +723 -0
- package/docs/index.md +39 -0
- package/docs/interop/A2A.md +32 -0
- package/docs/manual/00-introduction.md +85 -0
- package/docs/manual/01-concepts/01-architecture.md +134 -0
- package/docs/manual/01-concepts/02-trust-model.md +178 -0
- package/docs/manual/01-concepts/03-theme-engine.md +182 -0
- package/docs/manual/01-concepts/04-fleet.md +142 -0
- package/docs/manual/01-concepts/05-self-healing.md +197 -0
- package/docs/manual/02-tutorials/01-first-install.md +192 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
- package/docs/manual/02-tutorials/03-create-profile.md +238 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
- package/docs/manual/03-reference/01-dot-cli.md +413 -0
- package/docs/manual/03-reference/02-config-files.md +259 -0
- package/docs/manual/03-reference/03-environment.md +120 -0
- package/docs/manual/03-reference/04-templates.md +184 -0
- package/docs/manual/03-reference/05-feature-flags.md +118 -0
- package/docs/manual/04-cookbook/01-recipes.md +281 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
- package/docs/manual/04-cookbook/03-faq.md +167 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
- package/docs/manual/05-appendices/B-security-checklist.md +78 -0
- package/docs/manual/05-appendices/C-glossary.md +36 -0
- package/docs/manual/05-appendices/D-bibliography.md +54 -0
- package/docs/manual/05-appendices/E-license.md +34 -0
- package/docs/manual/_toc.yml +58 -0
- package/docs/manual/command-index.md +58 -0
- package/docs/manual/concept-index.md +164 -0
- package/docs/operations/ATTESTATION.md +39 -0
- package/docs/operations/MAINTENANCE.md +59 -0
- package/docs/operations/MIGRATION.md +101 -0
- package/docs/operations/OPERATIONS.md +164 -0
- package/docs/operations/RELIABILITY.md +116 -0
- package/docs/{ROADMAP.md → operations/ROADMAP.md} +22 -22
- package/docs/operations/TESTING.md +195 -0
- package/docs/operations/TRACEABILITY.md +31 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
- package/docs/operations/VERSION_SYNC.md +344 -0
- package/docs/reference/ALIASES.md +124 -0
- package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
- package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
- package/docs/reference/FEATURES.md +62 -0
- package/docs/reference/FONTS.md +108 -0
- package/docs/reference/PROFILES.md +65 -0
- package/docs/reference/SCREENSHOTS.md +117 -0
- package/docs/reference/SCRIPTS.md +67 -0
- package/docs/reference/SUPPORT_MATRIX.md +74 -0
- package/docs/reference/THEMES.md +113 -0
- package/docs/reference/TOOLS.md +105 -0
- package/docs/reference/UTILS.md +151 -0
- package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
- package/docs/security/AUTOMATION_SECRETS.md +22 -0
- package/docs/security/COMPLIANCE.md +453 -0
- package/docs/security/ENCRYPTION.md +52 -0
- package/docs/security/FMEA.md +155 -0
- package/docs/security/INCIDENT_RESPONSE.md +575 -0
- package/docs/security/KEYS.md +45 -0
- package/docs/security/KEY_ROTATION.md +219 -0
- package/docs/security/MCP_POLICY.md +69 -0
- package/docs/security/POLICY_RELEASES.md +33 -0
- package/docs/security/README.md +24 -0
- package/docs/security/SECRETS.md +146 -0
- package/docs/security/SECURITY.md +41 -0
- package/docs/security/SECURITY_CHECKLIST.md +44 -0
- package/docs/security/SOUP_REGISTER.md +32 -0
- package/docs/security/THREAT_MODEL.md +120 -0
- package/docs/security/VERIFICATION_VALIDATION.md +224 -0
- package/docs/themes/README.md +6 -0
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
- package/docs/themes/hero-shot.svg +78 -0
- package/dot_config/.module-manifest.json +69 -0
- package/dot_config/ai/identity.md +20 -0
- package/dot_config/ai/patterns/architect.md +14 -0
- package/dot_config/ai/patterns/hardener.md +13 -0
- package/dot_config/ai/patterns/refactor.md +13 -0
- package/dot_config/aider/aider.conf.yml +32 -0
- package/dot_config/alacritty/alacritty.toml.tmpl +55 -0
- package/dot_config/ansible/ansible.cfg +11 -0
- package/dot_config/atuin/config.toml +40 -0
- package/dot_config/bat/config +23 -0
- package/dot_config/brave-flags.conf.tmpl +7 -0
- package/dot_config/btop/btop.conf +16 -0
- package/dot_config/btop/themes/tokyonight.theme +34 -0
- package/dot_config/bun/bunfig.toml.tmpl +33 -0
- package/dot_config/claude/mcp_servers.json +20 -0
- package/dot_config/containers/containers.conf +14 -0
- package/dot_config/curl/dot_curlrc +18 -0
- package/dot_config/dlv/config.yml +39 -0
- package/dot_config/docker/config.json +15 -0
- package/dot_config/dotfiles/agent-card.json +29 -0
- package/dot_config/dotfiles/agent-profiles.json +92 -0
- package/dot_config/dotfiles/boot/README.md +11 -0
- package/dot_config/dotfiles/grub/README.md +11 -0
- package/dot_config/dotfiles/lock/README.md +11 -0
- package/dot_config/dotfiles/mcp-lock.json +33 -0
- package/dot_config/dotfiles/mcp-policy.json +52 -0
- package/dot_config/dotfiles/mcp-registry.json +47 -0
- package/dot_config/dotfiles/model-registry.json +20 -0
- package/dot_config/dotfiles/policy-bundles.json +38 -0
- package/dot_config/dotfiles/prompt-registry.json +16 -0
- package/dot_config/dotfiles/versions.env +18 -0
- package/dot_config/duf/duf.conf +6 -0
- package/dot_config/duti/defaults.duti +5 -0
- package/dot_config/emoji/emoji.txt +34 -0
- package/dot_config/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -0
- package/dot_config/fastfetch/config.jsonc +28 -0
- package/dot_config/firefox/user.js.tmpl +58 -0
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
- package/dot_config/fish/completions/dot.fish.tmpl +115 -0
- package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
- package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
- package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
- package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
- package/dot_config/fish/config.fish.tmpl +44 -0
- package/dot_config/fish/fish_plugins +1 -0
- package/dot_config/fish/functions/_.fish +3 -0
- package/dot_config/fish/functions/_cached_eval.fish +58 -0
- package/dot_config/fish/functions/als.fish +46 -0
- package/dot_config/fish/functions/bg-upgrade.fish +7 -0
- package/dot_config/fish/functions/c.fish +3 -0
- package/dot_config/fish/functions/cat.fish +9 -0
- package/dot_config/fish/functions/d.fish +7 -0
- package/dot_config/fish/functions/dot.fish +34 -0
- package/dot_config/fish/functions/h.fish +3 -0
- package/dot_config/fish/functions/l.fish +7 -0
- package/dot_config/fish/functions/la.fish +7 -0
- package/dot_config/fish/functions/ll.fish +7 -0
- package/dot_config/fish/functions/log_error.fish +13 -0
- package/dot_config/fish/functions/log_info.fish +13 -0
- package/dot_config/fish/functions/lr.fish +7 -0
- package/dot_config/fish/functions/lra.fish +7 -0
- package/dot_config/fish/functions/ls.fish +7 -0
- package/dot_config/fish/functions/lt.fish +7 -0
- package/dot_config/fish/functions/lta.fish +7 -0
- package/dot_config/fish/functions/notify-run.fish +11 -0
- package/dot_config/fish/functions/q.fish +3 -0
- package/dot_config/fish/functions/silent-run.fish +7 -0
- package/dot_config/fish/functions/yy.fish +8 -0
- package/dot_config/flatpak/flatpak.list +4 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +57 -0
- package/dot_config/foot/foot.ini.tmpl +33 -0
- package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
- package/dot_config/fzf/fzf.zsh +48 -0
- package/dot_config/gem/gemrc +9 -0
- package/dot_config/gh/config.yml +12 -0
- package/dot_config/ghostty/config.tmpl +165 -0
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/attributes +12 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/git/ignore +27 -0
- package/dot_config/gnupg/gpg-agent.conf +11 -0
- package/dot_config/go/golangci.yml +118 -0
- package/dot_config/go/gopls.json +30 -0
- package/dot_config/goose/config.yaml +29 -0
- package/dot_config/gtk-3.0/gtk.css.tmpl +184 -0
- package/dot_config/gtk-3.0/settings.ini.tmpl +27 -0
- package/dot_config/gtk-4.0/gtk.css.tmpl +252 -0
- package/dot_config/gtk-4.0/settings.ini.tmpl +18 -0
- package/dot_config/htop/htoprc +20 -0
- package/dot_config/inputrc +2 -0
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +122 -0
- package/dot_config/k9s/config.yaml +65 -0
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/karabiner/karabiner.json +14 -0
- package/dot_config/kitty/kitty.conf.tmpl +53 -0
- package/dot_config/lazydocker/config.yml +186 -0
- package/dot_config/lazygit/config.yml +35 -0
- package/dot_config/mako/config +47 -0
- package/dot_config/mas/masapps.txt +5 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/minikube/config.json +13 -0
- package/dot_config/mise/config.toml +99 -0
- package/dot_config/mongosh/mongoshrc.js +68 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -0
- package/dot_config/mycli/myclirc +67 -0
- package/dot_config/nano/nanorc +28 -0
- package/dot_config/ncdu/config +12 -0
- package/dot_config/niri/config.kdl.tmpl +327 -0
- package/dot_config/nushell/aliases.nu +18 -0
- package/dot_config/nushell/completions.nu.tmpl +52 -0
- package/dot_config/nushell/config.nu.tmpl +86 -0
- package/dot_config/nushell/env.nu.tmpl +94 -0
- package/dot_config/nushell/functions.nu.tmpl +17 -0
- package/dot_config/nvim/init.lua +18 -0
- package/dot_config/nvim/lazy-lock.json +58 -0
- package/dot_config/nvim/lua/config/autocmds.lua +107 -0
- package/dot_config/nvim/lua/config/keymaps.lua +92 -0
- package/dot_config/nvim/lua/config/lazy.lua +44 -0
- package/dot_config/nvim/lua/config/options.lua +49 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +216 -0
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +412 -0
- package/dot_config/nvim/lua/plugins/editor.lua +55 -0
- package/dot_config/nvim/lua/plugins/git.lua +10 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +156 -0
- package/dot_config/nvim/lua/plugins/markdown.lua +18 -0
- package/dot_config/nvim/lua/plugins/rust.lua +34 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +33 -0
- package/dot_config/nvim/lua/plugins/ui.lua +509 -0
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/pip/pip.conf.tmpl +32 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/pypoetry/config.toml +6 -0
- package/dot_config/pyrightconfig.json +5 -0
- package/dot_config/raycast/README.md +13 -0
- package/dot_config/redis/redisclirc +41 -0
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +133 -0
- package/dot_config/shell/05-core-safety.sh +47 -0
- package/dot_config/shell/10-secrets.sh +40 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
- package/dot_config/shell/40-ls-colors.sh +48 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
- package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +120 -0
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +54 -0
- package/dot_config/shell/Brewfile +207 -0
- package/dot_config/shell/Brewfile.cask +92 -0
- package/dot_config/shell/Brewfile.cli +127 -0
- package/dot_config/shell/README.md +267 -0
- package/dot_config/shell/als_data.txt.tmpl +65 -0
- package/dot_config/shell/custom/auto_ls.zsh +20 -0
- package/dot_config/shell/custom/context_suggest.zsh +68 -0
- package/dot_config/shell/custom/error_analysis.zsh +45 -0
- package/dot_config/sops/dot_sops.yaml +23 -0
- package/dot_config/starship.toml.tmpl +202 -0
- package/dot_config/swaylock/config +43 -0
- package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
- package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
- package/dot_config/systemd/user/pueued.service +12 -0
- package/dot_config/systemd/user/ssh-agent.service +12 -0
- package/dot_config/task/Taskfile.yml +86 -0
- package/dot_config/tflint/tflint.hcl +9 -0
- package/dot_config/tmux/tmux.conf.tmpl +223 -0
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +9 -0
- package/dot_config/vscode/extensions.txt +11 -0
- package/dot_config/vscode/settings.json.tmpl +82 -0
- package/dot_config/waybar/config.jsonc.tmpl +90 -0
- package/dot_config/waybar/style.css.tmpl +211 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +64 -0
- package/dot_config/wget/wgetrc +12 -0
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yarn/yarnrc.yml +36 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/yazi/yazi.toml +40 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/config.kdl.tmpl +79 -0
- package/dot_config/zsh/dot_zprofile +7 -0
- package/dot_config/zsh/dot_zshenv +5 -0
- package/dot_config/zsh/dot_zshrc.tmpl +498 -0
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +18 -0
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +194 -0
- package/dot_config/zsh/rc.d/40-bell.zsh +20 -0
- package/dot_config/zsh/rc.d/50-login-fortune.zsh +9 -0
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
- package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
- package/dot_local/bin/executable_ai-update +195 -0
- package/dot_local/bin/executable_ai_core +152 -0
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +84 -0
- package/dot_local/bin/executable_bm +77 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +589 -0
- package/dot_local/bin/executable_dot-ai +36 -0
- package/dot_local/bin/executable_dot-bootstrap +77 -0
- package/dot_local/bin/executable_dot-launch-or-focus +52 -0
- package/dot_local/bin/executable_dot-load-benchmark +31 -0
- package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
- package/dot_local/bin/executable_dot-theme-sync +952 -0
- package/dot_local/bin/executable_dot_completion +57 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +67 -0
- package/dot_local/bin/executable_extract +41 -0
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +175 -0
- package/dot_local/bin/executable_git-ai-diff +169 -0
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +161 -0
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +115 -0
- package/dot_local/bin/executable_jsonv +78 -0
- package/dot_local/bin/executable_jwt +94 -0
- package/dot_local/bin/executable_kill-port +75 -0
- package/dot_local/bin/executable_lorem +118 -0
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/executable_myip +51 -0
- package/dot_local/bin/executable_notify +22 -0
- package/dot_local/bin/executable_open +36 -0
- package/dot_local/bin/executable_pw +27 -0
- package/dot_local/bin/executable_rec-start +46 -0
- package/dot_local/bin/executable_rec-stop +35 -0
- package/dot_local/bin/executable_regex +132 -0
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +314 -0
- package/dot_local/bin/executable_tour +175 -0
- package/dot_local/bin/executable_up +21 -0
- package/dot_local/bin/executable_update +142 -0
- package/dot_local/bin/executable_uuid +87 -0
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +57 -0
- package/dot_local/share/bash-completion/completions/dot +72 -0
- package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
- package/dot_local/share/man/man1/dot.1 +149 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/dot_local/share/zsh/completions/_dot +283 -0
- package/install.sh +342 -0
- package/package.json +1 -1
- package/scripts/ci/check-copyright-headers.sh +96 -0
- package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
- package/scripts/ci/install-chezmoi-verified.sh +64 -0
- package/scripts/ci/validate-ci-config.sh +224 -0
- package/scripts/demo/record.sh +42 -0
- package/scripts/diagnostics/a2a-conformance.sh +162 -0
- package/scripts/diagnostics/alias-governance.sh +137 -0
- package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
- package/scripts/diagnostics/aliases-manifest.sh +31 -0
- package/scripts/diagnostics/benchmark.sh +381 -0
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +541 -0
- package/scripts/diagnostics/drift-dashboard.sh +37 -0
- package/scripts/diagnostics/health.sh +597 -0
- package/scripts/diagnostics/history-analysis.sh +85 -0
- package/scripts/diagnostics/mcp-doctor.sh +575 -0
- package/scripts/diagnostics/perf.sh +225 -0
- package/scripts/diagnostics/scorecard.sh +118 -0
- package/scripts/diagnostics/secret-governance.sh +58 -0
- package/scripts/diagnostics/security-score.sh +438 -0
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/{verify_state.sh → diagnostics/verify_state.sh} +22 -22
- package/scripts/diagnostics/version-locks.sh +79 -0
- package/scripts/diagnostics/workstation-attestation.sh +181 -0
- package/scripts/docs/build-manual.sh +883 -0
- package/scripts/docs/check-manual.sh +213 -0
- package/scripts/dot/commands/agent.sh +465 -0
- package/scripts/dot/commands/ai.sh +416 -0
- package/scripts/dot/commands/aliases.sh +250 -0
- package/scripts/dot/commands/appearance.sh +80 -0
- package/scripts/dot/commands/core.sh +185 -0
- package/scripts/dot/commands/diagnostics.sh +229 -0
- package/scripts/dot/commands/fleet.sh +399 -0
- package/scripts/dot/commands/lint.sh +177 -0
- package/scripts/dot/commands/manual.sh +168 -0
- package/scripts/dot/commands/meta.sh +248 -0
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +231 -0
- package/scripts/dot/commands/secrets.sh +223 -0
- package/scripts/dot/commands/security.sh +76 -0
- package/scripts/dot/commands/tools.sh +469 -0
- package/scripts/dot/data/alias-deprecations.tsv +2 -0
- package/scripts/dot/lib/bento.sh +49 -0
- package/scripts/dot/lib/log.sh +194 -0
- package/scripts/dot/lib/platform.sh +98 -0
- package/scripts/dot/lib/ui.sh +507 -0
- package/scripts/dot/lib/utils.sh +372 -0
- package/scripts/fonts/install-nerd-fonts.sh +68 -0
- package/scripts/fonts/patch-fonts.sh +35 -0
- package/scripts/git-hooks/install.sh +11 -0
- package/scripts/git-hooks/pre-commit +12 -0
- package/scripts/git-hooks/pre-commit-audit.sh +145 -0
- package/scripts/git-hooks/pre-push +29 -0
- package/scripts/git-hooks/prepare-commit-msg +29 -0
- package/scripts/lib/secrets_provider.sh +158 -0
- package/scripts/maintenance/check-updates.sh +131 -0
- package/scripts/ops/ai-setup.sh +55 -0
- package/scripts/ops/bundle.sh +77 -0
- package/scripts/ops/chaos.sh +49 -0
- package/scripts/ops/chezmoi-apply.sh +270 -0
- package/scripts/ops/chezmoi-diff.sh +15 -0
- package/scripts/ops/chezmoi-remove.sh +45 -0
- package/scripts/ops/chezmoi-update.sh +48 -0
- package/scripts/ops/heal-chezmoi.sh +51 -0
- package/scripts/ops/heal-system.sh +128 -0
- package/scripts/ops/heal-tools.sh +340 -0
- package/scripts/ops/heal.sh +222 -0
- package/scripts/ops/post-apply-repair.sh +106 -0
- package/scripts/ops/prewarm.sh +127 -0
- package/scripts/ops/release.sh +252 -0
- package/scripts/ops/rollback.sh +589 -0
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +33 -0
- package/scripts/qa/coverage-baseline.sh +60 -0
- package/scripts/qa/docs-coverage.sh +111 -0
- package/scripts/qa/reliability-audit.sh +138 -0
- package/scripts/qa/traceability-coverage.sh +116 -0
- package/scripts/qa/validate-examples.sh +26 -0
- package/scripts/qa/wsl-contract.sh +11 -0
- package/scripts/release/package-policy-bundles.sh +125 -0
- package/scripts/secrets/age-init.sh +70 -0
- package/scripts/secrets/create-secrets-file.sh +45 -0
- package/scripts/secrets/encrypt-ssh-key.sh +43 -0
- package/scripts/security/backup.sh +57 -0
- package/scripts/security/dns-doh.sh +51 -0
- package/scripts/security/encryption-check.sh +54 -0
- package/scripts/security/enforce-policies.sh +334 -0
- package/scripts/security/firewall.sh +90 -0
- package/scripts/security/lock-configs.sh +57 -0
- package/scripts/security/lock-screen.sh +55 -0
- package/scripts/security/manage-secrets.sh +428 -0
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +50 -0
- package/scripts/security/usb-safety.sh +51 -0
- package/scripts/theme/apply-gnome-theme.sh +328 -0
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +62 -0
- package/scripts/theme/install-catppuccin-themes.sh +370 -0
- package/scripts/theme/install-cursors.sh +25 -0
- package/scripts/theme/install-file-icons.sh +26 -0
- package/scripts/theme/install-grub-theme.sh +61 -0
- package/scripts/theme/install-lock-icon.sh +30 -0
- package/scripts/theme/merge-wallpaper.sh +141 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +421 -0
- package/scripts/theme/wallpaper-rotate.sh +136 -0
- package/scripts/theme/wallpaper-sync.sh +397 -0
- package/scripts/tools/cmatrix.sh +21 -0
- package/scripts/{detect-collisions.py → tools/detect-collisions.py} +2 -2
- package/scripts/tools/emoji-picker.sh +48 -0
- package/scripts/tools/figlet-banner.sh +18 -0
- package/scripts/tools/log-rotate.sh +30 -0
- package/scripts/tools/lolcat-wrap.sh +19 -0
- package/scripts/tools/pipes.sh +48 -0
- package/scripts/tuning/linux.sh +185 -0
- package/scripts/tuning/macos.sh +55 -0
- package/scripts/uninstall.sh +85 -0
- package/scripts/version-sync.sh +487 -0
- package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
- package/templates/chezmoi-data/mac-m1.toml.example +16 -0
- package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
- package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
- package/templates/projects/go/.github/workflows/ci.yml +31 -0
- package/templates/projects/go/README.md +4 -0
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +7 -0
- package/templates/projects/molecule/converge.yml +7 -0
- package/templates/projects/molecule/molecule.yml +16 -0
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +4 -0
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +15 -0
- package/templates/projects/packer/main.pkr.hcl +15 -0
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +4 -0
- package/templates/projects/python/pyproject.toml +15 -0
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +1 -0
- package/docs/ARCHITECTURE.md +0 -62
- package/docs/COMPLIANCE.md +0 -47
- package/docs/OPERATIONS.md +0 -103
- package/docs/PR_DESCRIPTION.md +0 -150
- package/docs/ROADMAP_legacy.md +0 -556
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/WALKTHROUGH.md +0 -46
- package/scripts/backup.sh +0 -142
- package/scripts/banner.sh +0 -20
- package/scripts/benchmark.sh +0 -20
- package/scripts/build.sh +0 -41
- package/scripts/clean.sh +0 -31
- package/scripts/compile.sh +0 -54
- package/scripts/copy.sh +0 -108
- package/scripts/doctor.sh +0 -79
- package/scripts/dotfiles.sh +0 -63
- package/scripts/download.sh +0 -35
- package/scripts/help.sh +0 -57
- package/scripts/lock-configs.sh +0 -57
- package/scripts/package.sh +0 -46
- package/scripts/ssh.sh +0 -55
- package/scripts/teleport.sh +0 -23
- package/scripts/test-aliases.sh +0 -25
- package/scripts/test_smoke.sh +0 -88
- package/scripts/unpack.sh +0 -28
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: '3.11'
|
|
17
|
+
- name: Install dependencies
|
|
18
|
+
run: |
|
|
19
|
+
python -m pip install --upgrade pip
|
|
20
|
+
pip install -e ".[dev]" || pip install -e .
|
|
21
|
+
- name: Run tests
|
|
22
|
+
run: python -m pytest tests/ -v || echo "No tests"
|
|
23
|
+
|
|
24
|
+
security:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
- uses: actions/setup-python@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version: '3.11'
|
|
31
|
+
- name: Security scan
|
|
32
|
+
run: |
|
|
33
|
+
pip install pip-audit
|
|
34
|
+
pip-audit --strict || echo "No vulnerabilities"
|
|
@@ -8,3 +8,18 @@ dependencies = []
|
|
|
8
8
|
[build-system]
|
|
9
9
|
requires = ["hatchling"]
|
|
10
10
|
build-backend = "hatchling.build"
|
|
11
|
+
|
|
12
|
+
[tool.ruff]
|
|
13
|
+
line-length = 88
|
|
14
|
+
target-version = "py310"
|
|
15
|
+
select = ["E", "F", "I", "UP", "B"]
|
|
16
|
+
ignore = ["E203", "E501"]
|
|
17
|
+
|
|
18
|
+
[tool.black]
|
|
19
|
+
line-length = 88
|
|
20
|
+
target-version = ["py310"]
|
|
21
|
+
|
|
22
|
+
[tool.pyright]
|
|
23
|
+
typeCheckingMode = "standard"
|
|
24
|
+
pythonVersion = "3.10"
|
|
25
|
+
reportMissingTypeStubs = "none"
|
package/docs/ARCHITECTURE.md
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# Architecture & Design
|
|
2
|
-
|
|
3
|
-
v0.2.471 constitutes a portable **Shell Distribution** managed by `chezmoi`. This document outlines the core architectural decisions and system design.
|
|
4
|
-
|
|
5
|
-
## 1. Core Philosophy
|
|
6
|
-
|
|
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).
|
|
10
|
-
|
|
11
|
-
## 2. Directory Structure
|
|
12
|
-
|
|
13
|
-
The repository follows standard `chezmoi` conventions:
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
~/.local/share/chezmoi/
|
|
17
|
-
├── dot_config/ # Mapped to ~/.config/
|
|
18
|
-
│ ├── atuin/ # Shell history
|
|
19
|
-
│ ├── ghostty/ # Terminal emulator
|
|
20
|
-
│ ├── shell/ # Core shell logic (aliases, functions)
|
|
21
|
-
│ ├── nvim/ # Neovim IDE configuration
|
|
22
|
-
│ └── zsh/ # Zsh specific config
|
|
23
|
-
├── dot_local/ # Mapped to ~/.local/
|
|
24
|
-
│ └── bin/ # User scripts (added to PATH)
|
|
25
|
-
├── dot_zshenv # The Environment Bootloader
|
|
26
|
-
├── .chezmoitemplates/ # Reusable logic blocks
|
|
27
|
-
└── install.sh # Universal bootstrapping script
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## 3. Modern Toolchain
|
|
31
|
-
|
|
32
|
-
We replace distinct Unix legacy tools with high-performance Rust alternatives:
|
|
33
|
-
|
|
34
|
-
| Legacy | Modern Replacement | Purpose |
|
|
35
|
-
| :--- | :--- | :--- |
|
|
36
|
-
| `ls` | `eza` | Modern file listing with git integration |
|
|
37
|
-
| `cat` | `bat` | Syntax highlighted file viewing |
|
|
38
|
-
| `grep` | `ripgrep` (`rg`) | Blazing fast search |
|
|
39
|
-
| `cd` | `zoxide` | Smart directory jumping |
|
|
40
|
-
| `history` | `atuin` | Syncable, encrypted SQLite history |
|
|
41
|
-
| `find` | `fd` | User-friendly filesystem search |
|
|
42
|
-
| `vim` | `neovim` | Lua-extensible IDE |
|
|
43
|
-
|
|
44
|
-
## 4. Predictive Shell Strategy
|
|
45
|
-
|
|
46
|
-
- **AI Integration**: The shell is "AI Aware" via the `ai_core` wrapper.
|
|
47
|
-
- **Autosuggestions**: Context-aware completion based on shell history.
|
|
48
|
-
- **Error Analysis**: Hooks to send failed command context to local LLMs or GitHub Copilot for explanation.
|
|
49
|
-
|
|
50
|
-
## 5. Security Posture
|
|
51
|
-
|
|
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`.
|
|
57
|
-
|
|
58
|
-
## 6. Compatibility
|
|
59
|
-
|
|
60
|
-
- **macOS**: Full support (Homebrew, defaults).
|
|
61
|
-
- **Linux**: Debian/Ubuntu support (apt-get).
|
|
62
|
-
- **Windows**: WSL2 support.
|
package/docs/COMPLIANCE.md
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Regulatory Compliance & Security Controls
|
|
2
|
-
|
|
3
|
-
This document maps the dotfiles configuration and tooling to standard regulatory frameworks (SOC 2, ISO 27001, GDPR).
|
|
4
|
-
|
|
5
|
-
## 🛡️ Control Mappings
|
|
6
|
-
|
|
7
|
-
### SOC 2 Type II
|
|
8
|
-
|
|
9
|
-
| Control | Description | Dotfiles Implementation |
|
|
10
|
-
| :--- | :--- | :--- |
|
|
11
|
-
| **CC6.1** | Logical Access Security | `zsh` restricted permissions, SSH key management via `1Password`/Agents. |
|
|
12
|
-
| **CC6.8** | Unauthorized Code Protection | `enable-signing` enforces GPG/SSH signed commits. `slsa-framework` workflow. |
|
|
13
|
-
| **CC8.1** | Change Management | All changes managed via git (Infrastructure as Code). `lock-configs` for immutability. |
|
|
14
|
-
| **A1.2** | Audit Logs | `dotfiles_audit.log` tracks all configuration applications (`chezmoi apply`). |
|
|
15
|
-
|
|
16
|
-
### ISO 27001
|
|
17
|
-
|
|
18
|
-
| Control | Description | Dotfiles Implementation |
|
|
19
|
-
| :--- | :--- | :--- |
|
|
20
|
-
| **A.9.1.1** | Access Control Policy | Principle of Least Privilege in filesystem permissions (umask 022/077). |
|
|
21
|
-
| **A.12.1.2** | Change Management | Git-based version control with CI/CD verification (`ci.yml`, `security-release.yml`). |
|
|
22
|
-
| **A.14.2.5** | Secure Engineering | `scan-licenses` (FOSSology) and `check-cla` ensure legal/security compliance. |
|
|
23
|
-
|
|
24
|
-
### GDPR / HIPAA (Privacy)
|
|
25
|
-
|
|
26
|
-
| Requirement | Description | Dotfiles Implementation |
|
|
27
|
-
| :--- | :--- | :--- |
|
|
28
|
-
| **Data Minimization** | Limit data collection | `privacy-mode` disables CLI telemetry (Dotnet, Brew, Functions). |
|
|
29
|
-
| **Integrity** | Protect against tampering | `lock-configs` prevents unauthorized modification of shell history/config. |
|
|
30
|
-
|
|
31
|
-
## 🔒 Security Features
|
|
32
|
-
|
|
33
|
-
### Immutability
|
|
34
|
-
Critical configuration files can be locked to prevent tampering:
|
|
35
|
-
```bash
|
|
36
|
-
lock-configs # Sets chflags uchg (macOS) or chattr +i (Linux)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Forensic Audit
|
|
40
|
-
All `chezmoi` operations are logged. View audit trails:
|
|
41
|
-
```bash
|
|
42
|
-
dot audit
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Supply Chain Security
|
|
46
|
-
- **SBOM**: Generated for every release (SPDX format).
|
|
47
|
-
- **Provenance**: SLSA Level 3 build attestation.
|
package/docs/OPERATIONS.md
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
# Operational Guide
|
|
2
|
-
|
|
3
|
-
This document outlines the standard workflows to **Maintain**, **Update**, and **Operate** your dotfiles environment across all supported platforms.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 🏗️ Platform-Specific Operations
|
|
8
|
-
|
|
9
|
-
### 🍎 macOS
|
|
10
|
-
**Primary Manager**: `Homebrew`
|
|
11
|
-
|
|
12
|
-
- **Update System**:
|
|
13
|
-
```bash
|
|
14
|
-
# Updates Dotfiles AND Homebrew packages
|
|
15
|
-
chezmoi update
|
|
16
|
-
```
|
|
17
|
-
*Behind the scenes, this runs `brew bundle install` to match the `Brewfile.lock.json`.*
|
|
18
|
-
|
|
19
|
-
- **Troubleshooting**:
|
|
20
|
-
- **Permission Issues**: `sudo chown -R $(whoami) $(brew --prefix)/*`
|
|
21
|
-
- **Drift**: Run `brew bundle cleanup` to remove unmanaged packages.
|
|
22
|
-
|
|
23
|
-
### 🐧 Linux (Debian, Ubuntu, ZorinOS, Kali)
|
|
24
|
-
**Primary Manager**: `apt-get` / `snap`
|
|
25
|
-
|
|
26
|
-
- **Update System**:
|
|
27
|
-
```bash
|
|
28
|
-
# 1. Update OS packages
|
|
29
|
-
sudo apt update && sudo apt upgrade -y
|
|
30
|
-
|
|
31
|
-
# 2. Update Dotfiles
|
|
32
|
-
chezmoi update
|
|
33
|
-
```
|
|
34
|
-
*Note: `chezmoi` on Linux focuses on configuration. Package updates are often best handled by the OS package manager to avoid `sudo` conflicts.*
|
|
35
|
-
|
|
36
|
-
- **Troubleshooting**:
|
|
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.
|
|
39
|
-
|
|
40
|
-
### 🪟 Windows (WSL2)
|
|
41
|
-
**Primary Manager**: `apt-get` (inside WSL)
|
|
42
|
-
|
|
43
|
-
- **Update System**: Same as **Linux**.
|
|
44
|
-
|
|
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.
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## 🔄 Common Workflows
|
|
53
|
-
|
|
54
|
-
### Applying Changes
|
|
55
|
-
After editing any config file:
|
|
56
|
-
```bash
|
|
57
|
-
chezmoi apply
|
|
58
|
-
```
|
|
59
|
-
*Triggers: `dot_zshrc` reload, audit logging.*
|
|
60
|
-
|
|
61
|
-
### Rolling Back
|
|
62
|
-
If an update breaks your setup:
|
|
63
|
-
```bash
|
|
64
|
-
cd ~/.local/share/chezmoi
|
|
65
|
-
git reset --hard HEAD@{1} # Go back 1 operation
|
|
66
|
-
chezmoi apply
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Debugging
|
|
70
|
-
If something feels slow or broken:
|
|
71
|
-
|
|
72
|
-
1. **Check Health**:
|
|
73
|
-
```bash
|
|
74
|
-
dot doctor
|
|
75
|
-
```
|
|
76
|
-
2. **Verbose Mode**:
|
|
77
|
-
```bash
|
|
78
|
-
DOTFILES_DEBUG=1 chezmoi apply
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## 🛠️ Tool-Specific Guides
|
|
84
|
-
|
|
85
|
-
### 📦 Atuin (History Sync)
|
|
86
|
-
- **Login**: `atuin login`
|
|
87
|
-
- **Sync**: `atuin sync`
|
|
88
|
-
- **Search**: `Ctrl-r` (Global history search)
|
|
89
|
-
|
|
90
|
-
### 🚀 Zoxide (Smart CD)
|
|
91
|
-
- **Jump**: `z project` matches `~/dev/project`
|
|
92
|
-
- **Query**: `zi` (Interactive selection)
|
|
93
|
-
|
|
94
|
-
### 🌳 Yazi (File Manager)
|
|
95
|
-
- **Open**: Type `y`
|
|
96
|
-
- **Preview**: Spacebar to preview files
|
|
97
|
-
- **Quit**: `q`
|
|
98
|
-
|
|
99
|
-
---
|
|
100
|
-
|
|
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/PR_DESCRIPTION.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# PR Title
|
|
2
|
-
feat(core): Rel v0.2.471 - Universal Config, Security & Performance
|
|
3
|
-
|
|
4
|
-
# PR Description
|
|
5
|
-
|
|
6
|
-
## 🚀 v0.2.471 Release: Universal Configuration
|
|
7
|
-
|
|
8
|
-
This release transforms the dotfiles into a high-performance, universally compatible system managed by **chezmoi**.
|
|
9
|
-
|
|
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:
|
|
16
|
-
- `ls` → `eza`
|
|
17
|
-
- `cat` → `bat`
|
|
18
|
-
- `grep` → `ripgrep`
|
|
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
|
|
39
|
-
- **Migrated**:
|
|
40
|
-
- Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
|
|
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`.
|
|
44
|
-
- **Packaging**:
|
|
45
|
-
- `Brewfile` (macOS) and `apt-get` (Linux) handled automatically.
|
|
46
|
-
- **Structural**:
|
|
47
|
-
- **Renamed**: `dot_config/dotfiles` → `dot_config/shell` for semantic clarity.
|
|
48
|
-
- **Moved**: `bin/` → `dot_local/bin/` for automatic path integration.
|
|
49
|
-
- **Segregated**: Install scripts split by OS (Darwin/Linux) for cleaner logic.
|
|
50
|
-
- **Layered Architecture**: Refactored shell config into explicit layers:
|
|
51
|
-
- `00-core`: Safety/Paths
|
|
52
|
-
- `50-logic`: Functions/Toolchain
|
|
53
|
-
- `90-ux`: Aliases/Theme
|
|
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.
|
|
60
|
-
- **Modernization**: Merged `list` into `modern` for a cohesive Rust-based toolchain experience (`eza`, `bat`).
|
|
61
|
-
- **Standardization**: Removed duplicate logging functions in favor of a shared utility.
|
|
62
|
-
- **Documentation**: All 30+ component READMEs are now 100% accurate and verified.
|
|
63
|
-
|
|
64
|
-
### 🛠️ Start-of-Art Toolchain
|
|
65
|
-
- **Kubernetes**: Added `kubectl`, `helm`, `k9s` aliases.
|
|
66
|
-
- **IaC**: Added `terraform`, `opentofu`, `ansible`.
|
|
67
|
-
- **Languages**: Added ecosystem support for `go`, `yarn`, `uv` (modern Python).
|
|
68
|
-
- **AI Integration**: Added wrappers for `gh copilot`, `fabric`, and local LLMs.
|
|
69
|
-
- **Smart Help**: Introduced `dothelp` to strictly search and index custom functions.
|
|
70
|
-
|
|
71
|
-
### 🤖 CI/CD & Testing
|
|
72
|
-
|
|
73
|
-
- **Automated Testing**
|
|
74
|
-
- Docker CI (`ci-docker.yml`) running on Ubuntu/Fedora/Arch.
|
|
75
|
-
- Integration tests for alias syntax (`test-aliases.sh`).
|
|
76
|
-
|
|
77
|
-
- **Enterprise Core & Security (The Trust Layer)**
|
|
78
|
-
- **SLSA & SBOM**: `security-release.yml` generates SPDX SBOMs and SLSA Level 3 Provenance.
|
|
79
|
-
- **Signing**: `enable-signing` wizard for GPG/SSH git signing.
|
|
80
|
-
- **Immutability**: `lock-configs` / `unlock-configs` to protect critical dotfiles (`chflags`/`chattr`).
|
|
81
|
-
|
|
82
|
-
- **Legal & Licensing**
|
|
83
|
-
- **Compliance**: `scan-licenses` (FOSSology/Trivy), `check-cla` (GitHub checks).
|
|
84
|
-
- **Attribution**: `add-headers` automation and `gen-notice` generation.
|
|
85
|
-
|
|
86
|
-
- **Self-Healing & Diagnostics**
|
|
87
|
-
- **Health**: `dot doctor` script diagnoses environment (Dependencies, XDG, Paths).
|
|
88
|
-
- **Repair**: `dot heal` / `dot drift` aliases for auto-repair and drift detection.
|
|
89
|
-
|
|
90
|
-
- **Regulatory Compliance**
|
|
91
|
-
- **Documentation**: `COMPLIANCE.md` maps features to **SOC2 Type II** and **ISO 27001**.
|
|
92
|
-
- **Privacy**: `privacy-mode` alias disables CLI telemetry for 7+ frameworks.
|
|
93
|
-
|
|
94
|
-
- **macOS Deep Integration**
|
|
95
|
-
- **Hardening**: `defaults` script secures screensaver, firewall, and finder settings.
|
|
96
|
-
- **Optimization**: Configures Safari for dev, removes Dock clutter.
|
|
97
|
-
|
|
98
|
-
- **Font Typography**
|
|
99
|
-
- **Fonts**: Auto-installs `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
|
|
100
|
-
- **Rendering**: Linux `fontconfig` XML for sub-pixel antialiasing.
|
|
101
|
-
|
|
102
|
-
- **Phase 58: Editor Unification (The Grand Vim)** (Implemented)
|
|
103
|
-
- **Neovim IDE**: Full VS Code feature parity (Noice, Lualine, Gitsigns, Indent-Blankline).
|
|
104
|
-
- **Language Support**: Optimized for Rust (Rustaceanvim) and Python (BasedPyright/Ruff).
|
|
105
|
-
- **Performance**: Lazy-loading architecture with `<30ms` startup.
|
|
106
|
-
- **CI/CD Fixes**: Resolved CodeQL alerts (removed legacy Node.js) and fixed Docker builds.
|
|
107
|
-
|
|
108
|
-
- **OS Bundling & Compliance**
|
|
109
|
-
- **Packaging**: `scripts/package.sh` generates versioned distribution tarballs.
|
|
110
|
-
- **Enterprise**: `/etc/dotfiles/defaults.d` hooks for site-local config overrides.
|
|
111
|
-
- **Standards**: Strict **XDG Base Directory** enforcement in `paths.sh`.
|
|
112
|
-
|
|
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.
|
|
116
|
-
|
|
117
|
-
### 🧪 Verification
|
|
118
|
-
- **Performance**: Benchmark script `scripts/benchmark.sh` confirms <20ms startup.
|
|
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.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
### 📦 Installation & Migration
|
|
125
|
-
|
|
126
|
-
#### Option A: Fresh Install (New Machines)
|
|
127
|
-
If you are setting up a new machine, simply run the universal installer:
|
|
128
|
-
```bash
|
|
129
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.471/install.sh)"
|
|
130
|
-
```
|
|
131
|
-
|
|
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.
|
|
135
|
-
|
|
136
|
-
1. **Backup Legacy Configs**:
|
|
137
|
-
```bash
|
|
138
|
-
mv ~/.zshrc ~/.zshrc.bak
|
|
139
|
-
mv ~/.config/nvim ~/.config/nvim.bak
|
|
140
|
-
```
|
|
141
|
-
2. **Run Installer**:
|
|
142
|
-
```bash
|
|
143
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.471/install.sh)"
|
|
144
|
-
```
|
|
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**:
|
|
148
|
-
```bash
|
|
149
|
-
exec zsh
|
|
150
|
-
```
|