@sebastienrousseau/dotfiles 0.2.481 → 0.2.500
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -32
- package/LICENSE +1 -1
- package/README.md +211 -242
- package/docs/.vitepress/reports/localization-readability-audit.md +69 -0
- package/docs/AI.md +102 -0
- package/docs/COPYRIGHT +2 -2
- package/docs/NAMING_CONVENTIONS.md +95 -0
- package/docs/README.md +58 -249
- package/docs/adr/ADR-004-cli-architecture.md +2 -2
- package/docs/adr/ADR-006-shell-selection.md +2 -2
- package/docs/adr/ADR-007-multi-shell-parity.md +53 -0
- package/docs/adr/ADR-008-alias-system-architecture.md +85 -0
- package/docs/adr/README.md +2 -3
- package/docs/architecture/ARCHITECTURE.md +113 -0
- package/docs/architecture/INTEROP.md +36 -0
- package/docs/architecture/REPO_LAYOUT.md +237 -0
- package/docs/architecture/WALKTHROUGH.md +82 -0
- package/docs/architecture/fleet-deployment.md +73 -0
- package/docs/archive/EUXIS_2026_REVIEW.md +119 -0
- package/docs/archive/MILESTONE_v0.2.493.md +43 -0
- package/docs/{PLAN.md → archive/PLAN.md} +1 -1
- package/docs/guides/INSTALL.md +140 -0
- package/docs/{NEOVIM_IDE_GUIDE.md → guides/NEOVIM_IDE_GUIDE.md} +12 -12
- package/docs/guides/THEMING.md +222 -0
- package/docs/{TROUBLESHOOTING.md → guides/TROUBLESHOOTING.md} +36 -0
- package/docs/{WSL2_NIX_TROUBLESHOOTING.md → guides/WSL2_NIX_TROUBLESHOOTING.md} +8 -8
- package/docs/index.md +39 -0
- package/docs/interop/A2A.md +32 -0
- package/docs/manual/00-introduction.md +85 -0
- package/docs/manual/01-concepts/01-architecture.md +134 -0
- package/docs/manual/01-concepts/02-trust-model.md +178 -0
- package/docs/manual/01-concepts/03-theme-engine.md +182 -0
- package/docs/manual/01-concepts/04-fleet.md +142 -0
- package/docs/manual/01-concepts/05-self-healing.md +197 -0
- package/docs/manual/02-tutorials/01-first-install.md +192 -0
- package/docs/manual/02-tutorials/02-add-wallpaper.md +211 -0
- package/docs/manual/02-tutorials/03-create-profile.md +238 -0
- package/docs/manual/02-tutorials/04-encrypt-secret.md +275 -0
- package/docs/manual/02-tutorials/05-deploy-fleet.md +279 -0
- package/docs/manual/03-reference/01-dot-cli.md +413 -0
- package/docs/manual/03-reference/02-config-files.md +259 -0
- package/docs/manual/03-reference/03-environment.md +120 -0
- package/docs/manual/03-reference/04-templates.md +184 -0
- package/docs/manual/03-reference/05-feature-flags.md +118 -0
- package/docs/manual/04-cookbook/01-recipes.md +281 -0
- package/docs/manual/04-cookbook/02-troubleshooting.md +319 -0
- package/docs/manual/04-cookbook/03-faq.md +167 -0
- package/docs/manual/05-appendices/A-platform-matrix.md +97 -0
- package/docs/manual/05-appendices/B-security-checklist.md +78 -0
- package/docs/manual/05-appendices/C-glossary.md +36 -0
- package/docs/manual/05-appendices/D-bibliography.md +54 -0
- package/docs/manual/05-appendices/E-license.md +34 -0
- package/docs/manual/_toc.yml +58 -0
- package/docs/manual/command-index.md +58 -0
- package/docs/manual/concept-index.md +164 -0
- package/docs/operations/ATTESTATION.md +39 -0
- package/docs/operations/MAINTENANCE.md +59 -0
- package/docs/operations/MIGRATION.md +101 -0
- package/docs/operations/OPERATIONS.md +164 -0
- package/docs/operations/RELIABILITY.md +116 -0
- package/docs/{ROADMAP.md → operations/ROADMAP.md} +11 -11
- package/docs/operations/TESTING.md +195 -0
- package/docs/operations/TRACEABILITY.md +31 -0
- package/docs/operations/TRUSTED_AGENT_WORKSTATION.md +61 -0
- package/docs/operations/VERSION_SYNC.md +344 -0
- package/docs/{ALIASES.md → reference/ALIASES.md} +2 -6
- package/docs/reference/ALIASES_CHEATSHEET.md +28 -0
- package/docs/reference/ALIASES_DEPRECATIONS.md +9 -0
- package/docs/reference/FEATURES.md +62 -0
- package/docs/reference/FONTS.md +108 -0
- package/docs/reference/PROFILES.md +65 -0
- package/docs/{SCREENSHOTS.md → reference/SCREENSHOTS.md} +26 -25
- package/docs/reference/SCRIPTS.md +67 -0
- package/docs/reference/SUPPORT_MATRIX.md +74 -0
- package/docs/reference/THEMES.md +113 -0
- package/docs/reference/TOOLS.md +105 -0
- package/docs/reference/UTILS.md +151 -0
- package/docs/security/AI_ACT_COMPLIANCE.md +90 -0
- package/docs/security/AUTOMATION_SECRETS.md +22 -0
- package/docs/security/COMPLIANCE.md +453 -0
- package/docs/security/ENCRYPTION.md +52 -0
- package/docs/security/FMEA.md +155 -0
- package/docs/security/INCIDENT_RESPONSE.md +575 -0
- package/docs/security/KEYS.md +45 -0
- package/docs/security/MCP_POLICY.md +69 -0
- package/docs/security/POLICY_RELEASES.md +33 -0
- package/docs/security/README.md +24 -0
- package/docs/security/SECRETS.md +146 -0
- package/docs/security/SECURITY.md +41 -0
- package/docs/security/SECURITY_CHECKLIST.md +44 -0
- package/docs/security/SOUP_REGISTER.md +32 -0
- package/docs/security/THREAT_MODEL.md +120 -0
- package/docs/security/VERIFICATION_VALIDATION.md +224 -0
- package/docs/themes/README.md +3 -17
- package/docs/themes/VISUAL_INTEGRITY_REPORT.md +26 -0
- package/docs/themes/hero-shot.svg +78 -0
- package/dot_config/.module-manifest.json +69 -0
- package/dot_config/ai/identity.md +20 -0
- package/dot_config/ai/patterns/architect.md +14 -0
- package/dot_config/ai/patterns/hardener.md +13 -0
- package/dot_config/ai/patterns/refactor.md +13 -0
- package/dot_config/aider/aider.conf.yml +1 -1
- package/dot_config/alacritty/alacritty.toml.tmpl +41 -469
- package/dot_config/atuin/config.toml +18 -1
- package/dot_config/bat/config +16 -1
- package/dot_config/claude/mcp_servers.json +3 -32
- package/dot_config/dotfiles/agent-card.json +29 -0
- package/dot_config/dotfiles/agent-profiles.json +92 -0
- package/dot_config/dotfiles/boot/README.md +1 -1
- package/dot_config/dotfiles/grub/README.md +1 -1
- package/dot_config/dotfiles/lock/README.md +1 -1
- package/dot_config/dotfiles/mcp-lock.json +33 -0
- package/dot_config/dotfiles/mcp-policy.json +52 -0
- package/dot_config/dotfiles/mcp-registry.json +47 -0
- package/dot_config/dotfiles/model-registry.json +20 -0
- package/dot_config/dotfiles/policy-bundles.json +38 -0
- package/dot_config/dotfiles/prompt-registry.json +16 -0
- package/dot_config/dotfiles/versions.env +18 -0
- package/dot_config/environment.d/50-ssh-agent.conf +2 -0
- package/dot_config/environment.d/90-wayland.conf +19 -0
- package/dot_config/firefox/user.js.tmpl +58 -0
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +9 -0
- package/dot_config/fish/completions/dot.fish.tmpl +115 -0
- package/dot_config/fish/conf.d/000-perf-cache.fish +56 -0
- package/dot_config/fish/conf.d/aliases.fish.tmpl +77 -0
- package/dot_config/fish/conf.d/env.fish.tmpl +48 -0
- package/dot_config/fish/conf.d/functions.fish.tmpl +22 -0
- package/dot_config/fish/conf.d/init.fish.tmpl +151 -0
- package/dot_config/fish/config.fish.tmpl +44 -0
- package/dot_config/fish/fish_plugins +1 -0
- package/dot_config/fish/functions/_.fish +3 -0
- package/dot_config/fish/functions/_cached_eval.fish +58 -0
- package/dot_config/fish/functions/als.fish +46 -0
- package/dot_config/fish/functions/bg-upgrade.fish +7 -0
- package/dot_config/fish/functions/c.fish +3 -0
- package/dot_config/fish/functions/cat.fish +9 -0
- package/dot_config/fish/functions/d.fish +7 -0
- package/dot_config/fish/functions/dot.fish +34 -0
- package/dot_config/fish/functions/h.fish +3 -0
- package/dot_config/fish/functions/l.fish +7 -0
- package/dot_config/fish/functions/la.fish +7 -0
- package/dot_config/fish/functions/ll.fish +7 -0
- package/dot_config/fish/functions/log_error.fish +13 -0
- package/dot_config/fish/functions/log_info.fish +13 -0
- package/dot_config/fish/functions/lr.fish +7 -0
- package/dot_config/fish/functions/lra.fish +7 -0
- package/dot_config/fish/functions/ls.fish +7 -0
- package/dot_config/fish/functions/lt.fish +7 -0
- package/dot_config/fish/functions/lta.fish +7 -0
- package/dot_config/fish/functions/notify-run.fish +11 -0
- package/dot_config/fish/functions/q.fish +3 -0
- package/dot_config/fish/functions/silent-run.fish +7 -0
- package/dot_config/fish/functions/yy.fish +8 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +13 -0
- package/dot_config/foot/foot.ini.tmpl +33 -0
- package/dot_config/fuzzel/fuzzel.ini.tmpl +18 -0
- package/dot_config/fzf/fzf.zsh +48 -0
- package/dot_config/ghostty/config.tmpl +69 -565
- package/dot_config/git/allowed_signers.tmpl +18 -0
- package/dot_config/git/commit-template +10 -0
- package/dot_config/gnupg/{gpg-agent.conf.tmpl → gpg-agent.conf} +3 -3
- package/dot_config/goose/config.yaml +2 -2
- package/dot_config/gtk-3.0/gtk.css.tmpl +59 -180
- package/dot_config/gtk-3.0/settings.ini.tmpl +5 -44
- package/dot_config/gtk-4.0/gtk.css.tmpl +79 -136
- package/dot_config/gtk-4.0/settings.ini.tmpl +5 -8
- package/dot_config/ipython/profile_default/ipython_config.py +19 -0
- package/dot_config/just/justfile +18 -0
- package/dot_config/kanshi/config.tmpl +22 -0
- package/dot_config/kitty/kitty.conf.tmpl +44 -508
- package/dot_config/lazygit/config.yml +18 -6
- package/dot_config/mako/config +47 -0
- package/dot_config/micro/settings.json +3 -0
- package/dot_config/mimeapps.list +77 -0
- package/dot_config/mise/config.toml +63 -5
- package/dot_config/mongosh/mongoshrc.js +1 -0
- package/dot_config/mpv/input.conf +47 -0
- package/dot_config/mpv/mpv.conf +47 -0
- package/dot_config/niri/config.kdl.tmpl +327 -0
- package/dot_config/nushell/aliases.nu +18 -0
- package/dot_config/nushell/completions.nu.tmpl +52 -0
- package/dot_config/nushell/config.nu.tmpl +86 -0
- package/dot_config/nushell/env.nu.tmpl +94 -0
- package/dot_config/nushell/functions.nu.tmpl +17 -0
- package/dot_config/nvim/init.lua +14 -0
- package/dot_config/nvim/lazy-lock.json +45 -14
- package/dot_config/nvim/lua/config/autocmds.lua +45 -1
- package/dot_config/nvim/lua/config/keymaps.lua +13 -8
- package/dot_config/nvim/lua/config/lazy.lua +22 -12
- package/dot_config/nvim/lua/config/options.lua +1 -0
- package/dot_config/nvim/lua/plugins/ai.lua +75 -0
- package/dot_config/nvim/lua/plugins/coding.lua +11 -29
- package/dot_config/nvim/lua/plugins/completion.lua +60 -0
- package/dot_config/nvim/lua/plugins/dap.lua +215 -4
- package/dot_config/nvim/lua/plugins/editor.lua +6 -10
- package/dot_config/nvim/lua/plugins/git.lua +1 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +16 -81
- package/dot_config/nvim/lua/plugins/markdown.lua +1 -0
- package/dot_config/nvim/lua/plugins/rust.lua +1 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +1 -0
- package/dot_config/nvim/lua/plugins/ui.lua +23 -51
- package/dot_config/paru/paru.conf +10 -0
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +81 -0
- package/dot_config/pueue/pueue.yml +34 -0
- package/dot_config/raycast/README.md +1 -1
- package/dot_config/ripgrep/ripgreprc +21 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +62 -24
- package/dot_config/shell/05-core-safety.sh +47 -0
- package/dot_config/shell/10-secrets.sh +40 -0
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +16 -0
- package/dot_config/shell/40-ls-colors.sh +48 -0
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +10 -0
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +64 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +90 -5
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +33 -2
- package/dot_config/shell/Brewfile.cli +8 -0
- package/dot_config/shell/README.md +9 -9
- package/dot_config/shell/als_data.txt.tmpl +65 -0
- package/dot_config/shell/custom/auto_ls.zsh +20 -0
- package/dot_config/shell/custom/context_suggest.zsh +50 -50
- package/dot_config/shell/custom/error_analysis.zsh +29 -29
- package/dot_config/starship.toml.tmpl +85 -7
- package/dot_config/swaylock/config +43 -0
- package/dot_config/systemd/user/dotfiles-maintenance.service +8 -0
- package/dot_config/systemd/user/dotfiles-maintenance.timer +11 -0
- package/dot_config/systemd/user/pueued.service +12 -0
- package/dot_config/systemd/user/ssh-agent.service +12 -0
- package/dot_config/tmux/tmux.conf.tmpl +80 -38
- package/dot_config/topgrade.toml.tmpl +54 -0
- package/dot_config/user-dirs.dirs +9 -0
- package/dot_config/vscode/settings.json.tmpl +9 -50
- package/dot_config/waybar/config.jsonc.tmpl +90 -0
- package/dot_config/waybar/style.css.tmpl +211 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +31 -203
- package/dot_config/xdg-desktop-portal/niri-portals.conf +5 -0
- package/dot_config/yazi/keymap.toml +67 -0
- package/dot_config/yazi/theme.toml +102 -0
- package/dot_config/zathura/zathurarc +52 -0
- package/dot_config/zellij/{config.kdl → config.kdl.tmpl} +1 -1
- package/dot_config/zsh/dot_zprofile +1 -7
- package/dot_config/zsh/dot_zshenv +2 -3
- package/dot_config/zsh/dot_zshrc.tmpl +368 -69
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +77 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +17 -4
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +4 -4
- package/dot_config/zsh/rc.d/20-zinit.zsh +65 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +101 -30
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +32 -0
- package/dot_local/bin/__pycache__/executable_dot-load-benchmark-ptycpython-312.pyc +0 -0
- package/dot_local/bin/executable_ai-update +195 -0
- package/dot_local/bin/executable_ai_core +113 -91
- package/dot_local/bin/executable_antigravity +11 -0
- package/dot_local/bin/executable_b64 +61 -36
- package/dot_local/bin/executable_bm +77 -0
- package/dot_local/bin/executable_cb +39 -0
- package/dot_local/bin/executable_dot +543 -132
- package/dot_local/bin/executable_dot-ai +36 -0
- package/dot_local/bin/executable_dot-bootstrap +77 -0
- package/dot_local/bin/executable_dot-launch-or-focus +52 -0
- package/dot_local/bin/executable_dot-load-benchmark +31 -0
- package/dot_local/bin/executable_dot-load-benchmark-pty +77 -0
- package/dot_local/bin/executable_dot-theme-sync +952 -0
- package/dot_local/bin/executable_dot_completion +2 -0
- package/dot_local/bin/executable_dtags +28 -0
- package/dot_local/bin/executable_epoch +43 -38
- package/dot_local/bin/executable_extract +32 -99
- package/dot_local/bin/executable_gbd +52 -0
- package/dot_local/bin/executable_gd +42 -0
- package/dot_local/bin/executable_git-ai-commit +35 -20
- package/dot_local/bin/executable_git-ai-diff +33 -18
- package/dot_local/bin/executable_gl +101 -0
- package/dot_local/bin/executable_hash +56 -18
- package/dot_local/bin/executable_hashsum +160 -0
- package/dot_local/bin/executable_hex +44 -8
- package/dot_local/bin/executable_jsonv +34 -10
- package/dot_local/bin/executable_jwt +22 -6
- package/dot_local/bin/executable_kill-port +18 -2
- package/dot_local/bin/executable_lorem +21 -6
- package/dot_local/bin/executable_mkscript +35 -0
- package/dot_local/bin/executable_monitor +56 -0
- package/dot_local/bin/{executable_ip → executable_myip} +16 -2
- package/dot_local/bin/executable_notify +22 -0
- package/dot_local/bin/executable_open +36 -0
- package/dot_local/bin/executable_pw +27 -0
- package/dot_local/bin/executable_rec-start +46 -0
- package/dot_local/bin/executable_rec-stop +35 -0
- package/dot_local/bin/executable_regex +49 -13
- package/dot_local/bin/executable_start-niri +8 -0
- package/dot_local/bin/executable_tmux-sessionizer +276 -149
- package/dot_local/bin/executable_tour +112 -74
- package/dot_local/bin/executable_up +21 -0
- package/dot_local/bin/executable_update +45 -11
- package/dot_local/bin/executable_uuid +37 -7
- package/dot_local/bin/executable_win +32 -0
- package/dot_local/bin/executable_yamlv +25 -7
- package/dot_local/share/bash-completion/completions/dot +62 -44
- package/dot_local/share/icons/hicolor/128x128/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/16x16/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/24x24/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/256x256/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/32x32/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/48x48/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/512x512/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/64x64/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/96x96/apps/rousseau.png +0 -0
- package/dot_local/share/icons/hicolor/scalable/apps/rousseau.png +0 -0
- package/dot_local/share/man/man1/dot.1 +149 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +64 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +18 -0
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +13 -0
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +6 -0
- package/dot_local/share/zsh/completions/_dot +283 -0
- package/install.sh +297 -210
- package/package.json +17 -5
- package/scripts/ci/check-copyright-headers.sh +96 -0
- package/scripts/ci/guard-gitleaks-checkout.sh +57 -0
- package/scripts/ci/install-chezmoi-verified.sh +64 -0
- package/scripts/ci/validate-ci-config.sh +41 -39
- package/scripts/demo/record.sh +3 -2
- package/scripts/diagnostics/a2a-conformance.sh +162 -0
- package/scripts/diagnostics/alias-governance.sh +137 -0
- package/scripts/diagnostics/aliases-cheatsheet.sh +73 -0
- package/scripts/diagnostics/aliases-manifest.sh +31 -0
- package/scripts/diagnostics/benchmark.sh +209 -29
- package/scripts/diagnostics/conflicts.sh +72 -0
- package/scripts/diagnostics/doctor-unified.sh +38 -0
- package/scripts/diagnostics/doctor.sh +491 -65
- package/scripts/diagnostics/drift-dashboard.sh +17 -6
- package/scripts/diagnostics/health.sh +351 -110
- package/scripts/diagnostics/history-analysis.sh +12 -4
- package/scripts/diagnostics/mcp-doctor.sh +575 -0
- package/scripts/diagnostics/perf.sh +225 -0
- package/scripts/diagnostics/scorecard.sh +118 -0
- package/scripts/diagnostics/secret-governance.sh +58 -0
- package/scripts/diagnostics/security-score.sh +139 -93
- package/scripts/diagnostics/smoke-test.sh +87 -0
- package/scripts/diagnostics/snapshot.sh +89 -0
- package/scripts/diagnostics/verify.sh +107 -0
- package/scripts/diagnostics/verify_state.sh +2 -2
- package/scripts/diagnostics/version-locks.sh +79 -0
- package/scripts/diagnostics/workstation-attestation.sh +181 -0
- package/scripts/docs/build-manual.sh +883 -0
- package/scripts/docs/check-manual.sh +213 -0
- package/scripts/dot/commands/agent.sh +465 -0
- package/scripts/dot/commands/ai.sh +416 -0
- package/scripts/dot/commands/aliases.sh +250 -0
- package/scripts/dot/commands/appearance.sh +21 -4
- package/scripts/dot/commands/core.sh +59 -4
- package/scripts/dot/commands/diagnostics.sh +132 -3
- package/scripts/dot/commands/fleet.sh +399 -0
- package/scripts/dot/commands/lint.sh +177 -0
- package/scripts/dot/commands/manual.sh +168 -0
- package/scripts/dot/commands/meta.sh +148 -17
- package/scripts/dot/commands/patterns.sh +54 -0
- package/scripts/dot/commands/restore.sh +57 -35
- package/scripts/dot/commands/secrets.sh +151 -9
- package/scripts/dot/commands/security.sh +3 -0
- package/scripts/dot/commands/tools.sh +268 -27
- package/scripts/dot/data/alias-deprecations.tsv +2 -0
- package/scripts/dot/lib/bento.sh +49 -0
- package/scripts/dot/lib/log.sh +194 -0
- package/scripts/dot/lib/platform.sh +98 -0
- package/scripts/dot/lib/ui.sh +507 -0
- package/scripts/dot/lib/utils.sh +318 -18
- package/scripts/fonts/install-nerd-fonts.sh +19 -10
- package/scripts/fonts/patch-fonts.sh +1 -0
- package/scripts/git-hooks/install.sh +11 -0
- package/scripts/git-hooks/pre-commit +12 -0
- package/scripts/git-hooks/pre-commit-audit.sh +145 -0
- package/scripts/git-hooks/pre-push +29 -0
- package/scripts/git-hooks/prepare-commit-msg +29 -0
- package/scripts/lib/secrets_provider.sh +158 -0
- package/scripts/maintenance/check-updates.sh +131 -0
- package/scripts/ops/ai-setup.sh +55 -0
- package/scripts/ops/bundle.sh +77 -0
- package/scripts/ops/chaos.sh +49 -0
- package/scripts/ops/chezmoi-apply.sh +245 -17
- package/scripts/ops/chezmoi-diff.sh +1 -0
- package/scripts/ops/chezmoi-remove.sh +2 -0
- package/scripts/ops/chezmoi-update.sh +34 -2
- package/scripts/ops/heal-chezmoi.sh +51 -0
- package/scripts/ops/heal-system.sh +128 -0
- package/scripts/ops/heal-tools.sh +340 -0
- package/scripts/ops/heal.sh +98 -342
- package/scripts/ops/post-apply-repair.sh +106 -0
- package/scripts/ops/prewarm.sh +127 -0
- package/scripts/ops/release.sh +252 -0
- package/scripts/ops/rollback.sh +86 -28
- package/scripts/ops/setup.sh +137 -0
- package/scripts/ops/teleport.sh +2 -1
- package/scripts/qa/coverage-baseline.sh +60 -0
- package/scripts/qa/docs-coverage.sh +111 -0
- package/scripts/qa/reliability-audit.sh +138 -0
- package/scripts/qa/traceability-coverage.sh +116 -0
- package/scripts/qa/validate-examples.sh +26 -0
- package/scripts/qa/wsl-contract.sh +11 -0
- package/scripts/release/package-policy-bundles.sh +125 -0
- package/scripts/secrets/age-init.sh +1 -0
- package/scripts/secrets/create-secrets-file.sh +1 -0
- package/scripts/secrets/encrypt-ssh-key.sh +1 -0
- package/scripts/security/backup.sh +44 -4
- package/scripts/security/dns-doh.sh +36 -14
- package/scripts/security/encryption-check.sh +27 -12
- package/scripts/security/enforce-policies.sh +11 -16
- package/scripts/security/firewall.sh +76 -20
- package/scripts/security/lock-configs.sh +2 -2
- package/scripts/security/lock-screen.sh +40 -18
- package/scripts/security/manage-secrets.sh +42 -29
- package/scripts/security/ssh-cert.sh +203 -0
- package/scripts/security/telemetry-kill.sh +40 -18
- package/scripts/security/usb-safety.sh +37 -15
- package/scripts/theme/apply-gnome-theme.sh +87 -56
- package/scripts/theme/extract-theme.py +677 -0
- package/scripts/theme/install-boot-logo.sh +1 -0
- package/scripts/theme/install-catppuccin-themes.sh +57 -33
- package/scripts/theme/install-cursors.sh +1 -0
- package/scripts/theme/install-file-icons.sh +1 -0
- package/scripts/theme/install-grub-theme.sh +11 -1
- package/scripts/theme/install-lock-icon.sh +1 -0
- package/scripts/theme/merge-wallpaper.sh +141 -0
- package/scripts/theme/rebuild-themes.sh +309 -0
- package/scripts/theme/switch.sh +308 -137
- package/scripts/theme/wallpaper-rotate.sh +66 -12
- package/scripts/theme/wallpaper-sync.sh +386 -31
- package/scripts/tools/cmatrix.sh +1 -0
- package/scripts/tools/detect-collisions.py +1 -1
- package/scripts/tools/emoji-picker.sh +4 -1
- package/scripts/tools/figlet-banner.sh +1 -0
- package/scripts/tools/log-rotate.sh +2 -1
- package/scripts/tools/lolcat-wrap.sh +1 -0
- package/scripts/tools/pipes.sh +1 -0
- package/scripts/tuning/linux.sh +23 -13
- package/scripts/tuning/macos.sh +13 -4
- package/scripts/uninstall.sh +85 -0
- package/scripts/version-sync.sh +487 -0
- package/templates/chezmoi-data/geekom-a9.toml.example +21 -0
- package/templates/chezmoi-data/mac-m1.toml.example +16 -0
- package/templates/chezmoi-data/mac-t2-linux.toml.example +21 -0
- package/templates/chezmoi-data/surface-pro-7p.toml.example +21 -0
- package/templates/projects/go/.github/workflows/ci.yml +31 -0
- package/templates/projects/go/README.md +1 -1
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +1 -0
- package/templates/projects/go/go.sum +0 -0
- package/templates/projects/molecule/README.md +1 -1
- package/templates/projects/node/.github/workflows/ci.yml +30 -0
- package/templates/projects/node/README.md +1 -1
- package/templates/projects/node/package-lock.json +12 -0
- package/templates/projects/node/src/index.js +1 -0
- package/templates/projects/packer/README.md +1 -1
- package/templates/projects/python/.github/workflows/ci.yml +34 -0
- package/templates/projects/python/README.md +1 -1
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +1 -0
- package/docs/ARCHITECTURE.md +0 -229
- package/docs/COMPLIANCE.md +0 -47
- package/docs/FEATURES.md +0 -166
- package/docs/FONTS.md +0 -147
- package/docs/INSTALL.md +0 -119
- package/docs/KEYS.md +0 -40
- package/docs/OPERATIONS.md +0 -130
- package/docs/PR_DESCRIPTION.md +0 -149
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/SECURITY_CHECKLIST.md +0 -25
- package/docs/TASK.md +0 -99
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/UTILS.md +0 -105
- package/docs/WALKTHROUGH.md +0 -165
- package/dot_config/clippy.toml +0 -55
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- package/dot_config/ice/README.md +0 -13
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/shell/00-container-detect.sh +0 -53
- package/dot_config/shell/05-core-safety.sh.tmpl +0 -13
- package/dot_config/shell/40-ls-colors.sh.tmpl +0 -31
- package/dot_config/shell/90-theme-switch.sh +0 -70
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/scripts/ops/health-check.sh +0 -380
- package/scripts/tests/README.md +0 -241
- package/scripts/tests/benchmark.sh +0 -91
- package/scripts/tests/framework/assertions.sh +0 -283
- package/scripts/tests/framework/mocks.sh +0 -201
- package/scripts/tests/framework/test_runner.sh +0 -189
- package/scripts/tests/integration/test_install.sh +0 -237
- package/scripts/tests/performance/benchmark_runner.sh +0 -156
- package/scripts/tests/performance/regression_check.sh +0 -73
- package/scripts/tests/performance/stress_test.sh +0 -65
- package/scripts/tests/test-aliases.sh +0 -25
- package/scripts/tests/test-docker.sh +0 -48
- package/scripts/tests/unit/test_ai_aliases.sh +0 -158
- package/scripts/tests/unit/test_ai_cli_checks.sh +0 -47
- package/scripts/tests/unit/test_backup.sh +0 -227
- package/scripts/tests/unit/test_case_functions.sh +0 -238
- package/scripts/tests/unit/test_cd_aliases.sh +0 -367
- package/scripts/tests/unit/test_dot_cli.sh +0 -217
- package/scripts/tests/unit/test_encode64.sh +0 -67
- package/scripts/tests/unit/test_environment.sh +0 -78
- package/scripts/tests/unit/test_extract.sh +0 -163
- package/scripts/tests/unit/test_framework_edge_cases.sh +0 -113
- package/scripts/tests/unit/test_genpass.sh +0 -298
- package/scripts/tests/unit/test_install_edge_cases.sh +0 -167
- package/scripts/tests/unit/test_installers.sh +0 -172
- package/scripts/tests/unit/test_keygen.sh +0 -68
- package/scripts/tests/unit/test_logging.sh +0 -96
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +0 -388
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +0 -321
- package/scripts/tests/unit/test_prependpath.sh +0 -66
- package/scripts/tests/unit/test_prependpath_refactored.sh +0 -89
- package/scripts/tests/unit/test_rd.sh +0 -230
- package/scripts/tests/unit/test_security_fixes.sh +0 -130
- package/scripts/tests/unit/test_security_scripts.sh +0 -87
- package/scripts/tests/unit/test_template_validation.sh +0 -238
- package/scripts/tests/unit/test_utility_functions.sh +0 -144
- package/scripts/tests/unit/test_wave1_alias_split.sh +0 -132
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +0 -61
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +0 -52
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +0 -97
- package/scripts/tests/unit/test_wave1_install_gpg.sh +0 -35
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +0 -89
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +0 -115
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +0 -75
- package/scripts/tests/unit/test_zipf.sh +0 -76
- /package/docs/{LEGACY_ROADMAP.md → archive/LEGACY_ROADMAP.md} +0 -0
- /package/docs/{REPO_AUDIT.md → archive/REPO_AUDIT.md} +0 -0
- /package/docs/{KEY_ROTATION.md → security/KEY_ROTATION.md} +0 -0
- /package/dot_config/ansible/{ansible.cfg.tmpl → ansible.cfg} +0 -0
- /package/dot_config/docker/{config.json.tmpl → config.json} +0 -0
- /package/dot_config/k9s/{config.yaml.tmpl → config.yaml} +0 -0
- /package/dot_config/pypoetry/{config.toml.tmpl → config.toml} +0 -0
- /package/dot_config/{pyrightconfig.json.tmpl → pyrightconfig.json} +0 -0
- /package/dot_config/tflint/{tflint.hcl.tmpl → tflint.hcl} +0 -0
- /package/dot_config/yarn/{yarnrc.yml.tmpl → yarnrc.yml} +0 -0
- /package/dot_config/zsh/rc.d/{40-bell.zsh.tmpl → 40-bell.zsh} +0 -0
- /package/dot_config/zsh/rc.d/{50-login-fortune.zsh.tmpl → 50-login-fortune.zsh} +0 -0
package/docs/WALKTHROUGH.md
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
# Get started
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This release provides a modern, universal configuration that `chezmoi` manages across macOS, Linux, and Windows.
|
|
6
|
-
|
|
7
|
-
## Demo walkthrough
|
|
8
|
-
|
|
9
|
-
This guide walks you through the key features of the dotfiles after installation.
|
|
10
|
-
|
|
11
|
-
### Step 1: Verify installation
|
|
12
|
-
|
|
13
|
-
After running the installer, verify that everything works:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Check dot CLI is available
|
|
17
|
-
dot --version
|
|
18
|
-
|
|
19
|
-
# Run health checks
|
|
20
|
-
dot doctor
|
|
21
|
-
|
|
22
|
-
# View configuration status
|
|
23
|
-
dot status
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Step 2: Explore the shell
|
|
27
|
-
|
|
28
|
-
Your shell comes pre-configured with modern tools:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Use zoxide for smart directory navigation
|
|
32
|
-
z dotfiles # Jump to ~/.dotfiles
|
|
33
|
-
z - # Go back
|
|
34
|
-
|
|
35
|
-
# Use fzf for fuzzy finding
|
|
36
|
-
<Ctrl-R> # Search command history
|
|
37
|
-
<Ctrl-T> # Find files
|
|
38
|
-
|
|
39
|
-
# Use modern tool replacements
|
|
40
|
-
ls # Runs 'eza'
|
|
41
|
-
cat file.txt # Runs 'bat'
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Step 3: Git workflow
|
|
45
|
-
|
|
46
|
-
Git includes helpful aliases:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Quick status and log
|
|
50
|
-
gst # git status
|
|
51
|
-
lg # pretty git log graph
|
|
52
|
-
|
|
53
|
-
# Stage and commit
|
|
54
|
-
ga . # git add
|
|
55
|
-
gcm "message" # git commit -m
|
|
56
|
-
|
|
57
|
-
# Open lazygit TUI
|
|
58
|
-
lgui
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Step 4: Tmux basics
|
|
62
|
-
|
|
63
|
-
If tmux is running:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Prefix is Ctrl-a (not Ctrl-b)
|
|
67
|
-
<Ctrl-a> c # New window
|
|
68
|
-
<Ctrl-a> | # Split vertically
|
|
69
|
-
<Ctrl-a> - # Split horizontally
|
|
70
|
-
<Ctrl-a> h/j/k/l # Navigate panes (vim-style)
|
|
71
|
-
<Ctrl-a> f # Fuzzy session switcher
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Step 5: Neovim IDE
|
|
75
|
-
|
|
76
|
-
Open Neovim:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
nvim .
|
|
80
|
-
|
|
81
|
-
# Inside Neovim:
|
|
82
|
-
<Space> # Leader key, shows command menu
|
|
83
|
-
<Space>ff # Find files
|
|
84
|
-
<Space>fg # Live grep
|
|
85
|
-
<Space>e # Toggle file tree
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Step 6: Docker workflow
|
|
89
|
-
|
|
90
|
-
Docker aliases:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
dps # List running containers
|
|
94
|
-
dco up -d # Docker compose up
|
|
95
|
-
dlogsf container # Follow container logs
|
|
96
|
-
lzd # Open lazydocker TUI
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Step 7: Kubernetes (if enabled)
|
|
100
|
-
|
|
101
|
-
Kubernetes aliases:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
k get pods # kubectl get pods
|
|
105
|
-
kctx # Switch context
|
|
106
|
-
kn # Switch namespace
|
|
107
|
-
k9 # Open k9s TUI
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Core architecture
|
|
111
|
-
|
|
112
|
-
- **Chezmoi**: Replaces legacy Makefiles and symlinks with a robust template engine.
|
|
113
|
-
- **Universal templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
|
|
114
|
-
- **Performance**: Startup time benchmarks at **~16ms** (target: <20ms).
|
|
115
|
-
|
|
116
|
-
## Universal installer
|
|
117
|
-
|
|
118
|
-
- **Bootstrap**: `install.sh` enables one-line installation through `curl`.
|
|
119
|
-
- **Teleport**: `dot teleport user@host` pushes configs ephemerally to remote servers.
|
|
120
|
-
- **Verification**: All syntax checks pass.
|
|
121
|
-
|
|
122
|
-
## Deep integration
|
|
123
|
-
|
|
124
|
-
- **macOS**: `defaults` hardening (screensaver, firewall, Finder).
|
|
125
|
-
- **Fonts**: Auto-installation of `JetBrainsMono Nerd Font`.
|
|
126
|
-
- **Compliance**: Strict XDG Base Directory enforcement.
|
|
127
|
-
|
|
128
|
-
## Self-healing and compliance
|
|
129
|
-
|
|
130
|
-
- **Doctor**: `dot doctor` diagnoses drift, paths, and dependencies.
|
|
131
|
-
- **Audit**: Dotfiles logs all changes to `~/.local/share/dotfiles.log`.
|
|
132
|
-
- **Privacy**: The `privacy-mode` alias disables telemetry.
|
|
133
|
-
|
|
134
|
-
## Verification
|
|
135
|
-
|
|
136
|
-
| Test | Status | Notes |
|
|
137
|
-
| :--- | :--- | :--- |
|
|
138
|
-
| **Syntax** | PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
|
|
139
|
-
| **Performance** | PASSED | **~16ms** Zsh startup time. |
|
|
140
|
-
| **Drift** | VARIES | Audit logs may cause minor state drift reports. |
|
|
141
|
-
| **Docker** | PASSED | **Ubuntu 26.04** bootstrap verified (`dotfiles:0.2.480`). |
|
|
142
|
-
|
|
143
|
-
## Quick reference card
|
|
144
|
-
|
|
145
|
-
| Action | Command |
|
|
146
|
-
|--------|---------|
|
|
147
|
-
| Update dotfiles | `dot update` |
|
|
148
|
-
| Check health | `dot doctor` |
|
|
149
|
-
| Show drift | `dot drift` |
|
|
150
|
-
| Apply changes | `dot apply` |
|
|
151
|
-
| Edit source | `dot edit` |
|
|
152
|
-
| Benchmark shell | `dot benchmark` |
|
|
153
|
-
| New project | `dot new python myapp` |
|
|
154
|
-
| Enter sandbox | `dot sandbox` |
|
|
155
|
-
|
|
156
|
-
## Video tutorial
|
|
157
|
-
|
|
158
|
-
A future release will include a video walkthrough. Until then, use this document and the individual tool documentation.
|
|
159
|
-
|
|
160
|
-
## Next steps
|
|
161
|
-
|
|
162
|
-
- Customize your shell prompt in `~/.config/starship.toml`
|
|
163
|
-
- Add custom aliases in `~/.dotfiles/.chezmoitemplates/aliases/`
|
|
164
|
-
- Configure Neovim plugins in `~/.config/nvim/`
|
|
165
|
-
- Set up secrets with `dot secrets-init`
|
package/dot_config/clippy.toml
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Clippy Configuration
|
|
2
|
-
# Managed by chezmoi - https://github.com/sebastienrousseau/dotfiles
|
|
3
|
-
# Reference: https://doc.rust-lang.org/clippy/configuration.html
|
|
4
|
-
|
|
5
|
-
# Cognitive complexity threshold (default: 25)
|
|
6
|
-
cognitive-complexity-threshold = 30
|
|
7
|
-
|
|
8
|
-
# Maximum number of lines in a function (default: 100)
|
|
9
|
-
too-many-lines-threshold = 150
|
|
10
|
-
|
|
11
|
-
# Maximum number of arguments a function can have (default: 7)
|
|
12
|
-
too-many-arguments-threshold = 8
|
|
13
|
-
|
|
14
|
-
# Type complexity threshold (default: 250)
|
|
15
|
-
type-complexity-threshold = 300
|
|
16
|
-
|
|
17
|
-
# Minimum number of struct fields for the 'unreadable_literal' lint (default: 4)
|
|
18
|
-
unreadable-literal-lint-fractions = true
|
|
19
|
-
|
|
20
|
-
# MSRV - Minimum Supported Rust Version
|
|
21
|
-
msrv = "1.75.0"
|
|
22
|
-
|
|
23
|
-
# Allowed names for variables
|
|
24
|
-
allowed-idents-below-min-chars = ["i", "j", "k", "n", "x", "y", "z", "id", "ok", "rx", "tx"]
|
|
25
|
-
|
|
26
|
-
# Documentation requirements
|
|
27
|
-
missing-docs-in-crate-items = false
|
|
28
|
-
|
|
29
|
-
# Arithmetic side effects
|
|
30
|
-
arithmetic-side-effects-allowed = []
|
|
31
|
-
|
|
32
|
-
# Disallowed macros
|
|
33
|
-
disallowed-macros = []
|
|
34
|
-
|
|
35
|
-
# Disallowed methods
|
|
36
|
-
disallowed-methods = []
|
|
37
|
-
|
|
38
|
-
# Disallowed types
|
|
39
|
-
disallowed-types = []
|
|
40
|
-
|
|
41
|
-
# Standard macro braces
|
|
42
|
-
standard-macro-braces = []
|
|
43
|
-
|
|
44
|
-
# Avoid breaking semicolons
|
|
45
|
-
avoid-breaking-exported-api = true
|
|
46
|
-
|
|
47
|
-
# Allow expect and unwrap in tests
|
|
48
|
-
allow-expect-in-tests = true
|
|
49
|
-
allow-unwrap-in-tests = true
|
|
50
|
-
|
|
51
|
-
# Verbose bit masks
|
|
52
|
-
verbose-bit-mask-threshold = 1
|
|
53
|
-
|
|
54
|
-
# Allow print statements in tests
|
|
55
|
-
allow-print-in-tests = true
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Version pins for provisioned tools (Linux).
|
|
2
|
-
# Override by editing this file or exporting env vars before running.
|
|
3
|
-
STARSHIP_TAG="v1.24.1"
|
|
4
|
-
ZOXIDE_TAG="0.9.8"
|
|
5
|
-
NEOVIM_TAG="v0.11.5"
|
|
6
|
-
LAZYGIT_TAG="v0.56.0"
|
|
7
|
-
ATUIN_TAG="v18.10.0"
|
|
8
|
-
ZELLIJ_TAG="v0.43.1"
|
|
9
|
-
UV_TAG="0.9.21"
|
|
10
|
-
|
|
11
|
-
# Update & runtime tooling
|
|
12
|
-
TOPGRADE_TAG="v16.8.0"
|
|
13
|
-
MISE_TAG="v2025.6.5"
|
|
14
|
-
YAZI_TAG="v25.4.8"
|
|
15
|
-
|
|
16
|
-
# AI CLI Tools
|
|
17
|
-
AICHAT_TAG="v0.30.0"
|
|
18
|
-
MODS_TAG="v1.8.1"
|
|
19
|
-
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Minimal Firefox user.js defaults (review before use).
|
|
2
|
-
/* global user_pref */
|
|
3
|
-
user_pref("browser.startup.page", 3);
|
|
4
|
-
user_pref("browser.startup.homepage", "about:home");
|
|
5
|
-
user_pref("browser.search.suggest.enabled", false);
|
|
6
|
-
user_pref("browser.urlbar.suggest.searches", false);
|
|
7
|
-
user_pref("datareporting.healthreport.uploadEnabled", false);
|
|
8
|
-
user_pref("toolkit.telemetry.enabled", false);
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
{{- $git_name := "" -}}
|
|
2
|
-
{{- $git_email := "" -}}
|
|
3
|
-
{{- $git_signingkey := "" -}}
|
|
4
|
-
{{- $git_signingformat := "ssh" -}}
|
|
5
|
-
{{- $name := "" -}}
|
|
6
|
-
{{- $email := "" -}}
|
|
7
|
-
{{- $signingkey := "" -}}
|
|
8
|
-
{{- if hasKey . "git_name" }}{{- $git_name = index . "git_name" -}}{{- end -}}
|
|
9
|
-
{{- if hasKey . "git_email" }}{{- $git_email = index . "git_email" -}}{{- end -}}
|
|
10
|
-
{{- if hasKey . "git_signingkey" }}{{- $git_signingkey = index . "git_signingkey" -}}{{- end -}}
|
|
11
|
-
{{- if hasKey . "git_signingformat" }}{{- $git_signingformat = index . "git_signingformat" -}}{{- end -}}
|
|
12
|
-
{{- if hasKey . "name" }}{{- $name = index . "name" -}}{{- end -}}
|
|
13
|
-
{{- if hasKey . "email" }}{{- $email = index . "email" -}}{{- end -}}
|
|
14
|
-
{{- if hasKey . "signingkey" }}{{- $signingkey = index . "signingkey" -}}{{- end -}}
|
|
15
|
-
|
|
16
|
-
{{- if and (not $git_name) $name }}{{- $git_name = $name -}}{{- end -}}
|
|
17
|
-
{{- if and (not $git_email) $email }}{{- $git_email = $email -}}{{- end -}}
|
|
18
|
-
{{- if and (not $git_signingkey) $signingkey }}{{- $git_signingkey = $signingkey -}}{{- end -}}
|
|
19
|
-
|
|
20
|
-
[user]
|
|
21
|
-
{{- if $git_name }}
|
|
22
|
-
name = {{ $git_name }}
|
|
23
|
-
{{- end }}
|
|
24
|
-
{{- if $git_email }}
|
|
25
|
-
email = {{ $git_email }}
|
|
26
|
-
{{- end }}
|
|
27
|
-
{{- if $git_signingkey }}
|
|
28
|
-
signingkey = {{ $git_signingkey }}
|
|
29
|
-
{{- end }}
|
|
30
|
-
|
|
31
|
-
{{- if $git_signingkey }}
|
|
32
|
-
[commit]
|
|
33
|
-
gpgsign = true
|
|
34
|
-
|
|
35
|
-
[gpg]
|
|
36
|
-
format = {{ $git_signingformat }}
|
|
37
|
-
{{- end }}
|
|
38
|
-
|
|
39
|
-
[core]
|
|
40
|
-
editor = vim
|
|
41
|
-
excludesfile = {{ .chezmoi.homeDir }}/.config/git/ignore
|
|
42
|
-
attributesFile = {{ .chezmoi.homeDir }}/.config/git/attributes
|
|
43
|
-
|
|
44
|
-
[init]
|
|
45
|
-
defaultBranch = main
|
|
46
|
-
|
|
47
|
-
[fetch]
|
|
48
|
-
prune = true
|
|
49
|
-
|
|
50
|
-
[push]
|
|
51
|
-
autoSetupRemote = true
|
|
52
|
-
|
|
53
|
-
[pull]
|
|
54
|
-
rebase = true
|
|
55
|
-
|
|
56
|
-
[rerere]
|
|
57
|
-
enabled = true
|
|
58
|
-
|
|
59
|
-
[maintenance]
|
|
60
|
-
auto = true
|
|
61
|
-
strategy = incremental
|
|
62
|
-
|
|
63
|
-
[worktree]
|
|
64
|
-
guessRemote = true
|
|
65
|
-
|
|
66
|
-
[delta]
|
|
67
|
-
features = decorations
|
|
68
|
-
syntax-theme = TwoDark
|
|
69
|
-
|
|
70
|
-
[diff]
|
|
71
|
-
colorMoved = default
|
|
72
|
-
|
|
73
|
-
[filter "lfs"]
|
|
74
|
-
clean = git-lfs clean -- %f
|
|
75
|
-
smudge = git-lfs smudge -- %f
|
|
76
|
-
process = git-lfs filter-process
|
|
77
|
-
required = true
|
package/dot_config/go/aliases.sh
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Go aliases and functions
|
|
3
|
-
|
|
4
|
-
# Aliases for common Go commands
|
|
5
|
-
alias got='go test ./...'
|
|
6
|
-
alias gotr='go test -race ./...'
|
|
7
|
-
alias gotv='go test -v ./...'
|
|
8
|
-
alias gotc='go test -cover ./...'
|
|
9
|
-
alias gom='go mod tidy'
|
|
10
|
-
alias gomu='go mod tidy && go mod verify'
|
|
11
|
-
alias gob='go build ./...'
|
|
12
|
-
alias gor='go run .'
|
|
13
|
-
alias gog='go generate ./...'
|
|
14
|
-
alias gov='go vet ./...'
|
|
15
|
-
alias gof='gofumpt -w .'
|
|
16
|
-
alias gol='golangci-lint run'
|
|
17
|
-
alias golf='golangci-lint run --fix'
|
|
18
|
-
|
|
19
|
-
# Go doc server
|
|
20
|
-
alias godocs='godoc -http=:6060'
|
|
21
|
-
|
|
22
|
-
# Update all Go tools
|
|
23
|
-
go-update-tools() {
|
|
24
|
-
echo "Updating Go tools..."
|
|
25
|
-
local tools=(
|
|
26
|
-
"golang.org/x/tools/gopls@latest"
|
|
27
|
-
"github.com/go-delve/delve/cmd/dlv@latest"
|
|
28
|
-
"mvdan.cc/gofumpt@latest"
|
|
29
|
-
"github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
|
|
30
|
-
)
|
|
31
|
-
for tool in "${tools[@]}"; do
|
|
32
|
-
echo "Installing $tool..."
|
|
33
|
-
go install "$tool"
|
|
34
|
-
done
|
|
35
|
-
echo "Done!"
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
# Create new Go module
|
|
39
|
-
go-new() {
|
|
40
|
-
local name="${1:?Usage: go-new <module-name>}"
|
|
41
|
-
mkdir -p "$name" && cd "$name" || return
|
|
42
|
-
go mod init "$name"
|
|
43
|
-
cat > main.go << 'EOF'
|
|
44
|
-
package main
|
|
45
|
-
|
|
46
|
-
import "fmt"
|
|
47
|
-
|
|
48
|
-
func main() {
|
|
49
|
-
fmt.Println("Hello, World!")
|
|
50
|
-
}
|
|
51
|
-
EOF
|
|
52
|
-
echo "Created new Go module: $name"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
# Run tests with coverage and open in browser
|
|
56
|
-
go-cover() {
|
|
57
|
-
local profile="${1:-coverage.out}"
|
|
58
|
-
go test -coverprofile="$profile" ./...
|
|
59
|
-
go tool cover -html="$profile"
|
|
60
|
-
rm -f "$profile"
|
|
61
|
-
}
|
package/dot_config/go/env.sh
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Go environment configuration
|
|
3
|
-
# Source this file in your shell rc
|
|
4
|
-
|
|
5
|
-
# GOPATH and GOBIN
|
|
6
|
-
export GOPATH="${GOPATH:-$HOME/go}"
|
|
7
|
-
export GOBIN="${GOBIN:-$GOPATH/bin}"
|
|
8
|
-
|
|
9
|
-
# Add Go bin to PATH
|
|
10
|
-
[[ ":$PATH:" != *":$GOBIN:"* ]] && export PATH="$GOBIN:$PATH"
|
|
11
|
-
|
|
12
|
-
# Go environment variables
|
|
13
|
-
export GOPROXY="https://proxy.golang.org,direct"
|
|
14
|
-
export GOPRIVATE=""
|
|
15
|
-
export GOFLAGS="-trimpath"
|
|
16
|
-
|
|
17
|
-
# Default build tags (can be overridden per project)
|
|
18
|
-
export GOFLAGS="${GOFLAGS} -tags="
|
|
19
|
-
|
|
20
|
-
# Enable Go modules
|
|
21
|
-
export GO111MODULE="on"
|
|
22
|
-
|
|
23
|
-
# CGO settings
|
|
24
|
-
export CGO_ENABLED="${CGO_ENABLED:-1}"
|
package/dot_config/ice/README.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Ice
|
|
2
|
-
|
|
3
|
-
This directory is reserved for Ice preferences/config export.
|
|
4
|
-
|
|
5
|
-
If you export settings from Ice, place the exported file here and re-apply with:
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
chezmoi apply
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# lsd configuration (dotfiles)
|
|
2
|
-
classic: false
|
|
3
|
-
blocks:
|
|
4
|
-
- permission
|
|
5
|
-
- user
|
|
6
|
-
- group
|
|
7
|
-
- size
|
|
8
|
-
- date
|
|
9
|
-
- name
|
|
10
|
-
color:
|
|
11
|
-
when: auto
|
|
12
|
-
theme: default
|
|
13
|
-
icons:
|
|
14
|
-
when: auto
|
|
15
|
-
theme: fancy
|
|
16
|
-
date: relative
|
|
17
|
-
sorting:
|
|
18
|
-
column: name
|
|
19
|
-
dir-grouping: first
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
# 00-container-detect.sh: Detect container environments
|
|
5
|
-
# Sets environment flags so downstream configs can adapt behaviour
|
|
6
|
-
# (e.g. simpler prompts, skip host-only tooling).
|
|
7
|
-
#
|
|
8
|
-
# Security: Uses targeted detection methods to minimize information disclosure.
|
|
9
|
-
# Only checks for presence of containers, not specific runtime details.
|
|
10
|
-
|
|
11
|
-
# Detect container environment using file-based indicators (preferred)
|
|
12
|
-
# These methods don't expose runtime details like /proc/1/cgroup would
|
|
13
|
-
_detect_container() {
|
|
14
|
-
# Docker creates this file
|
|
15
|
-
[ -f /.dockerenv ] && return 0
|
|
16
|
-
|
|
17
|
-
# Podman/other OCI runtimes create this
|
|
18
|
-
[ -f /run/.containerenv ] && return 0
|
|
19
|
-
|
|
20
|
-
# Check for container environment variables (set by runtime)
|
|
21
|
-
[ -n "${container:-}" ] && return 0
|
|
22
|
-
|
|
23
|
-
# Systemd-nspawn sets this
|
|
24
|
-
[ -n "${SYSTEMD_NSPAWN_CONTAINER:-}" ] && return 0
|
|
25
|
-
|
|
26
|
-
# LXC/LXD detection via environment
|
|
27
|
-
[ -n "${LXC_NAME:-}" ] && return 0
|
|
28
|
-
|
|
29
|
-
# Fallback: Check cgroup v2 for container slice (minimal info exposure)
|
|
30
|
-
# Only checks if we're in a container scope, not which runtime
|
|
31
|
-
if [ -f /proc/self/cgroup ]; then
|
|
32
|
-
grep -qsE '^0::/.*/(docker|libpod|lxc|containerd)' /proc/self/cgroup 2>/dev/null && return 0
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
return 1
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if _detect_container; then
|
|
39
|
-
export DOTFILES_CONTAINER=1
|
|
40
|
-
fi
|
|
41
|
-
unset -f _detect_container
|
|
42
|
-
|
|
43
|
-
# Detect GitHub Codespaces
|
|
44
|
-
if [ -n "${CODESPACES:-}" ]; then
|
|
45
|
-
export DOTFILES_CODESPACE=1
|
|
46
|
-
export DOTFILES_CONTAINER=1
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
# Detect VS Code devcontainer (Remote - Containers sets this)
|
|
50
|
-
if [ -n "${REMOTE_CONTAINERS:-}" ] || [ -n "${REMOTE_CONTAINERS_IPC:-}" ]; then
|
|
51
|
-
export DOTFILES_DEVCONTAINER=1
|
|
52
|
-
export DOTFILES_CONTAINER=1
|
|
53
|
-
fi
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# 05-safety.sh: Core Safety Settings
|
|
4
|
-
# Part of the "Core Layer"
|
|
5
|
-
|
|
6
|
-
# Set sane defaults for safety, though be careful with -e in interactive shell
|
|
7
|
-
# Use 'set -o pipefail' to catch pipeline errors if supported
|
|
8
|
-
if [[ -n "$BASH_VERSION" ]] || [[ -n "$ZSH_VERSION" ]]; then
|
|
9
|
-
set -o pipefail 2>/dev/null || true
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
# Prevent file overwrite with redirection (force use of >|)
|
|
13
|
-
set -o noclobber
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Set ls colors with GNU/BSD detection
|
|
4
|
-
# GNU coreutils: LS_COLORS via dircolors
|
|
5
|
-
# BSD/macOS: LSCOLORS + CLICOLOR
|
|
6
|
-
|
|
7
|
-
if command -v dircolors >/dev/null 2>&1; then
|
|
8
|
-
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors" ]; then
|
|
9
|
-
# shellcheck disable=SC1090
|
|
10
|
-
eval "$(dircolors -b "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors")"
|
|
11
|
-
else
|
|
12
|
-
# shellcheck disable=SC1090
|
|
13
|
-
eval "$(dircolors -b)"
|
|
14
|
-
fi
|
|
15
|
-
else
|
|
16
|
-
case "$(uname -s 2>/dev/null)" in
|
|
17
|
-
Darwin*)
|
|
18
|
-
export CLICOLOR=1
|
|
19
|
-
export LSCOLORS="ExFxCxDxBxegedabagacad"
|
|
20
|
-
if command -v gdircolors >/dev/null 2>&1; then
|
|
21
|
-
# shellcheck disable=SC1090
|
|
22
|
-
eval "$(gdircolors -b)"
|
|
23
|
-
fi
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Ensure LS_COLORS is set for Zsh completion when only LSCOLORS exists
|
|
29
|
-
if [ -z "${LS_COLORS:-}" ] && [ -n "${LSCOLORS:-}" ]; then
|
|
30
|
-
export LS_COLORS=""
|
|
31
|
-
fi
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Detect system appearance (dark/light) and export THEME_MODE
|
|
3
|
-
# Consumed by starship, bat, delta, fzf, and other theme-aware tools
|
|
4
|
-
#
|
|
5
|
-
# macOS: reads AppleInterfaceStyle from user defaults
|
|
6
|
-
# Linux: checks DBUS org.freedesktop.portal.Settings color-scheme
|
|
7
|
-
#
|
|
8
|
-
# Performance: Caches result for 1 hour to avoid system calls on every shell startup
|
|
9
|
-
|
|
10
|
-
detect_theme_mode() {
|
|
11
|
-
local cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/dotfiles_theme_mode"
|
|
12
|
-
local cache_ttl=3600 # 1 hour in seconds
|
|
13
|
-
|
|
14
|
-
# Check if cache exists and is fresh
|
|
15
|
-
if [[ -f "$cache_file" ]]; then
|
|
16
|
-
local cache_age
|
|
17
|
-
local now
|
|
18
|
-
now=$(date +%s)
|
|
19
|
-
# macOS uses -f %m, Linux uses -c %Y for mtime
|
|
20
|
-
if [[ "$(uname -s)" == "Darwin" ]]; then
|
|
21
|
-
cache_age=$((now - $(stat -f %m "$cache_file" 2>/dev/null || echo 0)))
|
|
22
|
-
else
|
|
23
|
-
cache_age=$((now - $(stat -c %Y "$cache_file" 2>/dev/null || echo 0)))
|
|
24
|
-
fi
|
|
25
|
-
if [[ $cache_age -lt $cache_ttl ]]; then
|
|
26
|
-
THEME_MODE="$(cat "$cache_file")"
|
|
27
|
-
export THEME_MODE
|
|
28
|
-
return
|
|
29
|
-
fi
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
# Ensure cache directory exists
|
|
33
|
-
mkdir -p "$(dirname "$cache_file")"
|
|
34
|
-
|
|
35
|
-
case "$(uname -s)" in
|
|
36
|
-
Darwin)
|
|
37
|
-
if defaults read -g AppleInterfaceStyle >/dev/null 2>&1; then
|
|
38
|
-
export THEME_MODE="dark"
|
|
39
|
-
else
|
|
40
|
-
export THEME_MODE="light"
|
|
41
|
-
fi
|
|
42
|
-
;;
|
|
43
|
-
Linux)
|
|
44
|
-
if command -v busctl >/dev/null 2>&1; then
|
|
45
|
-
local scheme
|
|
46
|
-
scheme="$(busctl --user get-property \
|
|
47
|
-
org.freedesktop.portal.Desktop \
|
|
48
|
-
/org/freedesktop/portal/desktop \
|
|
49
|
-
org.freedesktop.portal.Settings \
|
|
50
|
-
Read "org.freedesktop.appearance" "color-scheme" 2>/dev/null |
|
|
51
|
-
grep -o '[0-9]*$')"
|
|
52
|
-
if [ "$scheme" = "1" ]; then
|
|
53
|
-
export THEME_MODE="dark"
|
|
54
|
-
else
|
|
55
|
-
export THEME_MODE="light"
|
|
56
|
-
fi
|
|
57
|
-
else
|
|
58
|
-
export THEME_MODE="dark"
|
|
59
|
-
fi
|
|
60
|
-
;;
|
|
61
|
-
*)
|
|
62
|
-
export THEME_MODE="dark"
|
|
63
|
-
;;
|
|
64
|
-
esac
|
|
65
|
-
|
|
66
|
-
# Cache the result
|
|
67
|
-
echo "$THEME_MODE" > "$cache_file"
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
detect_theme_mode
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# Topgrade configuration (managed by chezmoi)
|
|
2
|
-
|
|
3
|
-
[misc]
|
|
4
|
-
{{- if eq .chezmoi.os "darwin" }}
|
|
5
|
-
disable = ["vim", "node", "containers", "flatpak", "snap"]
|
|
6
|
-
{{- else }}
|
|
7
|
-
disable = ["vim", "node", "containers", "firmware"]
|
|
8
|
-
{{- end }}
|
|
9
|
-
pre_sudo = true
|
|
10
|
-
|
|
11
|
-
[pre_commands]
|
|
12
|
-
|
|
13
|
-
[post_commands]
|
|
14
|
-
|
|
15
|
-
[commands]
|
|
16
|
-
"Open WebUI" = "sudo /usr/local/bin/update-open-webui.sh"
|
|
17
|
-
|
|
18
|
-
[python]
|
|
19
|
-
|
|
20
|
-
[brew]
|
|
21
|
-
|
|
22
|
-
[linux]
|
|
23
|
-
|
|
24
|
-
[git]
|
|
25
|
-
|
|
26
|
-
[chezmoi]
|
|
27
|
-
|
|
28
|
-
[mise]
|
|
29
|
-
|
|
30
|
-
[npm]
|
|
31
|
-
|
|
32
|
-
[vim]
|
|
33
|
-
|
|
34
|
-
[firmware]
|
|
35
|
-
|
|
36
|
-
[flatpak]
|
|
37
|
-
|
|
38
|
-
[containers]
|
|
39
|
-
|
|
40
|
-
[rustup]
|
|
41
|
-
|
|
42
|
-
[vscode]
|