@sebastienrousseau/dotfiles 0.2.481 → 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 +122 -32
- package/LICENSE +1 -1
- package/README.md +211 -242
- package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
- package/docs/AI.md +102 -0
- package/docs/COPYRIGHT +2 -2
- package/docs/NAMING_CONVENTIONS.md +95 -0
- package/docs/README.md +58 -249
- package/docs/adr/ADR-004-cli-architecture.md +2 -2
- package/docs/adr/ADR-006-shell-selection.md +2 -2
- 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 +2 -3
- 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/MILESTONE_v0.2.493.md +43 -0
- package/docs/{PLAN.md → archive/PLAN.md} +1 -1
- package/docs/guides/INSTALL.md +140 -0
- package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
- package/docs/guides/THEMING.md +222 -0
- package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
- package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
- 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} +11 -11
- 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/{ALIASES.md → reference/ALIASES.md} +2 -6
- 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/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
- 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/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 +3 -17
- 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 +1 -1
- package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
- package/dot_config/atuin/config.toml +18 -1
- package/dot_config/bat/config +16 -1
- package/dot_config/claude/mcp_servers.json +3 -32
- 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 +1 -1
- package/dot_config/dotfiles/grub/README.md +1 -1
- package/dot_config/dotfiles/lock/README.md +1 -1
- 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/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -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/fontconfig/fonts.conf.tmpl +13 -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/ghostty/config.tmpl +69 -565
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
- package/dot_config/goose/config.yaml +2 -2
- package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
- package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
- package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
- package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +18 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/kitty/kitty.conf.tmpl +44 -508
- package/dot_config/lazygit/config.yml +18 -6
- package/dot_config/mako/config +47 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/mise/config.toml +63 -5
- package/dot_config/mongosh/mongoshrc.js +1 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -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 +14 -0
- package/dot_config/nvim/lazy-lock.json +45 -14
- package/dot_config/nvim/lua/config/autocmds.lua +45 -1
- package/dot_config/nvim/lua/config/keymaps.lua +13 -8
- package/dot_config/nvim/lua/config/lazy.lua +22 -12
- package/dot_config/nvim/lua/config/options.lua +1 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +11 -29
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +215 -4
- package/dot_config/nvim/lua/plugins/editor.lua +6 -10
- package/dot_config/nvim/lua/plugins/git.lua +1 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
- package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
- package/dot_config/nvim/lua/plugins/rust.lua +1 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
- package/dot_config/nvim/lua/plugins/ui.lua +23 -51
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/raycast/README.md +1 -1
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
- 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/51-logic-functions-extra.sh.tmpl +64 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
- package/dot_config/shell/Brewfile.cli +8 -0
- package/dot_config/shell/README.md +9 -9
- 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 +50 -50
- package/dot_config/shell/custom/error_analysis.zsh +29 -29
- package/dot_config/starship.toml.tmpl +85 -7
- 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/tmux/tmux.conf.tmpl +80 -38
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +9 -0
- package/dot_config/vscode/settings.json.tmpl +9 -50
- 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 +31 -203
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
- package/dot_config/zsh/dot_zprofile +1 -7
- package/dot_config/zsh/dot_zshenv +2 -3
- package/dot_config/zsh/dot_zshrc.tmpl +368 -69
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
- 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 +113 -91
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +61 -36
- package/dot_local/bin/executable_bm +77 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +543 -132
- 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 +2 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +43 -38
- package/dot_local/bin/executable_extract +32 -99
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +35 -20
- package/dot_local/bin/executable_git-ai-diff +33 -18
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +56 -18
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +44 -8
- package/dot_local/bin/executable_jsonv +34 -10
- package/dot_local/bin/executable_jwt +22 -6
- package/dot_local/bin/executable_kill-port +18 -2
- package/dot_local/bin/executable_lorem +21 -6
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/{executable_ip → executable_myip} +16 -2
- 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 +49 -13
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +276 -149
- package/dot_local/bin/executable_tour +112 -74
- package/dot_local/bin/executable_up +21 -0
- package/dot_local/bin/executable_update +45 -11
- package/dot_local/bin/executable_uuid +37 -7
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +25 -7
- package/dot_local/share/bash-completion/completions/dot +62 -44
- 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/_dot +283 -0
- package/install.sh +297 -210
- package/package.json +17 -5
- 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 +41 -39
- package/scripts/demo/record.sh +3 -2
- 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 +209 -29
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +491 -65
- package/scripts/diagnostics/drift-dashboard.sh +17 -6
- package/scripts/diagnostics/health.sh +351 -110
- package/scripts/diagnostics/history-analysis.sh +12 -4
- 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 +139 -93
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/diagnostics/verify_state.sh +2 -2
- 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 +21 -4
- package/scripts/dot/commands/core.sh +59 -4
- package/scripts/dot/commands/diagnostics.sh +132 -3
- 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 +148 -17
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +57 -35
- package/scripts/dot/commands/secrets.sh +151 -9
- package/scripts/dot/commands/security.sh +3 -0
- package/scripts/dot/commands/tools.sh +268 -27
- 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 +318 -18
- package/scripts/fonts/install-nerd-fonts.sh +19 -10
- package/scripts/fonts/patch-fonts.sh +1 -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 +245 -17
- package/scripts/ops/chezmoi-diff.sh +1 -0
- package/scripts/ops/chezmoi-remove.sh +2 -0
- package/scripts/ops/chezmoi-update.sh +34 -2
- 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 +98 -342
- 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 +86 -28
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +2 -1
- 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 +1 -0
- package/scripts/secrets/create-secrets-file.sh +1 -0
- package/scripts/secrets/encrypt-ssh-key.sh +1 -0
- package/scripts/security/backup.sh +44 -4
- package/scripts/security/dns-doh.sh +36 -14
- package/scripts/security/encryption-check.sh +27 -12
- package/scripts/security/enforce-policies.sh +11 -16
- package/scripts/security/firewall.sh +76 -20
- package/scripts/security/lock-configs.sh +2 -2
- package/scripts/security/lock-screen.sh +40 -18
- package/scripts/security/manage-secrets.sh +42 -29
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +40 -18
- package/scripts/security/usb-safety.sh +37 -15
- package/scripts/theme/apply-gnome-theme.sh +87 -56
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +1 -0
- package/scripts/theme/install-catppuccin-themes.sh +57 -33
- package/scripts/theme/install-cursors.sh +1 -0
- package/scripts/theme/install-file-icons.sh +1 -0
- package/scripts/theme/install-grub-theme.sh +11 -1
- package/scripts/theme/install-lock-icon.sh +1 -0
- package/scripts/theme/merge-wallpaper.sh +141 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +308 -137
- package/scripts/theme/wallpaper-rotate.sh +66 -12
- package/scripts/theme/wallpaper-sync.sh +386 -31
- package/scripts/tools/cmatrix.sh +1 -0
- package/scripts/tools/detect-collisions.py +1 -1
- package/scripts/tools/emoji-picker.sh +4 -1
- package/scripts/tools/figlet-banner.sh +1 -0
- package/scripts/tools/log-rotate.sh +2 -1
- package/scripts/tools/lolcat-wrap.sh +1 -0
- package/scripts/tools/pipes.sh +1 -0
- package/scripts/tuning/linux.sh +23 -13
- package/scripts/tuning/macos.sh +13 -4
- 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 +1 -1
- 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 +1 -1
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +1 -1
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +1 -1
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +1 -1
- 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 -229
- package/docs/COMPLIANCE.md +0 -47
- 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/OPERATIONS.md +0 -130
- package/docs/PR_DESCRIPTION.md +0 -149
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/UTILS.md +0 -105
- package/docs/WALKTHROUGH.md +0 -165
- package/dot_config/clippy.toml +0 -55
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- package/dot_config/ice/README.md +0 -13
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/shell/00-container-detect.sh +0 -53
- 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/90-theme-switch.sh +0 -70
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/scripts/ops/health-check.sh +0 -380
- 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-aliases.sh +0 -25
- 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/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
- /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
- /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
- /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
- /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
- /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
- /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
- /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
- /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
- /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
- /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
- /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
package/docs/FONTS.md
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# Font configuration
|
|
2
|
-
|
|
3
|
-
Learn about font setup, rendering, and the fonts included with these dotfiles.
|
|
4
|
-
|
|
5
|
-
## Recommended fonts
|
|
6
|
-
|
|
7
|
-
### Primary: JetBrains Mono Nerd Font
|
|
8
|
-
|
|
9
|
-
Your default font is JetBrains Mono with Nerd Font patches.
|
|
10
|
-
|
|
11
|
-
Features:
|
|
12
|
-
- Designed for code readability
|
|
13
|
-
- Ligature support
|
|
14
|
-
- Powerline/Nerd Font glyphs
|
|
15
|
-
- Clear distinction between similar characters (0/O, 1/l/I)
|
|
16
|
-
|
|
17
|
-
### Alternatives
|
|
18
|
-
|
|
19
|
-
| Font | Style | Best for |
|
|
20
|
-
|------|-------|----------|
|
|
21
|
-
| Fira Code | Modern | People who enjoy ligatures |
|
|
22
|
-
| Cascadia Code | Microsoft | People who use VS Code |
|
|
23
|
-
| Hack | Classic | People who prefer a classic look |
|
|
24
|
-
| Source Code Pro | Adobe | Clean aesthetic |
|
|
25
|
-
| Iosevka | Narrow | Small screens |
|
|
26
|
-
|
|
27
|
-
## Installation
|
|
28
|
-
|
|
29
|
-
### macOS (Homebrew)
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Install via Homebrew
|
|
33
|
-
brew tap homebrew/cask-fonts
|
|
34
|
-
brew install --cask font-jetbrains-mono-nerd-font
|
|
35
|
-
|
|
36
|
-
# Or use dot CLI
|
|
37
|
-
dot fonts install
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Linux (manual)
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Download from Nerd Fonts
|
|
44
|
-
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
|
|
45
|
-
|
|
46
|
-
# Extract to fonts directory
|
|
47
|
-
unzip JetBrainsMono.zip -d ~/.local/share/fonts/
|
|
48
|
-
|
|
49
|
-
# Update font cache
|
|
50
|
-
fc-cache -fv
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Using the font patcher
|
|
54
|
-
|
|
55
|
-
To patch your own fonts with Nerd Font glyphs:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Use the included script
|
|
59
|
-
~/.dotfiles/scripts/fonts/patch-fonts.sh /path/to/font.ttf
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Font rendering
|
|
63
|
-
|
|
64
|
-
### Sample characters
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
68
|
-
abcdefghijklmnopqrstuvwxyz
|
|
69
|
-
0123456789
|
|
70
|
-
!@#$%^&*()_+-=[]{}|;':",.<>?/
|
|
71
|
-
|
|
72
|
-
Ligatures: -> => == != <= >= && || :: ...
|
|
73
|
-
Powerline:
|
|
74
|
-
Nerd Font:
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Ambiguous characters
|
|
78
|
-
|
|
79
|
-
The font configuration provides clear distinction between:
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
0 vs O (zero vs capital O)
|
|
83
|
-
1 vs l vs I (one vs lowercase L vs capital I)
|
|
84
|
-
` vs ' (backtick vs single quote)
|
|
85
|
-
" vs " (straight vs curly quotes)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Terminal configuration
|
|
89
|
-
|
|
90
|
-
### Ghostty
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
font-family = JetBrains Mono Nerd Font
|
|
94
|
-
font-size = 14
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### WezTerm
|
|
98
|
-
|
|
99
|
-
```lua
|
|
100
|
-
config.font = wezterm.font("JetBrains Mono Nerd Font")
|
|
101
|
-
config.font_size = 14.0
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Alacritty
|
|
105
|
-
|
|
106
|
-
```yaml
|
|
107
|
-
font:
|
|
108
|
-
normal:
|
|
109
|
-
family: JetBrains Mono Nerd Font
|
|
110
|
-
size: 14.0
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Kitty
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
font_family JetBrains Mono Nerd Font
|
|
117
|
-
font_size 14.0
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## Font size recommendations
|
|
121
|
-
|
|
122
|
-
| Display | Size |
|
|
123
|
-
|---------|------|
|
|
124
|
-
| 13" laptop | 12-13pt |
|
|
125
|
-
| 15" laptop | 13-14pt |
|
|
126
|
-
| 24" monitor | 14-15pt |
|
|
127
|
-
| 27" 4K monitor | 15-16pt |
|
|
128
|
-
|
|
129
|
-
## Troubleshooting
|
|
130
|
-
|
|
131
|
-
### Fonts not displaying correctly
|
|
132
|
-
|
|
133
|
-
1. Verify font is installed: `fc-list | grep JetBrains`
|
|
134
|
-
2. Restart terminal application
|
|
135
|
-
3. Check terminal font settings
|
|
136
|
-
|
|
137
|
-
### Nerd Font icons missing
|
|
138
|
-
|
|
139
|
-
1. Verify you are using a Nerd Font variant
|
|
140
|
-
2. Confirm the terminal supports the Unicode range
|
|
141
|
-
3. Try a different Nerd Font
|
|
142
|
-
|
|
143
|
-
### Ligatures not working
|
|
144
|
-
|
|
145
|
-
1. Enable ligatures in terminal settings
|
|
146
|
-
2. Some terminals do not support ligatures (for example, Terminal.app)
|
|
147
|
-
3. Try Ghostty, WezTerm, or Kitty
|
package/docs/INSTALL.md
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Get started
|
|
2
|
-
|
|
3
|
-
This guide covers supported platforms, prerequisites, and the standard install path.
|
|
4
|
-
|
|
5
|
-
## Supported platforms
|
|
6
|
-
|
|
7
|
-
- macOS (Homebrew)
|
|
8
|
-
- Ubuntu/Debian (apt)
|
|
9
|
-
- WSL2 (Ubuntu/Debian)
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
|
|
13
|
-
Required:
|
|
14
|
-
- `git`
|
|
15
|
-
- `curl`
|
|
16
|
-
|
|
17
|
-
Optional (feature-dependent):
|
|
18
|
-
- Homebrew (macOS)
|
|
19
|
-
- `apt-get` (Linux)
|
|
20
|
-
- Docker or Podman (sandbox)
|
|
21
|
-
- Nix (optional toolchain)
|
|
22
|
-
- gum (required for `dot learn`)
|
|
23
|
-
|
|
24
|
-
## Install
|
|
25
|
-
|
|
26
|
-
### One-liner (recommended)
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
30
|
-
exec zsh
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Manual installation
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Clone the repository
|
|
37
|
-
git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
|
|
38
|
-
|
|
39
|
-
# Install chezmoi and apply
|
|
40
|
-
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply sebastienrousseau/dotfiles
|
|
41
|
-
|
|
42
|
-
# Restart shell
|
|
43
|
-
exec zsh
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Using Nix (alternative)
|
|
47
|
-
|
|
48
|
-
If you have Nix with flakes enabled:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Enter development shell with all tools
|
|
52
|
-
nix develop ~/.dotfiles/nix
|
|
53
|
-
|
|
54
|
-
# Or install the dot-utils meta-package
|
|
55
|
-
nix profile install ~/.dotfiles/nix#dot-utils
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## What happens
|
|
59
|
-
|
|
60
|
-
1. The installer downloads a pinned Chezmoi bootstrap and applies this repo.
|
|
61
|
-
2. Chezmoi hooks install OS packages, fonts, and optional apps.
|
|
62
|
-
3. The `dot` CLI becomes available in `~/.local/bin`.
|
|
63
|
-
4. Chezmoi symlinks shell configuration to your home directory.
|
|
64
|
-
|
|
65
|
-
## Post-install verification
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# Check dot CLI is available
|
|
69
|
-
dot --version
|
|
70
|
-
|
|
71
|
-
# Run health checks
|
|
72
|
-
dot doctor
|
|
73
|
-
|
|
74
|
-
# View available commands
|
|
75
|
-
dot help
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Optional: gum
|
|
79
|
-
|
|
80
|
-
`gum` is required for interactive features like `dot learn`.
|
|
81
|
-
|
|
82
|
-
macOS:
|
|
83
|
-
```bash
|
|
84
|
-
brew install gum
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Linux (snap):
|
|
88
|
-
```bash
|
|
89
|
-
sudo snap install gum --classic
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Linux (Go toolchain):
|
|
93
|
-
```bash
|
|
94
|
-
go install github.com/charmbracelet/gum@latest
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Update
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
dot update
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Uninstall
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Remove chezmoi-managed files
|
|
107
|
-
chezmoi purge
|
|
108
|
-
|
|
109
|
-
# Remove the dotfiles repository
|
|
110
|
-
rm -rf ~/.dotfiles
|
|
111
|
-
|
|
112
|
-
# Remove local data
|
|
113
|
-
rm -rf ~/.local/share/chezmoi
|
|
114
|
-
rm -rf ~/.local/share/dotfiles.log
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Troubleshooting
|
|
118
|
-
|
|
119
|
-
If install hooks fail, check `~/.local/share/dotfiles.log` and review `docs/TROUBLESHOOTING.md`.
|
package/docs/KEYS.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Keybindings
|
|
2
|
-
|
|
3
|
-
This is the single source of truth for navigation and muscle-memory shortcuts
|
|
4
|
-
across the dotfiles stack. Keep this concise and consistent.
|
|
5
|
-
|
|
6
|
-
## Zsh
|
|
7
|
-
- Ctrl+R: History search (fzf/atuin if enabled)
|
|
8
|
-
- Ctrl+P / Ctrl+N: History prefix search (up/down)
|
|
9
|
-
|
|
10
|
-
## Tmux (prefix = `Ctrl-a`)
|
|
11
|
-
- Prefix + r: Reload config
|
|
12
|
-
- Prefix + N: New window
|
|
13
|
-
- Prefix + a / Tab: Last window
|
|
14
|
-
- Prefix + %: Split vertical (current path)
|
|
15
|
-
- Prefix + ": Split horizontal (current path)
|
|
16
|
-
- Prefix + \\: Split vertical (alt)
|
|
17
|
-
- Prefix + |: Split horizontal (alt)
|
|
18
|
-
- Prefix + h/j/k/l: Move between panes (vim-style)
|
|
19
|
-
- Prefix + z: Toggle zoom pane
|
|
20
|
-
- Prefix + H/J/K/L: Resize pane (left/down/up/right)
|
|
21
|
-
|
|
22
|
-
## Neovim (leader = `Space`)
|
|
23
|
-
- Ctrl-h/j/k/l: Move between splits
|
|
24
|
-
- Ctrl-s: Save file
|
|
25
|
-
- Leader + ff: Find files (Telescope)
|
|
26
|
-
- Leader + fg: Live grep (Telescope)
|
|
27
|
-
- Leader + q: Quit
|
|
28
|
-
|
|
29
|
-
## Shell Tools
|
|
30
|
-
- z <dir>: Jump to a directory (zoxide)
|
|
31
|
-
- lg: Open lazygit
|
|
32
|
-
|
|
33
|
-
## Terminal
|
|
34
|
-
- Ctrl+Shift+C: Copy
|
|
35
|
-
- Ctrl+Shift+V: Paste
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
Update this file when bindings change. If you add a new tool, add its shortcuts
|
|
40
|
-
here and keep them aligned with the global conventions.
|
package/docs/OPERATIONS.md
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
# Discover operations
|
|
2
|
-
|
|
3
|
-
This guide covers the core workflows to keep your dotfiles running well across platforms.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Platforms
|
|
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]
|
|
35
|
-
> On Linux, `chezmoi` focuses on configuration. Package updates work best with the OS package manager to avoid `sudo` conflicts.
|
|
36
|
-
|
|
37
|
-
- **Troubleshooting**:
|
|
38
|
-
- **Font issues**: If icons are missing, run `./install/provision/run_onchange_50-install-fonts.sh` manually.
|
|
39
|
-
- **ZorinOS/GNOME**: Custom keybindings may require `dconf load` if Chezmoi does not apply them automatically.
|
|
40
|
-
|
|
41
|
-
### Windows (WSL2)
|
|
42
|
-
**Primary manager**: `apt-get` (inside WSL)
|
|
43
|
-
|
|
44
|
-
- **Update system**: Same as **Linux**.
|
|
45
|
-
|
|
46
|
-
- **WSL specifics**:
|
|
47
|
-
- **Access Windows files**: WSL mounts Windows drives at `/mnt/c/`.
|
|
48
|
-
- **Clipboard**: Dotfiles configures `win32yank.exe` automatically for clipboard sharing.
|
|
49
|
-
- **Performance**: Keep project files inside the Linux filesystem (`~/projects`), NOT in `/mnt/c/`, for 100x better IO performance.
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## Workflows
|
|
54
|
-
|
|
55
|
-
### Apply changes
|
|
56
|
-
After editing any config file:
|
|
57
|
-
```bash
|
|
58
|
-
dot apply
|
|
59
|
-
```
|
|
60
|
-
*Triggers: `dot_zshrc` reload, audit logging.*
|
|
61
|
-
|
|
62
|
-
### Roll back
|
|
63
|
-
If an update breaks your setup, revert:
|
|
64
|
-
```bash
|
|
65
|
-
cd ~/.dotfiles
|
|
66
|
-
git reset --hard HEAD@{1} # Go back 1 operation
|
|
67
|
-
chezmoi apply
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Debug
|
|
71
|
-
If something runs slow or appears broken:
|
|
72
|
-
|
|
73
|
-
1. **Check health**:
|
|
74
|
-
```bash
|
|
75
|
-
dot doctor
|
|
76
|
-
```
|
|
77
|
-
2. **Verbose mode**:
|
|
78
|
-
```bash
|
|
79
|
-
DOTFILES_DEBUG=1 dot apply
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## Tools
|
|
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
|
-
```
|
|
111
|
-
|
|
112
|
-
### Atuin
|
|
113
|
-
- **Login**: `atuin login`
|
|
114
|
-
- **Sync**: `atuin sync`
|
|
115
|
-
- **Search**: `Ctrl-r` (Global history search)
|
|
116
|
-
|
|
117
|
-
### Zoxide
|
|
118
|
-
- **Jump**: `z project` matches `~/dev/project`
|
|
119
|
-
- **Query**: `zi` (Interactive selection)
|
|
120
|
-
|
|
121
|
-
### Yazi
|
|
122
|
-
- **Open**: Type `y`
|
|
123
|
-
- **Preview**: Spacebar to preview files
|
|
124
|
-
- **Quit**: `q`
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Security policy
|
|
129
|
-
- **GPG/SSH**: All commits use SSH signing.
|
|
130
|
-
- **Audit log**: Review `~/.local/share/dotfiles.log` for a timeline of all changes that Dotfiles applied.
|
package/docs/PR_DESCRIPTION.md
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# Release notes — v0.2.480
|
|
2
|
-
|
|
3
|
-
## Release overview
|
|
4
|
-
|
|
5
|
-
This release transforms the dotfiles into a high-performance, cross-platform system managed by **chezmoi**.
|
|
6
|
-
|
|
7
|
-
### Architecture
|
|
8
|
-
v0.2.480 is a portable **shell distribution** managed by `chezmoi` (source of truth in `~/.dotfiles`).
|
|
9
|
-
|
|
10
|
-
- **XDG-first**: Configs strictly mapped to `~/.config/` (no `~/.foo` sprawl).
|
|
11
|
-
- **Single entrypoint**: `dot_zshenv` acts as an XDG bootloader for instant environment setup.
|
|
12
|
-
- **Modern toolchain**: Replaces classic Unix tools with high-performance Rust alternatives:
|
|
13
|
-
- `ls` → `eza`
|
|
14
|
-
- `cat` → `bat`
|
|
15
|
-
- `grep` → `ripgrep`
|
|
16
|
-
- `cd` → `zoxide` (smart directory jumping)
|
|
17
|
-
- `history` → `atuin` (syncable, encrypted SQLite history)
|
|
18
|
-
- **Predictive shell**:
|
|
19
|
-
- **AI strategy**: Context-aware autosuggestions coupled with optional local LLM integration (`ai_core`).
|
|
20
|
-
- **Error analysis**: Wrappers analyze command failures through `gh copilot` or local models.
|
|
21
|
-
|
|
22
|
-
### Non-goals
|
|
23
|
-
- **Not a framework**: This is a curated distribution, not a plugin manager like Oh-My-Zsh.
|
|
24
|
-
- **Not POSIX-pure**: Prioritizes modern Zsh/Rust features over strict POSIX compliance.
|
|
25
|
-
- **Not minimal**: Optimizes for functionality and speed, not line-count minimalism.
|
|
26
|
-
|
|
27
|
-
### Security
|
|
28
|
-
- **Hardened by default**: Scripts run with `set -euo pipefail` to fail fast on errors.
|
|
29
|
-
- **Supply chain safety**:
|
|
30
|
-
- **Pinned install**: Installation commands pin to the specific release tag (`v0.2.480`) to prevent drift.
|
|
31
|
-
- **Zero-trust**: No implicit reliance on `main` branch code in production.
|
|
32
|
-
- **Threat model**: This project assumes a **trusted local machine** and focuses on supply-chain (pinned versions) and configuration safety (immutable history).
|
|
33
|
-
- **Audit logging**: Dotfiles logs all `chezmoi` mutations to `~/.local/share/dotfiles.log` for day-2 operations review.
|
|
34
|
-
|
|
35
|
-
### Changes
|
|
36
|
-
- **Migrated**:
|
|
37
|
-
- Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
|
|
38
|
-
- Neovim: `~/.config/nvim` fully managed through Lua/Lazy.nvim.
|
|
39
|
-
- Tmux: Modular config consolidated to `~/.dotfiles/dot_tmux.conf`.
|
|
40
|
-
- **Packaging**:
|
|
41
|
-
- `Brewfile` (macOS) and `apt-get` (Linux) handled automatically.
|
|
42
|
-
- **Structural**:
|
|
43
|
-
- **Renamed**: `dot_config/dotfiles` → `dot_config/shell` for semantic clarity.
|
|
44
|
-
- **Moved**: `bin/` → `dot_local/bin/` for automatic path integration.
|
|
45
|
-
- **Separated**: Install scripts split by OS (Darwin/Linux) for cleaner logic.
|
|
46
|
-
- **Layered architecture**: Refactored shell config into explicit layers:
|
|
47
|
-
- `00-core`: Safety/Paths
|
|
48
|
-
- `50-logic`: Functions/Toolchain
|
|
49
|
-
- `90-ux`: Aliases/Theme
|
|
50
|
-
- **Trust and reproducibility**:
|
|
51
|
-
- **Pinned formulae**: Generated `Brewfile.lock.json` for strictly reproducible macOS builds.
|
|
52
|
-
- **Binary pinning**: `install.sh` now enforces specific version tags for initial bootstrap.
|
|
53
|
-
### Quality
|
|
54
|
-
- **Conflict resolution**: Detected and resolved **46 namespace collisions** across all alias modules (Git, Go, Archives, etc.) to ensure zero overlap.
|
|
55
|
-
- **Git safety**: Renamed colliding Go aliases (for example, `gr` -> `gor`) to protect core Git commands.
|
|
56
|
-
- **Modernization**: Merged `list` into `modern` for a cohesive Rust-based toolchain experience (`eza`, `bat`).
|
|
57
|
-
- **Standardization**: Removed duplicate logging functions in favor of a shared utility.
|
|
58
|
-
- **Documentation**: All 30+ component READMEs now reflect current functionality.
|
|
59
|
-
|
|
60
|
-
### Toolchain
|
|
61
|
-
- **Kubernetes**: Added `kubectl`, `helm`, `k9s` aliases.
|
|
62
|
-
- **IaC**: Added `terraform`, `opentofu`, `ansible`.
|
|
63
|
-
- **Languages**: Added ecosystem support for `go`, `yarn`, `uv` (modern Python).
|
|
64
|
-
- **AI integration**: Added wrappers for `gh copilot`, `fabric`, and local LLMs.
|
|
65
|
-
- **Smart help**: Added `dothelp` to search and index custom functions.
|
|
66
|
-
|
|
67
|
-
### Testing
|
|
68
|
-
|
|
69
|
-
- **Automated testing**
|
|
70
|
-
- Docker CI (`ci-docker.yml`) runs on Ubuntu/Fedora/Arch.
|
|
71
|
-
- Integration tests validate alias syntax (`test-aliases.sh`).
|
|
72
|
-
|
|
73
|
-
- **Enterprise core and security (the trust layer)**
|
|
74
|
-
- **SLSA and SBOM**: `security-release.yml` generates SPDX SBOMs and SLSA Level 3 Provenance.
|
|
75
|
-
- **Signing**: `enable-signing` wizard for GPG/SSH git signing.
|
|
76
|
-
- **Immutability**: `lock-configs` / `unlock-configs` protect critical dotfiles (`chflags`/`chattr`).
|
|
77
|
-
|
|
78
|
-
- **Legal and licensing**
|
|
79
|
-
- **Compliance**: `scan-licenses` (FOSSology/Trivy), `check-cla` (GitHub checks).
|
|
80
|
-
- **Attribution**: `add-headers` automation and `gen-notice` generation.
|
|
81
|
-
|
|
82
|
-
- **Self-healing and diagnostics**
|
|
83
|
-
- **Health**: `dot doctor` diagnoses environment (dependencies, XDG, paths).
|
|
84
|
-
- **Repair**: `dot heal` / `dot drift` aliases for auto-repair and drift detection.
|
|
85
|
-
|
|
86
|
-
- **Regulatory compliance**
|
|
87
|
-
- **Documentation**: `COMPLIANCE.md` maps features to **SOC2 Type II** and **ISO 27001**.
|
|
88
|
-
- **Privacy**: `privacy-mode` alias disables CLI telemetry for 7+ frameworks.
|
|
89
|
-
|
|
90
|
-
- **macOS deep integration**
|
|
91
|
-
- **Hardening**: `defaults` script hardens screensaver, firewall, and Finder settings.
|
|
92
|
-
- **Optimization**: Configures Safari for development, removes Dock clutter.
|
|
93
|
-
|
|
94
|
-
- **Font typography**
|
|
95
|
-
- **Fonts**: Auto-installs `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
|
|
96
|
-
- **Rendering**: Linux `fontconfig` XML for sub-pixel antialiasing.
|
|
97
|
-
|
|
98
|
-
- **Phase 58: Editor unification** (implemented)
|
|
99
|
-
- **Neovim IDE**: Full VS Code feature parity (Noice, Lualine, Gitsigns, Indent-Blankline).
|
|
100
|
-
- **Language support**: Optimized for Rust (Rustaceanvim) and Python (BasedPyright/Ruff).
|
|
101
|
-
- **Performance**: Lazy-loading architecture with `<30ms` startup.
|
|
102
|
-
- **CI/CD fixes**: Resolved CodeQL alerts (removed legacy Node.js) and fixed Docker builds.
|
|
103
|
-
|
|
104
|
-
- **OS bundling and compliance**
|
|
105
|
-
- **Packaging**: `scripts/package.sh` generates versioned distribution tarballs.
|
|
106
|
-
- **Enterprise**: `/etc/dotfiles/defaults.d` hooks for site-local config overrides.
|
|
107
|
-
- **Standards**: Strict **XDG Base Directory** enforcement in `paths.sh`.
|
|
108
|
-
|
|
109
|
-
- **The universal installer (zero-dep)**
|
|
110
|
-
- **Bootstrap**: `install.sh` runs through `curl | sh` with no dependencies.
|
|
111
|
-
- **Teleport**: `dot teleport user@host` deploys configs ephemerally through SSH.
|
|
112
|
-
|
|
113
|
-
### Verification
|
|
114
|
-
- **Performance**: Benchmark script `scripts/benchmark.sh` confirms <20ms startup.
|
|
115
|
-
- **Integration**: `test-aliases.sh` validates syntax of all 32 alias modules.
|
|
116
|
-
- **Security**: **Zero critical vulnerabilities** (CodeQL and Dependabot clean).
|
|
117
|
-
- **Functionality**: Local migration tested on macOS, Linux, and WSL.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
### Install and migrate
|
|
121
|
-
|
|
122
|
-
#### Option A: Fresh install (new machines)
|
|
123
|
-
To set up a new machine, run the universal installer:
|
|
124
|
-
```bash
|
|
125
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
#### Option B: Migration (upgrade from earlier versions)
|
|
129
|
-
|
|
130
|
-
> [!IMPORTANT]
|
|
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.
|
|
134
|
-
|
|
135
|
-
1. **Back up legacy configs**:
|
|
136
|
-
```bash
|
|
137
|
-
mv ~/.zshrc ~/.zshrc.bak
|
|
138
|
-
mv ~/.config/nvim ~/.config/nvim.bak
|
|
139
|
-
```
|
|
140
|
-
2. **Run the installer**:
|
|
141
|
-
```bash
|
|
142
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
143
|
-
```
|
|
144
|
-
3. **Resolve conflicts**:
|
|
145
|
-
- If `chezmoi` prompts you to overwrite files (for example, `.zshrc`), select **overwrite** (or diff to check) because this release uses a new sourcing strategy.
|
|
146
|
-
4. **Restart shell**:
|
|
147
|
-
```bash
|
|
148
|
-
exec zsh
|
|
149
|
-
```
|
package/docs/SECRETS.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Secrets
|
|
2
|
-
|
|
3
|
-
You can encrypt secrets using `age` with `chezmoi`.
|
|
4
|
-
|
|
5
|
-
## Get started
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
dot secrets-init
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The command creates `~/.config/chezmoi/key.txt` and prints your public key. It also updates `~/.config/chezmoi/chezmoi.toml` with the `age` backend settings.
|
|
12
|
-
|
|
13
|
-
> [!IMPORTANT]
|
|
14
|
-
> Verify that `age` is installed before running this command. You can install it through `brew`, `apt`, or your preferred toolchain.
|
|
15
|
-
|
|
16
|
-
## Enable encryption
|
|
17
|
-
|
|
18
|
-
Edit `~/.config/chezmoi/chezmoi.toml` (local only):
|
|
19
|
-
|
|
20
|
-
```toml
|
|
21
|
-
encryption = "age"
|
|
22
|
-
|
|
23
|
-
[age]
|
|
24
|
-
identity = "~/.config/chezmoi/key.txt"
|
|
25
|
-
recipient = "age1..."
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
You can also re-run:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
chezmoi init --apply --promptDefaults
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Edit secrets
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
dot secrets
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
The command opens `~/.config/chezmoi/encrypted_secrets.age` for editing and applies changes when you save.
|
|
41
|
-
|
|
42
|
-
## Create secrets
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
dot secrets-create
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Then edit:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
dot secrets
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Encrypt an SSH key
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
dot ssh-key ~/.ssh/id_ed25519
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The command creates a local encrypted file at:
|
|
61
|
-
`~/.config/chezmoi/encrypted_id_ed25519.age`
|
|
62
|
-
|
|
63
|
-
If you want it tracked (encrypted) in your dotfiles, run:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
chezmoi add --encrypt ~/.config/chezmoi/encrypted_id_ed25519.age
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Important notes
|
|
70
|
-
|
|
71
|
-
> [!WARNING]
|
|
72
|
-
> Keep `~/.config/chezmoi/key.txt` private. Never commit this file to a public repository.
|
|
73
|
-
|
|
74
|
-
- You can share the public key freely for encrypting data.
|
|
75
|
-
- Consider rotating keys yearly (or after any potential leak).
|
|
76
|
-
To rotate: generate a new key, update `chezmoi.toml`, re-encrypt your secrets, and delete the old key.
|
package/docs/SECURITY.md
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Security
|
|
2
|
-
|
|
3
|
-
Learn how Dotfiles handles security and system modifications.
|
|
4
|
-
|
|
5
|
-
## Principles
|
|
6
|
-
|
|
7
|
-
- **Opt-In Only**: No hardening is applied unless the `DOTFILES_` variables are set to `1`.
|
|
8
|
-
- **Local Logging**: Actions are logged to `~/.local/share/dotfiles.log`. No telemetry.
|
|
9
|
-
- **No Hidden Sudo**: Sudo is only requested for system managers (apt, etc) and never cached indefinitely.
|
|
10
|
-
|
|
11
|
-
## Hardening
|
|
12
|
-
|
|
13
|
-
| Feature | Env Var | Action (macOS) | Action (Linux) |
|
|
14
|
-
|---|---|---|---|
|
|
15
|
-
| Firewall | `DOTFILES_FIREWALL` | Enables `socketfilterfw` + Stealth Mode | Configures UFW |
|
|
16
|
-
| Telemetry | `DOTFILES_TELEMETRY` | Disables Diagnostic plists | Disables `whoopsie`/`apport` |
|
|
17
|
-
| DNS-over-HTTPS | `DOTFILES_DOH` | Browser-level settings | Configures `resolvectl` |
|
|
18
|
-
| Idle Security | `DOTFILES_LOCK` | Sets screensaver idle time | Sets GNOME/KDE idle-delay |
|
|
19
|
-
|
|
20
|
-
## Secrets
|
|
21
|
-
|
|
22
|
-
Dotfiles uses **age** for encryption.
|
|
23
|
-
|
|
24
|
-
- **Initialization**: `dot secrets-init` creates a key at `~/.config/chezmoi/key.txt`.
|
|
25
|
-
- **Storage**: Secrets are stored as `.age` encrypted files.
|
|
26
|
-
- **Protection**: Private keys are never committed to the repo.
|
|
27
|
-
|
|
28
|
-
## Report an issue
|
|
29
|
-
|
|
30
|
-
If you discover a security vulnerability, please do not open a public issue. Follow the instructions in the Security Policy.
|