@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,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "2026.03",
|
|
3
|
+
"defaultBundle": "developer",
|
|
4
|
+
"bundles": {
|
|
5
|
+
"developer": {
|
|
6
|
+
"description": "Local development with bounded agent execution and strict-local MCP.",
|
|
7
|
+
"agentProfile": "apply",
|
|
8
|
+
"mcpProfile": "strict-local",
|
|
9
|
+
"signingRequired": true,
|
|
10
|
+
"attestationRequired": true,
|
|
11
|
+
"networkPolicy": "limited"
|
|
12
|
+
},
|
|
13
|
+
"offline": {
|
|
14
|
+
"description": "Disconnected local work with no remote MCP transport and no networked agents.",
|
|
15
|
+
"agentProfile": "ask",
|
|
16
|
+
"mcpProfile": "strict-local",
|
|
17
|
+
"signingRequired": true,
|
|
18
|
+
"attestationRequired": true,
|
|
19
|
+
"networkPolicy": "off"
|
|
20
|
+
},
|
|
21
|
+
"regulated": {
|
|
22
|
+
"description": "High-trust profile for controlled environments with explicit approvals and evidence export.",
|
|
23
|
+
"agentProfile": "audit",
|
|
24
|
+
"mcpProfile": "strict-local",
|
|
25
|
+
"signingRequired": true,
|
|
26
|
+
"attestationRequired": true,
|
|
27
|
+
"networkPolicy": "limited"
|
|
28
|
+
},
|
|
29
|
+
"enterprise": {
|
|
30
|
+
"description": "Enterprise remote profile with registry-backed MCP and governed audit posture.",
|
|
31
|
+
"agentProfile": "audit",
|
|
32
|
+
"mcpProfile": "enterprise-remote",
|
|
33
|
+
"signingRequired": true,
|
|
34
|
+
"attestationRequired": true,
|
|
35
|
+
"networkPolicy": "limited"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "2026.03",
|
|
3
|
+
"defaultPromptSet": "core",
|
|
4
|
+
"promptSets": {
|
|
5
|
+
"core": {
|
|
6
|
+
"description": "General workstation guidance and bounded implementation prompts.",
|
|
7
|
+
"changeControl": "signed-commit",
|
|
8
|
+
"reviewRequired": true
|
|
9
|
+
},
|
|
10
|
+
"regulated-audit": {
|
|
11
|
+
"description": "Compliance and high-trust audit prompts with stricter review expectations.",
|
|
12
|
+
"changeControl": "signed-commit-and-policy-review",
|
|
13
|
+
"reviewRequired": true
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Version pins for provisioned tools (Linux).
|
|
2
|
+
# Override by editing this file or exporting env vars before running.
|
|
3
|
+
STARSHIP_TAG="v1.24.2"
|
|
4
|
+
ZOXIDE_TAG="0.9.9"
|
|
5
|
+
NEOVIM_TAG="v0.11.6"
|
|
6
|
+
LAZYGIT_TAG="v0.60.0"
|
|
7
|
+
ATUIN_TAG="v18.13.3"
|
|
8
|
+
ZELLIJ_TAG="v0.43.1"
|
|
9
|
+
UV_TAG="0.10.12"
|
|
10
|
+
|
|
11
|
+
# Update & runtime tooling
|
|
12
|
+
TOPGRADE_TAG="v17.1.0"
|
|
13
|
+
MISE_TAG="v2026.3.8"
|
|
14
|
+
YAZI_TAG="v26.1.22"
|
|
15
|
+
|
|
16
|
+
# AI CLI Tools
|
|
17
|
+
MODS_TAG="v1.8.1"
|
|
18
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
😀 grinning face
|
|
2
|
+
😃 grinning face with big eyes
|
|
3
|
+
😄 grinning face with smiling eyes
|
|
4
|
+
😁 beaming face with smiling eyes
|
|
5
|
+
😆 grinning squinting face
|
|
6
|
+
😉 winking face
|
|
7
|
+
😊 smiling face with smiling eyes
|
|
8
|
+
😎 smiling face with sunglasses
|
|
9
|
+
😍 smiling face with heart-eyes
|
|
10
|
+
😘 face blowing a kiss
|
|
11
|
+
😇 smiling face with halo
|
|
12
|
+
🤔 thinking face
|
|
13
|
+
🙃 upside-down face
|
|
14
|
+
😴 sleeping face
|
|
15
|
+
🤯 exploding head
|
|
16
|
+
🥳 partying face
|
|
17
|
+
😤 face with steam from nose
|
|
18
|
+
😭 loudly crying face
|
|
19
|
+
😱 face screaming in fear
|
|
20
|
+
🤖 robot
|
|
21
|
+
👋 waving hand
|
|
22
|
+
👍 thumbs up
|
|
23
|
+
🙏 folded hands
|
|
24
|
+
💡 light bulb
|
|
25
|
+
🔥 fire
|
|
26
|
+
✨ sparkles
|
|
27
|
+
🎉 party popper
|
|
28
|
+
🚀 rocket
|
|
29
|
+
🧠 brain
|
|
30
|
+
🛠️ hammer and wrench
|
|
31
|
+
📦 package
|
|
32
|
+
✅ check mark
|
|
33
|
+
❌ cross mark
|
|
34
|
+
⚠️ warning
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Wayland session environment variables
|
|
2
|
+
ELECTRON_OZONE_PLATFORM_HINT=auto
|
|
3
|
+
TERMINAL=ghostty
|
|
4
|
+
|
|
5
|
+
# Qt Wayland support
|
|
6
|
+
QT_QPA_PLATFORM=wayland
|
|
7
|
+
QT_QPA_PLATFORMTHEME=gtk3
|
|
8
|
+
|
|
9
|
+
# Firefox native Wayland
|
|
10
|
+
MOZ_ENABLE_WAYLAND=1
|
|
11
|
+
|
|
12
|
+
# SDL Wayland support
|
|
13
|
+
SDL_VIDEODRIVER=wayland
|
|
14
|
+
|
|
15
|
+
# Java AWT fix (JetBrains IDEs, Ghidra)
|
|
16
|
+
_JAVA_AWT_WM_NONREPARENTING=1
|
|
17
|
+
|
|
18
|
+
# DMS icon theme
|
|
19
|
+
QS_ICON_THEME=Papirus-Dark
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/fastfetch-cli/fastfetch/dev/doc/json_schema.json",
|
|
3
|
+
"logo": {
|
|
4
|
+
"type": "auto",
|
|
5
|
+
"padding": { "top": 1, "left": 1 }
|
|
6
|
+
},
|
|
7
|
+
"display": {
|
|
8
|
+
"separator": " "
|
|
9
|
+
},
|
|
10
|
+
"modules": [
|
|
11
|
+
"title",
|
|
12
|
+
"os",
|
|
13
|
+
"host",
|
|
14
|
+
"kernel",
|
|
15
|
+
"uptime",
|
|
16
|
+
"packages",
|
|
17
|
+
"shell",
|
|
18
|
+
"display",
|
|
19
|
+
"wm",
|
|
20
|
+
"terminal",
|
|
21
|
+
"cpu",
|
|
22
|
+
"gpu",
|
|
23
|
+
"memory",
|
|
24
|
+
"disk",
|
|
25
|
+
"localip",
|
|
26
|
+
"publicip"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
// Firefox privacy and performance hardening
|
|
3
|
+
// Apply by symlinking to ~/.mozilla/firefox/<profile>/user.js
|
|
4
|
+
|
|
5
|
+
/* global user_pref */
|
|
6
|
+
|
|
7
|
+
{{- $t := index .themes .theme -}}
|
|
8
|
+
|
|
9
|
+
// Disable telemetry
|
|
10
|
+
user_pref("toolkit.telemetry.enabled", false);
|
|
11
|
+
user_pref("toolkit.telemetry.unified", false);
|
|
12
|
+
user_pref("toolkit.telemetry.archive.enabled", false);
|
|
13
|
+
user_pref("datareporting.healthreport.uploadEnabled", false);
|
|
14
|
+
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
|
15
|
+
user_pref("browser.ping-centre.telemetry", false);
|
|
16
|
+
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
|
17
|
+
user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
|
18
|
+
|
|
19
|
+
// Disable Pocket
|
|
20
|
+
user_pref("extensions.pocket.enabled", false);
|
|
21
|
+
|
|
22
|
+
// Disable prefetching
|
|
23
|
+
user_pref("network.prefetch-next", false);
|
|
24
|
+
user_pref("network.dns.disablePrefetch", true);
|
|
25
|
+
user_pref("network.predictor.enabled", false);
|
|
26
|
+
|
|
27
|
+
// Enable HTTPS-Only
|
|
28
|
+
user_pref("dom.security.https_only_mode", true);
|
|
29
|
+
user_pref("dom.security.https_only_mode_ever_enabled", true);
|
|
30
|
+
|
|
31
|
+
// Disable form autofill
|
|
32
|
+
user_pref("extensions.formautofill.addresses.enabled", false);
|
|
33
|
+
user_pref("extensions.formautofill.creditCards.enabled", false);
|
|
34
|
+
|
|
35
|
+
// Enhanced tracking protection
|
|
36
|
+
user_pref("browser.contentblocking.category", "strict");
|
|
37
|
+
user_pref("privacy.trackingprotection.enabled", true);
|
|
38
|
+
user_pref("privacy.trackingprotection.socialtracking.enabled", true);
|
|
39
|
+
|
|
40
|
+
// DNS over HTTPS
|
|
41
|
+
user_pref("network.trr.mode", 2);
|
|
42
|
+
user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
|
|
43
|
+
|
|
44
|
+
// Disable WebRTC IP leak
|
|
45
|
+
user_pref("media.peerconnection.ice.default_address_only", true);
|
|
46
|
+
|
|
47
|
+
// Performance
|
|
48
|
+
user_pref("gfx.webrender.all", true);
|
|
49
|
+
user_pref("layers.acceleration.force-enabled", true);
|
|
50
|
+
user_pref("layout.css.backdrop-filter.enabled", true);
|
|
51
|
+
|
|
52
|
+
// Theme coordination
|
|
53
|
+
// 0 = dark, 1 = light
|
|
54
|
+
user_pref("layout.css.prefers-color-scheme.content-override", {{ if eq $t.mode "light" }}1{{ else }}0{{ end }});
|
|
55
|
+
|
|
56
|
+
// UI
|
|
57
|
+
user_pref("browser.uidensity", 1);
|
|
58
|
+
user_pref("browser.compactmode.show", true);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
# Completions for dot-theme-sync
|
|
3
|
+
|
|
4
|
+
# Complete with theme names from themes.toml
|
|
5
|
+
complete -c dot-theme-sync -f -a "{{- range $name, $_ := .themes }}{{ $name }} {{ end }}"
|
|
6
|
+
|
|
7
|
+
# Complete with flags
|
|
8
|
+
complete -c dot-theme-sync -l help -s h -d "Show help"
|
|
9
|
+
complete -c dot-theme-sync -l full -d "Full chezmoi apply + reload"
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Fish completion for 'dot' CLI
|
|
2
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }})
|
|
3
|
+
|
|
4
|
+
# Disable file completions for subcommands
|
|
5
|
+
complete -c dot -f
|
|
6
|
+
|
|
7
|
+
# Core Commands
|
|
8
|
+
complete -c dot -n "__fish_use_subcommand" -a apply -d "Apply dotfiles configuration"
|
|
9
|
+
complete -c dot -n "__fish_use_subcommand" -a sync -d "Alias of apply"
|
|
10
|
+
complete -c dot -n "__fish_use_subcommand" -a update -d "Pull latest changes and apply"
|
|
11
|
+
complete -c dot -n "__fish_use_subcommand" -a clean-cache -d "Clear shell initialization caches"
|
|
12
|
+
complete -c dot -n "__fish_use_subcommand" -a prewarm -d "Regenerate shell caches for ultra-fast startup"
|
|
13
|
+
complete -c dot -n "__fish_use_subcommand" -a cl -d "Claude CLI with context patterns"
|
|
14
|
+
complete -c dot -n "__fish_use_subcommand" -a copilot -d "GitHub Copilot CLI with context patterns"
|
|
15
|
+
complete -c dot -n "__fish_use_subcommand" -a gemini -d "Gemini CLI with context patterns"
|
|
16
|
+
complete -c dot -n "__fish_use_subcommand" -a kiro -d "Kiro CLI with context patterns"
|
|
17
|
+
complete -c dot -n "__fish_use_subcommand" -a sgpt -d "Shell-GPT with context patterns"
|
|
18
|
+
complete -c dot -n "__fish_use_subcommand" -a ollama -d "Ollama with context patterns"
|
|
19
|
+
complete -c dot -n "__fish_use_subcommand" -a opencode -d "OpenCode with context patterns"
|
|
20
|
+
complete -c dot -n "__fish_use_subcommand" -a aider -d "Aider with context patterns"
|
|
21
|
+
complete -c dot -n "__fish_use_subcommand" -a add -d "Add a file to chezmoi source"
|
|
22
|
+
|
|
23
|
+
# AI Pattern completions for AI CLIs
|
|
24
|
+
for cmd in cl copilot gemini kiro sgpt ollama opencode aider
|
|
25
|
+
complete -c dot -n "__fish_seen_subcommand_from $cmd" -s p -l pattern -x -a "(ls -1 ~/.config/ai/patterns 2>/dev/null | sed 's/\.md\$//')"
|
|
26
|
+
end
|
|
27
|
+
complete -c dot -n "__fish_use_subcommand" -a diff -d "Show chezmoi diff with exclusions"
|
|
28
|
+
complete -c dot -n "__fish_use_subcommand" -a status -d "Show configuration drift"
|
|
29
|
+
complete -c dot -n "__fish_use_subcommand" -a remove -d "Safely remove a managed file"
|
|
30
|
+
complete -c dot -n "__fish_use_subcommand" -a cd -d "Print source directory path"
|
|
31
|
+
complete -c dot -n "__fish_use_subcommand" -a edit -d "Open chezmoi source in $EDITOR"
|
|
32
|
+
complete -c dot -n "__fish_use_subcommand" -a patterns -d "Manage AI steering patterns"
|
|
33
|
+
complete -c dot -n "__fish_use_subcommand" -a commit -d "AI-powered conventional commit"
|
|
34
|
+
|
|
35
|
+
# Diagnostics
|
|
36
|
+
complete -c dot -n "__fish_use_subcommand" -a doctor -d "Check system health and configuration"
|
|
37
|
+
complete -c dot -n "__fish_use_subcommand" -a heal -d "Auto-repair common dotfiles issues"
|
|
38
|
+
complete -c dot -n "__fish_use_subcommand" -a health -d "Run comprehensive health check"
|
|
39
|
+
complete -c dot -n "__fish_use_subcommand" -a smoke-test -d "Run automated toolchain verification"
|
|
40
|
+
complete -c dot -n "__fish_use_subcommand" -a chaos -d "Simulate config corruption"
|
|
41
|
+
complete -c dot -n "__fish_use_subcommand" -a scorecard -d "Show the unified scorecard"
|
|
42
|
+
complete -c dot -n "__fish_use_subcommand" -a security-score -d "Score workstation security"
|
|
43
|
+
complete -c dot -n "__fish_use_subcommand" -a drift -d "Drift dashboard"
|
|
44
|
+
complete -c dot -n "__fish_use_subcommand" -a history -d "Shell history analysis"
|
|
45
|
+
complete -c dot -n "__fish_use_subcommand" -a benchmark -d "Run shell startup benchmark"
|
|
46
|
+
complete -c dot -n "__fish_use_subcommand" -a perf -d "Show current performance mode"
|
|
47
|
+
complete -c dot -n "__fish_use_subcommand" -a snapshot -d "Capture workstation state"
|
|
48
|
+
complete -c dot -n "__fish_use_subcommand" -a verify -d "Run verification checks"
|
|
49
|
+
complete -c dot -n "__fish_use_subcommand" -a restore -d "Restore from backup or git ref"
|
|
50
|
+
complete -c dot -n "__fish_use_subcommand" -a ai -d "Show AI helper status"
|
|
51
|
+
complete -c dot -n "__fish_use_subcommand" -a ai-setup -d "Interactive setup for all AI CLI tools"
|
|
52
|
+
complete -c dot -n "__fish_use_subcommand" -a ai-query -d "Context-aware RAG query over your dotfiles"
|
|
53
|
+
complete -c dot -n "__fish_use_subcommand" -a attest -d "Export workstation attestation evidence"
|
|
54
|
+
complete -c dot -n "__fish_use_subcommand" -a lint -d "Lint shell scripts"
|
|
55
|
+
|
|
56
|
+
# Tools
|
|
57
|
+
complete -c dot -n "__fish_use_subcommand" -a tools -d "Show or install nix packages"
|
|
58
|
+
complete -c dot -n "__fish_use_subcommand" -a new -d "Create a new project from a template"
|
|
59
|
+
complete -c dot -n "__fish_use_subcommand" -a sandbox -d "Launch a safe sandbox preview"
|
|
60
|
+
complete -c dot -n "__fish_use_subcommand" -a keys -d "Show keybindings catalog"
|
|
61
|
+
complete -c dot -n "__fish_use_subcommand" -a learn -d "Interactive tour"
|
|
62
|
+
complete -c dot -n "__fish_use_subcommand" -a docs -d "Show repo README"
|
|
63
|
+
complete -c dot -n "__fish_use_subcommand" -a env -d "Show managed tool versions"
|
|
64
|
+
complete -c dot -n "__fish_use_subcommand" -a profile -d "Show or switch configuration profile"
|
|
65
|
+
|
|
66
|
+
# Appearance
|
|
67
|
+
complete -c dot -n "__fish_use_subcommand" -a theme -d "Switch terminal theme (dark/light)"
|
|
68
|
+
complete -c dot -n "__fish_use_subcommand" -a wallpaper -d "Apply a wallpaper"
|
|
69
|
+
complete -c dot -n "__fish_use_subcommand" -a fonts -d "Install Nerd Fonts"
|
|
70
|
+
|
|
71
|
+
# Secrets & Security
|
|
72
|
+
complete -c dot -n "__fish_use_subcommand" -a secrets-init -d "Initialize age key for secrets"
|
|
73
|
+
complete -c dot -n "__fish_use_subcommand" -a secrets -d "Edit encrypted secrets"
|
|
74
|
+
complete -c dot -n "__fish_use_subcommand" -a bundle -d "Create offline archive"
|
|
75
|
+
complete -c dot -n "__fish_use_subcommand" -a upgrade -d "Update flake, plugins, and dotfiles"
|
|
76
|
+
complete -c dot -n "__fish_use_subcommand" -a mcp -d "Inspect MCP policy and registry"
|
|
77
|
+
complete -c dot -n "__fish_use_subcommand" -a mode -d "Show or set the agent profile"
|
|
78
|
+
complete -c dot -n "__fish_use_subcommand" -a agent -d "Show agent metadata and logs"
|
|
79
|
+
complete -c dot -n "__fish_use_subcommand" -a search -d "Find commands by keyword"
|
|
80
|
+
|
|
81
|
+
# Meta
|
|
82
|
+
complete -c dot -n "__fish_use_subcommand" -a "version --version" -d "Show version"
|
|
83
|
+
complete -c dot -n "__fish_use_subcommand" -a help -d "Show help"
|
|
84
|
+
|
|
85
|
+
# Focused command flags
|
|
86
|
+
complete -c dot -n "__fish_seen_subcommand_from doctor" -s H -l heal -d "Auto-repair common issues"
|
|
87
|
+
complete -c dot -n "__fish_seen_subcommand_from doctor" -s s -l score -d "Show score output"
|
|
88
|
+
complete -c dot -n "__fish_seen_subcommand_from doctor" -s j -l json -d "Emit JSON summary"
|
|
89
|
+
complete -c dot -n "__fish_seen_subcommand_from doctor" -s A -l ai -d "Include AI diagnostics"
|
|
90
|
+
complete -c dot -n "__fish_seen_subcommand_from attest" -s j -l json -d "Emit JSON output"
|
|
91
|
+
complete -c dot -n "__fish_seen_subcommand_from attest" -s w -l write -r -d "Write attestation to a file"
|
|
92
|
+
complete -c dot -n "__fish_seen_subcommand_from lint" -s c -l check -d "Run check-only mode"
|
|
93
|
+
complete -c dot -n "__fish_seen_subcommand_from lint" -s f -l fix -d "Apply safe fixes"
|
|
94
|
+
complete -c dot -n "__fish_seen_subcommand_from mcp" -s s -l strict -d "Treat policy warnings as errors"
|
|
95
|
+
complete -c dot -n "__fish_seen_subcommand_from mcp" -s j -l json -d "Emit JSON summary"
|
|
96
|
+
complete -c dot -n "__fish_seen_subcommand_from mcp" -a registry -d "Show the MCP registry"
|
|
97
|
+
complete -c dot -n "__fish_seen_subcommand_from health" -s v -l verbose -d "Show detailed checks"
|
|
98
|
+
complete -c dot -n "__fish_seen_subcommand_from health" -s j -l json -d "Emit JSON summary"
|
|
99
|
+
complete -c dot -n "__fish_seen_subcommand_from health" -s f -l fix -d "Apply common fixes"
|
|
100
|
+
complete -c dot -n "__fish_seen_subcommand_from health" -s F -l force -d "Apply fixes without prompts"
|
|
101
|
+
complete -c dot -n "__fish_seen_subcommand_from perf" -s j -l json -d "Emit JSON timing data"
|
|
102
|
+
complete -c dot -n "__fish_seen_subcommand_from perf" -s p -l profile -d "Include profile output"
|
|
103
|
+
complete -c dot -n "__fish_seen_subcommand_from perf" -s r -l runs -x -d "Set the number of runs"
|
|
104
|
+
complete -c dot -n "__fish_seen_subcommand_from perf" -s t -l target -x -d "Set the timing target in milliseconds"
|
|
105
|
+
complete -c dot -n "__fish_seen_subcommand_from security-score" -s v -l verbose -d "Show detailed scoring"
|
|
106
|
+
complete -c dot -n "__fish_seen_subcommand_from security-score" -s q -l quiet -d "Reduce output noise"
|
|
107
|
+
complete -c dot -n "__fish_seen_subcommand_from security-score" -s j -l json -d "Emit JSON summary"
|
|
108
|
+
complete -c dot -n "__fish_seen_subcommand_from snapshot" -s b -l baseline -d "Capture the baseline snapshot"
|
|
109
|
+
complete -c dot -n "__fish_seen_subcommand_from snapshot" -s f -l force -d "Overwrite an existing snapshot"
|
|
110
|
+
complete -c dot -n "__fish_seen_subcommand_from verify" -s s -l security -d "Run security verification"
|
|
111
|
+
complete -c dot -n "__fish_seen_subcommand_from restore" -s l -l list -d "List available backups"
|
|
112
|
+
complete -c dot -n "__fish_seen_subcommand_from restore" -s L -l latest -d "Restore the latest backup"
|
|
113
|
+
complete -c dot -n "__fish_seen_subcommand_from restore" -s g -l git -x -d "Restore from a git ref"
|
|
114
|
+
complete -c dot -n "__fish_seen_subcommand_from restore" -s d -l diff -x -d "Show a diff for a git ref"
|
|
115
|
+
complete -c dot -n "__fish_seen_subcommand_from restore" -s n -l dry-run -d "Preview the restore"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Startup performance cache
|
|
2
|
+
# Loaded before vendor conf.d — intercepts slow commands with cached results.
|
|
3
|
+
|
|
4
|
+
# Fast fish_add_path replacement — builtins only, no argparse overhead.
|
|
5
|
+
# Shadows the standard fish_add_path function (autoloaded from /usr/share/fish/).
|
|
6
|
+
# Handles the common calling conventions used by vendor conf.d scripts.
|
|
7
|
+
function fish_add_path
|
|
8
|
+
set -l append false
|
|
9
|
+
set -l paths
|
|
10
|
+
for arg in $argv
|
|
11
|
+
switch $arg
|
|
12
|
+
case --append -a
|
|
13
|
+
set append true
|
|
14
|
+
case --global --path -g -p -P -U
|
|
15
|
+
# Accepted and ignored — we always use global scope + PATH
|
|
16
|
+
case '--*' '-*'
|
|
17
|
+
# Ignore unknown flags
|
|
18
|
+
case '*'
|
|
19
|
+
set -a paths $arg
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
for p in $paths
|
|
23
|
+
if not contains -- $p $PATH
|
|
24
|
+
if $append
|
|
25
|
+
set -g --append PATH $p
|
|
26
|
+
else
|
|
27
|
+
set -g --prepend PATH $p
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Cache flatpak --installations (saves ~11ms per startup).
|
|
34
|
+
# The vendor /usr/share/fish/vendor_conf.d/flatpak.fish calls this on every
|
|
35
|
+
# shell start. We wrap it so only the first call after cache expiry is slow.
|
|
36
|
+
# Cache is refreshed by `dot prewarm` or manually:
|
|
37
|
+
# command flatpak --installations > ~/.cache/fish/flatpak-installations
|
|
38
|
+
if type -q flatpak
|
|
39
|
+
function flatpak --wraps flatpak
|
|
40
|
+
if test (count $argv) -eq 1; and test "$argv[1]" = --installations
|
|
41
|
+
set -l cache "$HOME/.cache/fish/flatpak-installations"
|
|
42
|
+
if test -f "$cache"
|
|
43
|
+
while read -l line
|
|
44
|
+
echo $line
|
|
45
|
+
end <"$cache"
|
|
46
|
+
return 0
|
|
47
|
+
end
|
|
48
|
+
mkdir -p "$HOME/.cache/fish"
|
|
49
|
+
command flatpak --installations 2>/dev/null | tee "$cache"
|
|
50
|
+
return 0
|
|
51
|
+
end
|
|
52
|
+
command flatpak $argv
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
status is-interactive; or return
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{{- $fishFuncsPattern := joinPath .chezmoi.sourceDir "dot_config/fish/functions/*.fish" -}}
|
|
2
|
+
{{- $fishFuncs := glob $fishFuncsPattern -}}
|
|
3
|
+
# Fish aliases — bridged from bash alias library (Generated by Chezmoi)
|
|
4
|
+
# Edit .chezmoitemplates/aliases/ source files, not this file.
|
|
5
|
+
#
|
|
6
|
+
# Data flow: .chezmoitemplates/aliases/ -> 90/91-ux-aliases*.sh -> bash bridge -> cache
|
|
7
|
+
|
|
8
|
+
if status is-interactive
|
|
9
|
+
set -l _cache_dir "$HOME/.cache/fish"
|
|
10
|
+
set -l _alias_cache "$_cache_dir/bash-aliases.fish"
|
|
11
|
+
set -l _src_eager "$HOME/.config/shell/90-ux-aliases.sh"
|
|
12
|
+
set -l _src_lazy "$HOME/.config/shell/91-ux-aliases-lazy.sh"
|
|
13
|
+
|
|
14
|
+
# Native fish functions that must not be overridden by bash aliases
|
|
15
|
+
set -l _skip{{ range $fishFuncs }} {{ trimSuffix ".fish" (base .) }}{{ end }}
|
|
16
|
+
|
|
17
|
+
# Rebuild cache when alias sources change or cache is missing
|
|
18
|
+
set -l _stale 0
|
|
19
|
+
if not test -f "$_alias_cache"
|
|
20
|
+
set _stale 1
|
|
21
|
+
else if test -f "$_src_eager"; and test "$_src_eager" -nt "$_alias_cache"
|
|
22
|
+
set _stale 1
|
|
23
|
+
else if test -f "$_src_lazy"; and test "$_src_lazy" -nt "$_alias_cache"
|
|
24
|
+
set _stale 1
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
if test "$_stale" = 1
|
|
28
|
+
mkdir -p "$_cache_dir"
|
|
29
|
+
# Source bash aliases, filter fish-incompatible syntax, write cache
|
|
30
|
+
env -i HOME="$HOME" PATH="$PATH" bash --norc --noprofile -c '
|
|
31
|
+
source "$HOME/.config/shell/90-ux-aliases.sh" 2>/dev/null
|
|
32
|
+
source "$HOME/.config/shell/91-ux-aliases-lazy.sh" 2>/dev/null
|
|
33
|
+
alias -p 2>/dev/null | while IFS= read -r line; do
|
|
34
|
+
name="${line#alias }"
|
|
35
|
+
name="${name#-- }"
|
|
36
|
+
name="${name%%=*}"
|
|
37
|
+
[[ "$name" =~ ^[a-zA-Z_][a-zA-Z0-9_.-]*$ ]] || continue
|
|
38
|
+
val="${line#*=}"
|
|
39
|
+
# Skip bash-specific syntax incompatible with fish
|
|
40
|
+
case "$val" in
|
|
41
|
+
*\$\{*) continue ;;
|
|
42
|
+
*"; then "*) continue ;;
|
|
43
|
+
*"[[ "*) continue ;;
|
|
44
|
+
*\`*) continue ;;
|
|
45
|
+
esac
|
|
46
|
+
printf "alias %s=%s\n" "$name" "$val"
|
|
47
|
+
done
|
|
48
|
+
' 2>/dev/null | while read -l _line
|
|
49
|
+
set -l _parts (string match -r '^alias ([^=]+)=' -- "$_line")
|
|
50
|
+
set -l _name
|
|
51
|
+
if set -q _parts[2]
|
|
52
|
+
set _name $_parts[2]
|
|
53
|
+
end
|
|
54
|
+
set -l _target (string replace -r '^alias [^=]+=["'\'']?([^ "'\'']+).*$' '$1' -- "$_line")
|
|
55
|
+
if set -q _name[1]; and not contains -- "$_name" $_skip
|
|
56
|
+
if string match -rq '^dot_[a-z0-9_]+$' -- "$_target"
|
|
57
|
+
continue
|
|
58
|
+
end
|
|
59
|
+
echo "$_line"
|
|
60
|
+
end
|
|
61
|
+
end >"$_alias_cache.tmp"
|
|
62
|
+
mv "$_alias_cache.tmp" "$_alias_cache"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Source cached aliases
|
|
66
|
+
if test -s "$_alias_cache"
|
|
67
|
+
source "$_alias_cache"
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Remove stale alias wrappers that reference bash-only helper functions.
|
|
71
|
+
if functions -q cat; and not functions -q dot_cat
|
|
72
|
+
set -l _cat_def (functions cat)
|
|
73
|
+
if string match -rq 'dot_cat \$argv' -- "$_cat_def"
|
|
74
|
+
functions -e cat
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }}) — Environment, PATH, and tool defaults
|
|
2
|
+
# Consolidated for startup performance (fewer conf.d files = less source overhead).
|
|
3
|
+
# Values baked at chezmoi apply time where possible — no subshells at startup.
|
|
4
|
+
|
|
5
|
+
# ── PATH Construction ────────────────────────────────────────────
|
|
6
|
+
# Uses direct set -p (builtin) instead of fish_add_path for speed.
|
|
7
|
+
# Lowest priority first, highest last (each set -p pushes to front).
|
|
8
|
+
set -gx PIPX_HOME (set -q XDG_DATA_HOME; and echo "$XDG_DATA_HOME"; or echo "$HOME/.local/share")/pipx
|
|
9
|
+
set -gx PIPX_BIN_DIR (set -q XDG_BIN_HOME; and echo "$XDG_BIN_HOME"; or echo "$HOME/.local/bin")
|
|
10
|
+
set -gx BUN_INSTALL "$HOME/.bun"
|
|
11
|
+
|
|
12
|
+
for p in \
|
|
13
|
+
/usr/sbin /sbin /usr/bin /bin \
|
|
14
|
+
/opt/homebrew/sbin /opt/homebrew/bin \
|
|
15
|
+
/opt/homebrew/opt/ruby/bin \
|
|
16
|
+
"$HOME/.gem/ruby/bin" \
|
|
17
|
+
"$PIPX_BIN_DIR" \
|
|
18
|
+
"$HOME/.cargo/bin" \
|
|
19
|
+
"$HOME/go/bin" \
|
|
20
|
+
"$BUN_INSTALL/bin" \
|
|
21
|
+
"$HOME/.node_modules/bin" \
|
|
22
|
+
"$HOME/.luarocks/bin" \
|
|
23
|
+
{{- if eq .chezmoi.os "darwin" }}
|
|
24
|
+
/Library/Apple/usr/bin \
|
|
25
|
+
{{- end }}
|
|
26
|
+
"$HOME/.local/bin" \
|
|
27
|
+
"$HOME/.local/share/mise/shims" \
|
|
28
|
+
"$HOME/bin"
|
|
29
|
+
contains -- "$p" $PATH; or set -p PATH "$p"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# ── Build artifacts → /tmp (cleared on reboot) ─────────────────
|
|
33
|
+
mkdir -p /tmp/builds
|
|
34
|
+
|
|
35
|
+
# ── Direnv ──────────────────────────────────────────────────────
|
|
36
|
+
set -gx DIRENV_LOG_FORMAT ""
|
|
37
|
+
|
|
38
|
+
# ── Environment Variables ────────────────────────────────────────
|
|
39
|
+
status is-interactive; or return
|
|
40
|
+
|
|
41
|
+
set -gx HOSTNAME '{{ output "hostname" | trim }}'
|
|
42
|
+
|
|
43
|
+
# ── FZF Defaults ─────────────────────────────────────────────────
|
|
44
|
+
if test -f "$HOME/.config/shell/40-fzf-defaults.sh"
|
|
45
|
+
set -gx FZF_DEFAULT_COMMAND 'fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'
|
|
46
|
+
set -gx FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
|
|
47
|
+
set -gx FZF_DEFAULT_OPTS "--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --multi --layout=reverse --border --height=40% --preview-window='right:60%:wrap' --preview 'if [ -d {} ]; then eza --tree --level 2 --icons {} | head -200; else bat --style=numbers --color=always --line-range :500 {} 2>/dev/null; or cat {} | head -500; end'"
|
|
48
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{{- $root := . -}}
|
|
2
|
+
{{- $groupsPath := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions/groups.json" -}}
|
|
3
|
+
{{- $groups := (fromJson (include $groupsPath)) -}}
|
|
4
|
+
{{- $fishFuncsPattern := joinPath $root.chezmoi.sourceDir "dot_config/fish/functions/*.fish" -}}
|
|
5
|
+
{{- $fishFuncs := glob $fishFuncsPattern -}}
|
|
6
|
+
# Fish function wrappers (Generated by Chezmoi)
|
|
7
|
+
# Delegates to bash function library in ~/.config/shell/50-logic-functions.sh
|
|
8
|
+
# Edit .chezmoitemplates/functions/ source files, not this file.
|
|
9
|
+
|
|
10
|
+
if status is-interactive
|
|
11
|
+
{{- range $group, $files := $groups }}
|
|
12
|
+
{{- range $files }}
|
|
13
|
+
{{- $func := trimSuffix ".sh" (base .) }}
|
|
14
|
+
{{- $nativePath := joinPath $root.chezmoi.sourceDir (printf "dot_config/fish/functions/%s.fish" $func) }}
|
|
15
|
+
{{- if not (has $nativePath $fishFuncs) }}
|
|
16
|
+
function {{ $func }} --description 'Dotfiles: {{ $func }}'
|
|
17
|
+
bash -c 'source "$HOME/.config/shell/50-logic-functions.sh" 2>/dev/null; {{ $func }} "$@"' -- $argv
|
|
18
|
+
end
|
|
19
|
+
{{- end }}
|
|
20
|
+
{{- end }}
|
|
21
|
+
{{- end }}
|
|
22
|
+
end
|