@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
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
--
|
|
1
|
+
-- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
-- @module nvim.plugins.dap
|
|
3
|
+
-- Debug Adapter Protocol (DAP) Configuration.
|
|
4
|
+
-- Provides in-editor debugging with nvim-dap and a VS Code-like UI via dap-ui.
|
|
5
|
+
-- js-debug-adapter handles Node/Chrome/Edge; the dev server port defaults to
|
|
6
|
+
-- 3000 but can be overridden via DAP_DEV_SERVER_PORT.
|
|
2
7
|
|
|
3
8
|
-- Layout constants
|
|
4
9
|
local SIDEBAR_WIDTH = 40
|
|
5
10
|
local BOTTOM_PANEL_HEIGHT = 10
|
|
6
11
|
local QUARTER_SIZE = 0.25
|
|
7
12
|
local HALF_SIZE = 0.5
|
|
8
|
-
local DEFAULT_DEV_SERVER_PORT = 3000
|
|
13
|
+
local DEFAULT_DEV_SERVER_PORT = tonumber(vim.env.DAP_DEV_SERVER_PORT) or 3000
|
|
9
14
|
|
|
10
15
|
return {
|
|
11
16
|
-- DAP Core
|
|
@@ -101,7 +106,7 @@ return {
|
|
|
101
106
|
}
|
|
102
107
|
end
|
|
103
108
|
|
|
104
|
-
-- JavaScript configurations
|
|
109
|
+
-- JavaScript/TypeScript configurations
|
|
105
110
|
for _, lang in ipairs({ "javascript", "typescript", "javascriptreact", "typescriptreact" }) do
|
|
106
111
|
dap.configurations[lang] = {
|
|
107
112
|
{
|
|
@@ -127,6 +132,212 @@ return {
|
|
|
127
132
|
},
|
|
128
133
|
}
|
|
129
134
|
end
|
|
135
|
+
|
|
136
|
+
-- Python debugging with debugpy
|
|
137
|
+
-- Requires: MasonInstall debugpy
|
|
138
|
+
dap.adapters.python = function(cb, config)
|
|
139
|
+
if config.request == "attach" then
|
|
140
|
+
local port = (config.connect or config).port
|
|
141
|
+
local host = (config.connect or config).host or "127.0.0.1"
|
|
142
|
+
cb({ type = "server", port = assert(port, "port required for attach"), host = host })
|
|
143
|
+
else
|
|
144
|
+
cb({
|
|
145
|
+
type = "executable",
|
|
146
|
+
command = vim.fn.exepath("python3"),
|
|
147
|
+
args = { "-m", "debugpy.adapter" },
|
|
148
|
+
})
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
dap.configurations.python = {
|
|
153
|
+
{
|
|
154
|
+
type = "python",
|
|
155
|
+
request = "launch",
|
|
156
|
+
name = "Launch file",
|
|
157
|
+
program = "${file}",
|
|
158
|
+
cwd = "${workspaceFolder}",
|
|
159
|
+
pythonPath = function()
|
|
160
|
+
-- Use venv if available, else system python
|
|
161
|
+
local venv = os.getenv("VIRTUAL_ENV")
|
|
162
|
+
if venv then
|
|
163
|
+
return venv .. "/bin/python"
|
|
164
|
+
end
|
|
165
|
+
return vim.fn.exepath("python3") or "python3"
|
|
166
|
+
end,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type = "python",
|
|
170
|
+
request = "launch",
|
|
171
|
+
name = "Launch with arguments",
|
|
172
|
+
program = "${file}",
|
|
173
|
+
args = function()
|
|
174
|
+
local args_str = vim.fn.input("Arguments: ")
|
|
175
|
+
return vim.split(args_str, " +")
|
|
176
|
+
end,
|
|
177
|
+
cwd = "${workspaceFolder}",
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type = "python",
|
|
181
|
+
request = "launch",
|
|
182
|
+
name = "Launch module",
|
|
183
|
+
module = function()
|
|
184
|
+
return vim.fn.input("Module: ")
|
|
185
|
+
end,
|
|
186
|
+
cwd = "${workspaceFolder}",
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
type = "python",
|
|
190
|
+
request = "launch",
|
|
191
|
+
name = "Django",
|
|
192
|
+
program = "${workspaceFolder}/manage.py",
|
|
193
|
+
args = { "runserver", "--noreload" },
|
|
194
|
+
django = true,
|
|
195
|
+
cwd = "${workspaceFolder}",
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
type = "python",
|
|
199
|
+
request = "launch",
|
|
200
|
+
name = "FastAPI (uvicorn)",
|
|
201
|
+
module = "uvicorn",
|
|
202
|
+
args = function()
|
|
203
|
+
local app = vim.fn.input("App module (e.g. main:app): ", "main:app")
|
|
204
|
+
return { app, "--reload" }
|
|
205
|
+
end,
|
|
206
|
+
cwd = "${workspaceFolder}",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type = "python",
|
|
210
|
+
request = "launch",
|
|
211
|
+
name = "pytest",
|
|
212
|
+
module = "pytest",
|
|
213
|
+
args = { "${file}", "-v", "--tb=short" },
|
|
214
|
+
cwd = "${workspaceFolder}",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
type = "python",
|
|
218
|
+
request = "attach",
|
|
219
|
+
name = "Attach to remote",
|
|
220
|
+
connect = function()
|
|
221
|
+
local host = vim.fn.input("Host (127.0.0.1): ", "127.0.0.1")
|
|
222
|
+
local port = tonumber(vim.fn.input("Port (5678): ", "5678"))
|
|
223
|
+
return { host = host, port = port }
|
|
224
|
+
end,
|
|
225
|
+
},
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
-- Go debugging with delve
|
|
229
|
+
-- Requires: MasonInstall delve
|
|
230
|
+
dap.adapters.delve = {
|
|
231
|
+
type = "server",
|
|
232
|
+
port = "${port}",
|
|
233
|
+
executable = {
|
|
234
|
+
command = "dlv",
|
|
235
|
+
args = { "dap", "-l", "127.0.0.1:${port}" },
|
|
236
|
+
},
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
dap.configurations.go = {
|
|
240
|
+
{
|
|
241
|
+
type = "delve",
|
|
242
|
+
name = "Launch file",
|
|
243
|
+
request = "launch",
|
|
244
|
+
program = "${file}",
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
type = "delve",
|
|
248
|
+
name = "Launch package",
|
|
249
|
+
request = "launch",
|
|
250
|
+
program = "${workspaceFolder}",
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
type = "delve",
|
|
254
|
+
name = "Launch test",
|
|
255
|
+
request = "launch",
|
|
256
|
+
mode = "test",
|
|
257
|
+
program = "${file}",
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
type = "delve",
|
|
261
|
+
name = "Launch test (package)",
|
|
262
|
+
request = "launch",
|
|
263
|
+
mode = "test",
|
|
264
|
+
program = "${workspaceFolder}",
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
type = "delve",
|
|
268
|
+
name = "Attach to process",
|
|
269
|
+
request = "attach",
|
|
270
|
+
mode = "local",
|
|
271
|
+
processId = require("dap.utils").pick_process,
|
|
272
|
+
},
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
-- Rust/C/C++ debugging with codelldb
|
|
276
|
+
-- Requires: MasonInstall codelldb
|
|
277
|
+
dap.adapters.codelldb = {
|
|
278
|
+
type = "server",
|
|
279
|
+
port = "${port}",
|
|
280
|
+
executable = {
|
|
281
|
+
command = vim.fn.stdpath("data") .. "/mason/bin/codelldb",
|
|
282
|
+
args = { "--port", "${port}" },
|
|
283
|
+
},
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
for _, lang in ipairs({ "rust", "c", "cpp" }) do
|
|
287
|
+
dap.configurations[lang] = {
|
|
288
|
+
{
|
|
289
|
+
type = "codelldb",
|
|
290
|
+
request = "launch",
|
|
291
|
+
name = "Launch executable",
|
|
292
|
+
program = function()
|
|
293
|
+
return vim.fn.input("Executable: ", vim.fn.getcwd() .. "/target/debug/", "file")
|
|
294
|
+
end,
|
|
295
|
+
cwd = "${workspaceFolder}",
|
|
296
|
+
stopOnEntry = false,
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
type = "codelldb",
|
|
300
|
+
request = "launch",
|
|
301
|
+
name = "Launch with arguments",
|
|
302
|
+
program = function()
|
|
303
|
+
return vim.fn.input("Executable: ", vim.fn.getcwd() .. "/target/debug/", "file")
|
|
304
|
+
end,
|
|
305
|
+
args = function()
|
|
306
|
+
return vim.split(vim.fn.input("Arguments: "), " +")
|
|
307
|
+
end,
|
|
308
|
+
cwd = "${workspaceFolder}",
|
|
309
|
+
},
|
|
310
|
+
}
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
-- Bash debugging with bash-debug-adapter
|
|
314
|
+
-- Requires: MasonInstall bash-debug-adapter
|
|
315
|
+
dap.adapters.bashdb = {
|
|
316
|
+
type = "executable",
|
|
317
|
+
command = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/bash-debug-adapter",
|
|
318
|
+
name = "bashdb",
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
dap.configurations.sh = {
|
|
322
|
+
{
|
|
323
|
+
type = "bashdb",
|
|
324
|
+
request = "launch",
|
|
325
|
+
name = "Launch script",
|
|
326
|
+
showDebugOutput = true,
|
|
327
|
+
pathBashdb = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb",
|
|
328
|
+
pathBashdbLib = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir",
|
|
329
|
+
trace = true,
|
|
330
|
+
file = "${file}",
|
|
331
|
+
program = "${file}",
|
|
332
|
+
cwd = "${workspaceFolder}",
|
|
333
|
+
pathCat = "cat",
|
|
334
|
+
pathBash = "/bin/bash",
|
|
335
|
+
pathMkfifo = "mkfifo",
|
|
336
|
+
pathPkill = "pkill",
|
|
337
|
+
env = {},
|
|
338
|
+
args = {},
|
|
339
|
+
},
|
|
340
|
+
}
|
|
130
341
|
end,
|
|
131
342
|
},
|
|
132
343
|
|
|
@@ -135,7 +346,7 @@ return {
|
|
|
135
346
|
"jay-babu/mason-nvim-dap.nvim",
|
|
136
347
|
dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
|
|
137
348
|
opts = {
|
|
138
|
-
ensure_installed = { "js-debug-adapter" },
|
|
349
|
+
ensure_installed = { "js-debug-adapter", "debugpy", "delve", "codelldb", "bash-debug-adapter" },
|
|
139
350
|
automatic_installation = true,
|
|
140
351
|
handlers = {},
|
|
141
352
|
},
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
-- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
-- @module nvim.plugins.editor
|
|
3
|
+
-- Editor enhancement plugins.
|
|
4
|
+
-- toggleterm.nvim provides a floating terminal toggled with a single keymap,
|
|
5
|
+
-- pinned to ^2 for API stability.
|
|
1
6
|
return {
|
|
2
7
|
"akinsho/toggleterm.nvim",
|
|
3
|
-
version = "
|
|
8
|
+
version = "^2",
|
|
4
9
|
config = function()
|
|
5
10
|
require("toggleterm").setup({
|
|
6
11
|
-- Automatically close the terminal when the process exits.
|
|
@@ -46,14 +51,5 @@ return {
|
|
|
46
51
|
-- Set the terminal size (this can also be a function returning a size).
|
|
47
52
|
size = 20,
|
|
48
53
|
})
|
|
49
|
-
|
|
50
|
-
-- Custom keybindings for toggling a floating terminal:
|
|
51
|
-
-- <leader>ft toggles the floating terminal.
|
|
52
|
-
vim.api.nvim_set_keymap(
|
|
53
|
-
"n", -- Mode: normal
|
|
54
|
-
"<leader>ft", -- Key combination
|
|
55
|
-
"<Cmd>ToggleTerm direction=float<CR>", -- Command to execute
|
|
56
|
-
{ noremap = true, silent = true } -- Options: no recursive mapping, silent execution
|
|
57
|
-
)
|
|
58
54
|
end,
|
|
59
55
|
}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
-- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
-- @module nvim.plugins.lsp
|
|
3
|
+
-- Language Server Protocol configuration.
|
|
4
|
+
-- Mason manages external tool installation (LSP servers, formatters, linters).
|
|
5
|
+
-- mason-lspconfig bridges Mason with nvim-lspconfig for automatic server setup.
|
|
6
|
+
-- Servers: bashls, lua_ls, basedpyright, ruff, ts_ls — matching the project's
|
|
7
|
+
-- primary languages (shell, Lua, Python, TypeScript).
|
|
1
8
|
return {
|
|
2
9
|
-- Mason (Manage External Tools)
|
|
3
10
|
{
|
|
@@ -15,17 +22,16 @@ return {
|
|
|
15
22
|
dependencies = {
|
|
16
23
|
"williamboman/mason.nvim",
|
|
17
24
|
"williamboman/mason-lspconfig.nvim",
|
|
18
|
-
"
|
|
25
|
+
"saghen/blink.cmp",
|
|
19
26
|
},
|
|
20
27
|
config = function()
|
|
21
|
-
-- 1. Setup capabilities for LSP
|
|
22
|
-
local capabilities = require("
|
|
28
|
+
-- 1. Setup capabilities for LSP (blink.cmp provides these)
|
|
29
|
+
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
|
23
30
|
|
|
24
|
-
-- 2. Setup mason-lspconfig with handlers
|
|
31
|
+
-- 2. Setup mason-lspconfig with custom handlers per server
|
|
25
32
|
require("mason-lspconfig").setup({
|
|
26
33
|
ensure_installed = { "bashls", "lua_ls", "basedpyright", "ruff", "ts_ls" },
|
|
27
34
|
automatic_installation = true,
|
|
28
|
-
automatic_setup = false, -- Disable automatic_enable feature that causes errors
|
|
29
35
|
handlers = {
|
|
30
36
|
-- Default handler for all servers
|
|
31
37
|
function(server_name)
|
|
@@ -137,85 +143,14 @@ return {
|
|
|
137
143
|
lua = { "stylua" },
|
|
138
144
|
python = { "ruff_format" },
|
|
139
145
|
rust = { "rustfmt" },
|
|
140
|
-
javascript = {
|
|
146
|
+
javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
147
|
+
typescript = { "prettierd", "prettier", stop_after_first = true },
|
|
148
|
+
json = { "prettierd", "prettier", stop_after_first = true },
|
|
149
|
+
yaml = { "prettierd", "prettier", stop_after_first = true },
|
|
141
150
|
bash = { "shfmt" },
|
|
151
|
+
sh = { "shfmt" },
|
|
142
152
|
},
|
|
143
153
|
format_on_save = { timeout_ms = 500, lsp_fallback = true },
|
|
144
154
|
},
|
|
145
155
|
},
|
|
146
|
-
|
|
147
|
-
-- Autocompletion: CMP (Optimized)
|
|
148
|
-
{
|
|
149
|
-
"hrsh7th/nvim-cmp",
|
|
150
|
-
event = "InsertEnter",
|
|
151
|
-
dependencies = {
|
|
152
|
-
"hrsh7th/cmp-nvim-lsp",
|
|
153
|
-
"hrsh7th/cmp-buffer",
|
|
154
|
-
"hrsh7th/cmp-path",
|
|
155
|
-
"L3MON4D3/LuaSnip",
|
|
156
|
-
"saadparwaiz1/cmp_luasnip",
|
|
157
|
-
"onsails/lspkind.nvim",
|
|
158
|
-
},
|
|
159
|
-
config = function()
|
|
160
|
-
local cmp = require("cmp")
|
|
161
|
-
local luasnip = require("luasnip")
|
|
162
|
-
local lspkind = require("lspkind")
|
|
163
|
-
|
|
164
|
-
require("luasnip.loaders.from_lua").lazy_load({
|
|
165
|
-
paths = { vim.fn.stdpath("config") .. "/snippets" },
|
|
166
|
-
})
|
|
167
|
-
|
|
168
|
-
cmp.setup({
|
|
169
|
-
snippet = {
|
|
170
|
-
expand = function(args)
|
|
171
|
-
luasnip.lsp_expand(args.body)
|
|
172
|
-
end,
|
|
173
|
-
},
|
|
174
|
-
window = {
|
|
175
|
-
completion = cmp.config.window.bordered(),
|
|
176
|
-
documentation = cmp.config.window.bordered(),
|
|
177
|
-
},
|
|
178
|
-
formatting = {
|
|
179
|
-
format = lspkind.cmp_format({
|
|
180
|
-
mode = "symbol_text",
|
|
181
|
-
maxwidth = 50,
|
|
182
|
-
ellipsis_char = "...",
|
|
183
|
-
}),
|
|
184
|
-
},
|
|
185
|
-
mapping = cmp.mapping.preset.insert({
|
|
186
|
-
["<C-n>"] = cmp.mapping.select_next_item(),
|
|
187
|
-
["<C-p>"] = cmp.mapping.select_prev_item(),
|
|
188
|
-
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
|
189
|
-
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
|
190
|
-
["<C-Space>"] = cmp.mapping.complete(),
|
|
191
|
-
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
|
192
|
-
["<Tab>"] = cmp.mapping(function(fallback)
|
|
193
|
-
if cmp.visible() then
|
|
194
|
-
cmp.select_next_item()
|
|
195
|
-
elseif luasnip.expand_or_jumpable() then
|
|
196
|
-
luasnip.expand_or_jump()
|
|
197
|
-
else
|
|
198
|
-
fallback()
|
|
199
|
-
end
|
|
200
|
-
end, { "i", "s" }),
|
|
201
|
-
["<S-Tab>"] = cmp.mapping(function(fallback)
|
|
202
|
-
if cmp.visible() then
|
|
203
|
-
cmp.select_prev_item()
|
|
204
|
-
elseif luasnip.jumpable(-1) then
|
|
205
|
-
luasnip.jump(-1)
|
|
206
|
-
else
|
|
207
|
-
fallback()
|
|
208
|
-
end
|
|
209
|
-
end, { "i", "s" }),
|
|
210
|
-
}),
|
|
211
|
-
sources = cmp.config.sources({
|
|
212
|
-
{ name = "nvim_lsp" },
|
|
213
|
-
{ name = "luasnip" },
|
|
214
|
-
{ name = "path" },
|
|
215
|
-
}, {
|
|
216
|
-
{ name = "buffer" },
|
|
217
|
-
}),
|
|
218
|
-
})
|
|
219
|
-
end,
|
|
220
|
-
},
|
|
221
156
|
}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
-- Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
+
-- @module nvim.plugins.ui
|
|
3
|
+
-- UI component plugins for a modern IDE experience.
|
|
4
|
+
-- Snacks.nvim provides the dashboard and notification system.
|
|
5
|
+
-- Noice.nvim replaces the default command line with a floating palette.
|
|
6
|
+
-- These choices prioritise startup speed (lazy-loaded) and visual consistency
|
|
7
|
+
-- with the Catppuccin / TokyoNight theme families.
|
|
1
8
|
return {
|
|
2
9
|
-----------------------------------------------------------------------------
|
|
3
10
|
-- 1. Dashboard (Snacks.nvim)
|
|
@@ -7,6 +14,11 @@ return {
|
|
|
7
14
|
priority = 1000,
|
|
8
15
|
lazy = false,
|
|
9
16
|
opts = {
|
|
17
|
+
notifier = {
|
|
18
|
+
enabled = true,
|
|
19
|
+
timeout = 3000,
|
|
20
|
+
style = "compact",
|
|
21
|
+
},
|
|
10
22
|
dashboard = {
|
|
11
23
|
preset = {
|
|
12
24
|
header = [[
|
|
@@ -60,13 +72,12 @@ Simply design to fit your shell life
|
|
|
60
72
|
{
|
|
61
73
|
"folke/noice.nvim",
|
|
62
74
|
event = "VeryLazy",
|
|
63
|
-
dependencies = { "MunifTanjim/nui.nvim"
|
|
75
|
+
dependencies = { "MunifTanjim/nui.nvim" },
|
|
64
76
|
opts = {
|
|
65
77
|
lsp = {
|
|
66
78
|
override = {
|
|
67
79
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
|
68
80
|
["vim.lsp.util.stylize_markdown"] = true,
|
|
69
|
-
["cmp.entry.get_documentation"] = true,
|
|
70
81
|
},
|
|
71
82
|
hover = { enabled = true },
|
|
72
83
|
signature = { enabled = true },
|
|
@@ -78,16 +89,6 @@ Simply design to fit your shell life
|
|
|
78
89
|
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
|
79
90
|
lsp_doc_border = true, -- add a border to hover docs and signature help
|
|
80
91
|
},
|
|
81
|
-
notify = { enabled = false }, -- Fix: Allow nvim-notify to handle notifications directly
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
|
|
85
|
-
{
|
|
86
|
-
"rcarriga/nvim-notify",
|
|
87
|
-
opts = {
|
|
88
|
-
timeout = 3000,
|
|
89
|
-
render = "wrapped-compact",
|
|
90
|
-
background_colour = "#000000",
|
|
91
92
|
},
|
|
92
93
|
},
|
|
93
94
|
|
|
@@ -128,7 +129,7 @@ Simply design to fit your shell life
|
|
|
128
129
|
opts = {
|
|
129
130
|
options = {
|
|
130
131
|
theme = (function()
|
|
131
|
-
local theme = vim.env.DOTFILES_THEME or "
|
|
132
|
+
local theme = vim.env.DOTFILES_THEME or "macos-monterey-dark"
|
|
132
133
|
if theme:match("^tokyonight") then
|
|
133
134
|
return "tokyonight"
|
|
134
135
|
elseif theme:match("^catppuccin") then
|
|
@@ -231,9 +232,6 @@ Simply design to fit your shell life
|
|
|
231
232
|
require("scrollbar").setup({
|
|
232
233
|
handle = { color = "#504945" },
|
|
233
234
|
excluded_filetypes = {
|
|
234
|
-
"cmp_menu",
|
|
235
|
-
"cmp_docs",
|
|
236
|
-
"notify",
|
|
237
235
|
"noice",
|
|
238
236
|
"prompt",
|
|
239
237
|
"TelescopePrompt",
|
|
@@ -254,6 +252,7 @@ Simply design to fit your shell life
|
|
|
254
252
|
end,
|
|
255
253
|
opts = {
|
|
256
254
|
spec = {
|
|
255
|
+
{ "<leader>a", group = "AI" },
|
|
257
256
|
{ "<leader>c", group = "Code" },
|
|
258
257
|
{ "<leader>f", group = "Find/File" },
|
|
259
258
|
{ "<leader>p", group = "Python/Project" },
|
|
@@ -281,17 +280,14 @@ Simply design to fit your shell life
|
|
|
281
280
|
end,
|
|
282
281
|
},
|
|
283
282
|
|
|
284
|
-
-- Symbols Outline
|
|
283
|
+
-- Symbols Outline (hedyhli/outline.nvim replaces archived simrat39/symbols-outline.nvim)
|
|
285
284
|
{
|
|
286
|
-
"
|
|
287
|
-
cmd = "
|
|
288
|
-
keys = { { "<leader>cs", "<cmd>
|
|
285
|
+
"hedyhli/outline.nvim",
|
|
286
|
+
cmd = "Outline",
|
|
287
|
+
keys = { { "<leader>cs", "<cmd>Outline<cr>", desc = "Symbols Outline" } },
|
|
289
288
|
config = true,
|
|
290
289
|
},
|
|
291
290
|
|
|
292
|
-
-- LSP Kind icons
|
|
293
|
-
{ "onsails/lspkind.nvim", event = "VeryLazy" },
|
|
294
|
-
|
|
295
291
|
-- Theme Plugins (Loaded on demand)
|
|
296
292
|
{ "folke/tokyonight.nvim", name = "tokyonight", lazy = true, priority = 1000 },
|
|
297
293
|
{ "Mofiqul/dracula.nvim", name = "dracula", lazy = true, priority = 1000 },
|
|
@@ -303,19 +299,6 @@ Simply design to fit your shell life
|
|
|
303
299
|
{ "sainnhe/everforest", name = "everforest", lazy = true, priority = 1000 },
|
|
304
300
|
{ "rebelot/kanagawa.nvim", name = "kanagawa", lazy = true, priority = 1000 },
|
|
305
301
|
|
|
306
|
-
-----------------------------------------------------------------------------
|
|
307
|
-
-- Lazy Profiling
|
|
308
|
-
-----------------------------------------------------------------------------
|
|
309
|
-
{
|
|
310
|
-
"folke/lazy.nvim",
|
|
311
|
-
opts = {
|
|
312
|
-
profiling = {
|
|
313
|
-
loader = true,
|
|
314
|
-
require = true,
|
|
315
|
-
},
|
|
316
|
-
},
|
|
317
|
-
},
|
|
318
|
-
|
|
319
302
|
-----------------------------------------------------------------------------
|
|
320
303
|
-- Icon Sets
|
|
321
304
|
-----------------------------------------------------------------------------
|
|
@@ -328,7 +311,7 @@ Simply design to fit your shell life
|
|
|
328
311
|
lazy = false,
|
|
329
312
|
priority = 1001,
|
|
330
313
|
config = function()
|
|
331
|
-
local theme = vim.env.DOTFILES_THEME or "
|
|
314
|
+
local theme = vim.env.DOTFILES_THEME or "macos-monterey-dark"
|
|
332
315
|
local function load_theme(name)
|
|
333
316
|
local ok, lazy = pcall(require, "lazy")
|
|
334
317
|
if ok then
|
|
@@ -380,11 +363,11 @@ Simply design to fit your shell life
|
|
|
380
363
|
color_overrides = {},
|
|
381
364
|
custom_highlights = {},
|
|
382
365
|
integrations = {
|
|
383
|
-
|
|
366
|
+
blink_cmp = true,
|
|
384
367
|
gitsigns = true,
|
|
385
368
|
nvimtree = true,
|
|
386
369
|
treesitter = true,
|
|
387
|
-
|
|
370
|
+
snacks = true,
|
|
388
371
|
mini = {
|
|
389
372
|
enabled = true,
|
|
390
373
|
indentscope_color = "",
|
|
@@ -413,20 +396,10 @@ Simply design to fit your shell life
|
|
|
413
396
|
inlay_hints = { background = true },
|
|
414
397
|
},
|
|
415
398
|
telescope = { enabled = true },
|
|
416
|
-
lsp_trouble = true,
|
|
417
|
-
fidget = true,
|
|
418
|
-
barbecue = { dim_dirname = true, bold_basename = true, dim_context = false, alt_background = false },
|
|
419
|
-
navic = { enabled = true, custom_bg = "NONE" },
|
|
420
|
-
dropbar = { enabled = true, color_mode = false },
|
|
421
399
|
bufferline = true,
|
|
422
400
|
dashboard = true,
|
|
423
|
-
flash = true,
|
|
424
|
-
harpoon = true,
|
|
425
|
-
leap = true,
|
|
426
401
|
markdown = true,
|
|
427
402
|
semantic_tokens = true,
|
|
428
|
-
treesitter_context = true,
|
|
429
|
-
ufo = true,
|
|
430
403
|
},
|
|
431
404
|
})
|
|
432
405
|
|
|
@@ -520,8 +493,7 @@ Simply design to fit your shell life
|
|
|
520
493
|
flavour = "mocha",
|
|
521
494
|
integrations = {
|
|
522
495
|
nvimtree = true,
|
|
523
|
-
|
|
524
|
-
symbols_outline = true,
|
|
496
|
+
snacks = true,
|
|
525
497
|
mason = true,
|
|
526
498
|
neotest = true,
|
|
527
499
|
noice = true,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Paru configuration (managed by chezmoi)
|
|
2
|
+
#
|
|
3
|
+
# Include the system defaults, then apply user-specific overrides.
|
|
4
|
+
Include = /etc/paru.conf
|
|
5
|
+
|
|
6
|
+
[bin]
|
|
7
|
+
# AUR histories commonly contain unsigned commits. Keep strict Git signature
|
|
8
|
+
# verification for normal repositories, but disable it for paru's internal
|
|
9
|
+
# clone/update merges so AUR upgrades can proceed.
|
|
10
|
+
GitFlags = -c merge.verifySignatures=false
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Dotfiles PowerShell profile (v{{ .dotfiles_version }})
|
|
2
|
+
|
|
3
|
+
$env:DOTFILES_VERSION = "{{ .dotfiles_version }}"
|
|
4
|
+
$env:XDG_CONFIG_HOME = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { Join-Path $HOME ".config" }
|
|
5
|
+
$env:XDG_CACHE_HOME = if ($env:XDG_CACHE_HOME) { $env:XDG_CACHE_HOME } else { Join-Path $HOME ".cache" }
|
|
6
|
+
$env:XDG_DATA_HOME = if ($env:XDG_DATA_HOME) { $env:XDG_DATA_HOME } else { Join-Path $HOME ".local/share" }
|
|
7
|
+
|
|
8
|
+
$DotfilesRoot = if (Test-Path (Join-Path $HOME ".dotfiles")) {
|
|
9
|
+
Join-Path $HOME ".dotfiles"
|
|
10
|
+
} elseif (Test-Path (Join-Path $HOME ".local/share/chezmoi")) {
|
|
11
|
+
Join-Path $HOME ".local/share/chezmoi"
|
|
12
|
+
} else {
|
|
13
|
+
$null
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function Invoke-DotfilesCli {
|
|
17
|
+
$dotPath = Join-Path $HOME ".local/bin/dot"
|
|
18
|
+
if (-not (Test-Path $dotPath)) {
|
|
19
|
+
throw "dot command not found at $dotPath"
|
|
20
|
+
}
|
|
21
|
+
& $dotPath @args
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function dot { Invoke-DotfilesCli @args }
|
|
25
|
+
function d { Invoke-DotfilesCli @args }
|
|
26
|
+
function dm { Invoke-DotfilesCli mode list }
|
|
27
|
+
function da { Invoke-DotfilesCli agent list }
|
|
28
|
+
function dmc { Invoke-DotfilesCli mcp registry }
|
|
29
|
+
function datt { Invoke-DotfilesCli attest --json }
|
|
30
|
+
|
|
31
|
+
function ll {
|
|
32
|
+
if (Get-Command eza -ErrorAction SilentlyContinue) {
|
|
33
|
+
eza -alF --sort Name --icons --group-directories-first @args
|
|
34
|
+
} else {
|
|
35
|
+
Get-ChildItem -Force @args
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function la {
|
|
40
|
+
if (Get-Command eza -ErrorAction SilentlyContinue) {
|
|
41
|
+
eza -a --sort Name --icons --group-directories-first @args
|
|
42
|
+
} else {
|
|
43
|
+
Get-ChildItem -Force -Hidden @args
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function cat {
|
|
48
|
+
if (Get-Command bat -ErrorAction SilentlyContinue) {
|
|
49
|
+
bat @args
|
|
50
|
+
} elseif (Get-Command batcat -ErrorAction SilentlyContinue) {
|
|
51
|
+
batcat @args
|
|
52
|
+
} else {
|
|
53
|
+
Microsoft.PowerShell.Management\Get-Content @args
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
Set-Alias -Name open -Value Invoke-Item -Option AllScope
|
|
58
|
+
|
|
59
|
+
if (Get-Command mise -ErrorAction SilentlyContinue) {
|
|
60
|
+
function ms { & mise @args }
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (Get-Command nix -ErrorAction SilentlyContinue) {
|
|
64
|
+
function nx { & nix @args }
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (Get-Command just -ErrorAction SilentlyContinue) {
|
|
68
|
+
function j { & just @args }
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (Get-Command gh -ErrorAction SilentlyContinue) {
|
|
72
|
+
function ghpr { gh pr view --web @args }
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (Get-Command podman -ErrorAction SilentlyContinue) {
|
|
76
|
+
function p { & podman @args }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (Get-Command zoxide -ErrorAction SilentlyContinue) {
|
|
80
|
+
Invoke-Expression (& { (zoxide init powershell | Out-String) })
|
|
81
|
+
}
|