@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,25 +1,30 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
# Interactive Tour using Gum
|
|
3
|
-
# Part of Dotfiles v0.2.
|
|
3
|
+
# Part of Dotfiles v0.2.500
|
|
4
4
|
|
|
5
5
|
if ! command -v gum >/dev/null; then
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
echo "Error: 'gum' is not installed."
|
|
7
|
+
case "$(uname -s)" in
|
|
8
|
+
Darwin)
|
|
9
|
+
echo "Install: brew install gum"
|
|
10
|
+
;;
|
|
11
|
+
Linux)
|
|
12
|
+
if command -v snap >/dev/null; then
|
|
13
|
+
echo "Install: sudo snap install gum --classic"
|
|
14
|
+
else
|
|
15
|
+
echo "Install: go install github.com/charmbracelet/gum@latest"
|
|
16
|
+
fi
|
|
17
|
+
;;
|
|
18
|
+
*)
|
|
19
|
+
echo "Install gum from: https://github.com/charmbracelet/gum"
|
|
20
|
+
;;
|
|
21
|
+
esac
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
if [ ! -t 1 ]; then
|
|
26
|
+
echo "Error: This interactive tour requires a TTY."
|
|
27
|
+
exit 1
|
|
23
28
|
fi
|
|
24
29
|
|
|
25
30
|
clear
|
|
@@ -32,27 +37,28 @@ banner='██████╗ ██████╗ ████████╗
|
|
|
32
37
|
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
|
|
33
38
|
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
|
|
34
39
|
|
|
35
|
-
v0.2.
|
|
40
|
+
v0.2.500 · Infrastructure‑grade shell environment'
|
|
36
41
|
|
|
37
42
|
gum style \
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
--foreground 212 --border-foreground 212 --border double \
|
|
44
|
+
--align center --margin "1 2" --padding "1 2" \
|
|
45
|
+
"$banner"
|
|
41
46
|
|
|
42
47
|
echo ""
|
|
43
48
|
gum confirm "Start a quick tour?" || exit 0
|
|
44
49
|
clear
|
|
45
50
|
|
|
46
|
-
# Slide 1:
|
|
51
|
+
# Slide 1: Shell & configuration
|
|
47
52
|
gum style \
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
--foreground 99 --border rounded --padding "1 2" --margin "1 2" \
|
|
54
|
+
"Shell & configuration" \
|
|
55
|
+
"Default shell: Fish. Change it in .chezmoidata.toml." \
|
|
56
|
+
" " \
|
|
57
|
+
"dot apply # Apply dotfiles" \
|
|
58
|
+
"dot update # Pull and apply updates" \
|
|
59
|
+
"dot diff # Review local changes" \
|
|
60
|
+
"dot drift # Snapshot config drift" \
|
|
61
|
+
"dot help # Browse all commands"
|
|
56
62
|
|
|
57
63
|
echo ""
|
|
58
64
|
gum confirm "Next: Check health" || exit 0
|
|
@@ -60,13 +66,13 @@ clear
|
|
|
60
66
|
|
|
61
67
|
# Slide 2: Diagnostics
|
|
62
68
|
gum style \
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
--foreground 75 --border rounded --padding "1 2" --margin "1 2" \
|
|
70
|
+
"Check health" \
|
|
71
|
+
"Know what’s working. See what needs attention." \
|
|
72
|
+
" " \
|
|
73
|
+
"dot doctor # Health checks" \
|
|
74
|
+
"dot history # History analysis" \
|
|
75
|
+
"dot benchmark # Startup timing"
|
|
70
76
|
|
|
71
77
|
echo ""
|
|
72
78
|
gum confirm "Next: Secrets" || exit 0
|
|
@@ -74,14 +80,14 @@ clear
|
|
|
74
80
|
|
|
75
81
|
# Slide 3: Secrets
|
|
76
82
|
gum style \
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
--foreground 214 --border rounded --padding "1 2" --margin "1 2" \
|
|
84
|
+
"Secrets (age)" \
|
|
85
|
+
"Keep sensitive data local and encrypted." \
|
|
86
|
+
" " \
|
|
87
|
+
"dot secrets-init # Create a key" \
|
|
88
|
+
"dot secrets # Edit secrets" \
|
|
89
|
+
"dot secrets-create # New encrypted file" \
|
|
90
|
+
"dot ssh-key # Encrypt an SSH key"
|
|
85
91
|
|
|
86
92
|
echo ""
|
|
87
93
|
gum confirm "Next: Security (opt‑in)" || exit 0
|
|
@@ -89,16 +95,16 @@ clear
|
|
|
89
95
|
|
|
90
96
|
# Slide 4: Security (opt-in)
|
|
91
97
|
gum style \
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
--foreground 150 --border double --padding "1 2" --margin "1 2" \
|
|
99
|
+
"Security (opt‑in)" \
|
|
100
|
+
"Explicit by design. Nothing changes without your choice." \
|
|
101
|
+
" " \
|
|
102
|
+
"dot firewall # Firewall hardening" \
|
|
103
|
+
"dot telemetry # Disable OS telemetry" \
|
|
104
|
+
"dot dns-doh # DNS‑over‑HTTPS (Linux)" \
|
|
105
|
+
"dot lock-screen # Idle lock settings" \
|
|
106
|
+
"dot usb-safety # Disable automount" \
|
|
107
|
+
"dot encrypt-check # Disk encryption status"
|
|
102
108
|
|
|
103
109
|
echo ""
|
|
104
110
|
gum confirm "Next: Themes & UX" || exit 0
|
|
@@ -106,15 +112,17 @@ clear
|
|
|
106
112
|
|
|
107
113
|
# Slide 5: Themes & UX
|
|
108
114
|
gum style \
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
--foreground 212 --border rounded --padding "1 2" --margin "1 2" \
|
|
116
|
+
"Themes & UX" \
|
|
117
|
+
"Make it yours without changing how it works." \
|
|
118
|
+
" " \
|
|
119
|
+
"dot theme # Switch theme" \
|
|
120
|
+
"dot wallpaper # Apply wallpaper" \
|
|
121
|
+
"dot fonts # Install Nerd Fonts" \
|
|
122
|
+
"dot keys # Keybindings" \
|
|
123
|
+
"dot tools # Curated utilities" \
|
|
124
|
+
" " \
|
|
125
|
+
"Edit ~/.dotfiles/.chezmoidata.toml for shell, features, and profiles."
|
|
118
126
|
|
|
119
127
|
echo ""
|
|
120
128
|
gum confirm "Next: Projects & Sandbox" || exit 0
|
|
@@ -122,16 +130,46 @@ clear
|
|
|
122
130
|
|
|
123
131
|
# Slide 6: Projects & Sandbox
|
|
124
132
|
gum style \
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
--foreground 111 --border rounded --padding "1 2" --margin "1 2" \
|
|
134
|
+
"Projects & sandbox" \
|
|
135
|
+
"Start quickly. Experiment safely." \
|
|
136
|
+
" " \
|
|
137
|
+
"dot new <lang> <name> # Templates: python, go, node" \
|
|
138
|
+
"dot sandbox # Safe preview (Docker/Podman)" \
|
|
139
|
+
"dot edit # Open source in editor"
|
|
140
|
+
|
|
141
|
+
echo ""
|
|
142
|
+
gum confirm "Next: Linting & Performance" || exit 0
|
|
143
|
+
clear
|
|
144
|
+
|
|
145
|
+
# Slide 7: Linting & Performance
|
|
146
|
+
gum style \
|
|
147
|
+
--foreground 214 --border rounded --padding "1 2" --margin "1 2" \
|
|
148
|
+
"Linting & Performance" \
|
|
149
|
+
"Keep your scripts clean and your shell fast." \
|
|
150
|
+
" " \
|
|
151
|
+
"dot lint # ShellCheck + shfmt" \
|
|
152
|
+
"dot lint --fix # Auto-format scripts" \
|
|
153
|
+
"dot lint --check # CI mode (exit 1 on failure)" \
|
|
154
|
+
"dot benchmark --waterfall # Startup waterfall chart" \
|
|
155
|
+
"dot perf # Quick performance timing"
|
|
132
156
|
|
|
133
157
|
echo ""
|
|
158
|
+
gum confirm "Next: Finish" || exit 0
|
|
159
|
+
clear
|
|
160
|
+
|
|
161
|
+
# Final summary
|
|
134
162
|
gum style \
|
|
135
|
-
|
|
136
|
-
|
|
163
|
+
--foreground 212 --border double --padding "1 2" --margin "1 2" \
|
|
164
|
+
"You’re all set!" \
|
|
165
|
+
" " \
|
|
166
|
+
"Tip: run ‘dot update’ weekly to stay current."
|
|
167
|
+
|
|
137
168
|
echo ""
|
|
169
|
+
choice=$(gum choose "Run dot doctor" "Run dot benchmark" "Open docs" "Exit")
|
|
170
|
+
case "$choice" in
|
|
171
|
+
"Run dot doctor") exec dot doctor ;;
|
|
172
|
+
"Run dot benchmark") exec dot benchmark ;;
|
|
173
|
+
"Open docs") exec dot docs ;;
|
|
174
|
+
"Exit") exit 0 ;;
|
|
175
|
+
esac
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Universal directory navigation with history support
|
|
3
|
+
# Works across Bash, Zsh, and Fish
|
|
4
|
+
|
|
5
|
+
levels=$1
|
|
6
|
+
target=".."
|
|
7
|
+
|
|
8
|
+
case "$levels" in
|
|
9
|
+
2) target="../.." ;;
|
|
10
|
+
3) target="../../.." ;;
|
|
11
|
+
4) target="../../../../.." ;;
|
|
12
|
+
5) target="../../../../../.." ;;
|
|
13
|
+
*) target=".." ;;
|
|
14
|
+
esac
|
|
15
|
+
|
|
16
|
+
# If cd_with_history (a dotfiles function) is available, use it.
|
|
17
|
+
# Since this script runs in a subshell, we can't easily call parent functions.
|
|
18
|
+
# Instead, we just output the target or rely on the shell's own history.
|
|
19
|
+
|
|
20
|
+
cd "$target" || exit 1
|
|
21
|
+
$SHELL
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
## System Update — Update all system packages and tools.
|
|
3
|
+
##
|
|
4
|
+
## Comprehensive update utility for multiple package managers.
|
|
5
|
+
## Supports selective updates and combined operations.
|
|
6
|
+
##
|
|
7
|
+
## # Requirements
|
|
8
|
+
## - Various package managers (auto-detected)
|
|
9
|
+
## - sudo: For system package updates
|
|
10
|
+
##
|
|
11
|
+
## # Usage
|
|
12
|
+
## update # Update all detected managers
|
|
13
|
+
## update --brew # Update Homebrew only
|
|
14
|
+
## update --apt # Update APT only
|
|
15
|
+
## update --npm # Update NPM globals only
|
|
16
|
+
## update --cargo # Update Rust packages
|
|
17
|
+
## update --pip # Update Python packages
|
|
18
|
+
##
|
|
19
|
+
## # Platform Notes
|
|
20
|
+
## - macOS: Updates Homebrew, npm, cargo, pip
|
|
21
|
+
## - Linux: Updates apt/dnf, npm, cargo, pip
|
|
22
|
+
## - Also checks chezmoi dotfiles status
|
|
4
23
|
|
|
5
24
|
set -euo pipefail
|
|
6
25
|
|
|
@@ -9,9 +28,9 @@ GREEN='\033[0;32m'
|
|
|
9
28
|
YELLOW='\033[1;33m'
|
|
10
29
|
NC='\033[0m'
|
|
11
30
|
|
|
12
|
-
log_section() {
|
|
13
|
-
log_success() {
|
|
14
|
-
log_skip() {
|
|
31
|
+
log_section() { printf '%b\n' "\n${CYAN}--- $1 ---${NC}"; }
|
|
32
|
+
log_success() { printf '%b\n' "${GREEN}Done:${NC} $1"; }
|
|
33
|
+
log_skip() { printf '%b\n' "${YELLOW}Skipped:${NC} $1"; }
|
|
15
34
|
|
|
16
35
|
# Parse arguments
|
|
17
36
|
UPDATE_ALL=true
|
|
@@ -24,11 +43,26 @@ UPDATE_PIP=false
|
|
|
24
43
|
for arg in "$@"; do
|
|
25
44
|
case "$arg" in
|
|
26
45
|
--all) UPDATE_ALL=true ;;
|
|
27
|
-
--brew)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
--
|
|
46
|
+
--brew)
|
|
47
|
+
UPDATE_BREW=true
|
|
48
|
+
UPDATE_ALL=false
|
|
49
|
+
;;
|
|
50
|
+
--apt)
|
|
51
|
+
UPDATE_APT=true
|
|
52
|
+
UPDATE_ALL=false
|
|
53
|
+
;;
|
|
54
|
+
--npm)
|
|
55
|
+
UPDATE_NPM=true
|
|
56
|
+
UPDATE_ALL=false
|
|
57
|
+
;;
|
|
58
|
+
--cargo)
|
|
59
|
+
UPDATE_CARGO=true
|
|
60
|
+
UPDATE_ALL=false
|
|
61
|
+
;;
|
|
62
|
+
--pip)
|
|
63
|
+
UPDATE_PIP=true
|
|
64
|
+
UPDATE_ALL=false
|
|
65
|
+
;;
|
|
32
66
|
esac
|
|
33
67
|
done
|
|
34
68
|
|
|
@@ -105,4 +139,4 @@ if $UPDATE_ALL; then
|
|
|
105
139
|
fi
|
|
106
140
|
fi
|
|
107
141
|
|
|
108
|
-
|
|
142
|
+
printf '%b\n' "\n${GREEN}Update complete!${NC}"
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
## UUID Generator — Generate random UUIDs (v4).
|
|
3
|
+
##
|
|
4
|
+
## Generates one or more random UUIDs with optional formatting.
|
|
5
|
+
## Supports uppercase output and dash removal.
|
|
6
|
+
##
|
|
7
|
+
## # Requirements
|
|
8
|
+
## - uuidgen: Primary generator (util-linux or macOS)
|
|
9
|
+
## - /proc/sys/kernel/random/uuid: Linux kernel fallback
|
|
10
|
+
## - od + /dev/urandom: Universal fallback
|
|
11
|
+
##
|
|
12
|
+
## # Usage
|
|
13
|
+
## uuid # Generate 1 UUID
|
|
14
|
+
## uuid 5 # Generate 5 UUIDs
|
|
15
|
+
## uuid -u # Uppercase UUID
|
|
16
|
+
## uuid -n # No dashes (compact format)
|
|
17
|
+
## uuid 3 -u -n # 3 uppercase compact UUIDs
|
|
18
|
+
##
|
|
19
|
+
## # Platform Notes
|
|
20
|
+
## - Linux: Uses uuidgen or kernel random
|
|
21
|
+
## - macOS: Uses uuidgen
|
|
4
22
|
|
|
5
23
|
set -euo pipefail
|
|
6
24
|
|
|
@@ -10,9 +28,15 @@ NO_DASHES=false
|
|
|
10
28
|
|
|
11
29
|
while [[ $# -gt 0 ]]; do
|
|
12
30
|
case "$1" in
|
|
13
|
-
-u
|
|
14
|
-
|
|
15
|
-
|
|
31
|
+
-u | --upper)
|
|
32
|
+
UPPER=true
|
|
33
|
+
shift
|
|
34
|
+
;;
|
|
35
|
+
-n | --no-dashes)
|
|
36
|
+
NO_DASHES=true
|
|
37
|
+
shift
|
|
38
|
+
;;
|
|
39
|
+
-h | --help)
|
|
16
40
|
echo "Usage: uuid [count] [OPTIONS]"
|
|
17
41
|
echo ""
|
|
18
42
|
echo "Options:"
|
|
@@ -26,8 +50,14 @@ while [[ $# -gt 0 ]]; do
|
|
|
26
50
|
echo " uuid -u # Uppercase UUID"
|
|
27
51
|
exit 0
|
|
28
52
|
;;
|
|
29
|
-
[0-9]*)
|
|
30
|
-
|
|
53
|
+
[0-9]*)
|
|
54
|
+
COUNT="$1"
|
|
55
|
+
shift
|
|
56
|
+
;;
|
|
57
|
+
*)
|
|
58
|
+
echo "Unknown option: $1"
|
|
59
|
+
exit 1
|
|
60
|
+
;;
|
|
31
61
|
esac
|
|
32
62
|
done
|
|
33
63
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
3
|
+
# WSL-specific Windows Interop shim (win)
|
|
4
|
+
# Intelligently handles path translation using wslpath
|
|
5
|
+
# Part of Dotfiles v0.2.495
|
|
6
|
+
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
if ! grep -qi microsoft /proc/version 2>/dev/null; then
|
|
10
|
+
echo "This script is only for WSL systems." >&2
|
|
11
|
+
exit 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
cmd="$1"
|
|
15
|
+
shift || {
|
|
16
|
+
echo "Usage: win <windows_command> [args]"
|
|
17
|
+
exit 1
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
# Translate paths in arguments
|
|
21
|
+
args=()
|
|
22
|
+
for arg in "$@"; do
|
|
23
|
+
if [ -e "$arg" ]; then
|
|
24
|
+
translated=$(wslpath -w "$arg" 2>/dev/null || echo "$arg")
|
|
25
|
+
args+=("$translated")
|
|
26
|
+
else
|
|
27
|
+
args+=("$arg")
|
|
28
|
+
fi
|
|
29
|
+
done
|
|
30
|
+
|
|
31
|
+
# Execute the windows command with translated paths
|
|
32
|
+
exec "$cmd" "${args[@]}"
|
|
@@ -1,20 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
## YAML Validator — Validate YAML syntax.
|
|
3
|
+
##
|
|
4
|
+
## Validates YAML syntax and reports success or failure.
|
|
5
|
+
## Supports quiet mode for scripting.
|
|
6
|
+
##
|
|
7
|
+
## # Requirements
|
|
8
|
+
## - yq: Primary YAML processor (recommended)
|
|
9
|
+
## - python3 + pyyaml: Fallback validator
|
|
10
|
+
## - ruby + yaml: Secondary fallback
|
|
11
|
+
##
|
|
12
|
+
## # Usage
|
|
13
|
+
## yamlv file.yaml # Validate YAML file
|
|
14
|
+
## yamlv < file.yaml # Validate from stdin
|
|
15
|
+
## yamlv -q file.yaml # Quiet mode (exit code only)
|
|
16
|
+
##
|
|
17
|
+
## # Platform Notes
|
|
18
|
+
## - All platforms: Requires yq, python3+pyyaml, or ruby
|
|
4
19
|
|
|
5
20
|
set -euo pipefail
|
|
6
21
|
|
|
7
22
|
QUIET=false
|
|
8
|
-
[[ "${1:-}" == "-q" || "${1:-}" == "--quiet" ]] && {
|
|
23
|
+
[[ "${1:-}" == "-q" || "${1:-}" == "--quiet" ]] && {
|
|
24
|
+
QUIET=true
|
|
25
|
+
shift
|
|
26
|
+
}
|
|
9
27
|
|
|
10
28
|
validate_yaml() {
|
|
11
29
|
local input="$1"
|
|
12
30
|
if command -v yq >/dev/null 2>&1; then
|
|
13
|
-
yq -e '.' <<<
|
|
31
|
+
yq -e '.' <<<"$input" >/dev/null 2>&1
|
|
14
32
|
elif command -v python3 >/dev/null 2>&1; then
|
|
15
33
|
python3 -c "import yaml; yaml.safe_load('''$input''')" 2>/dev/null
|
|
16
34
|
elif command -v ruby >/dev/null 2>&1; then
|
|
17
|
-
ruby -ryaml -e "YAML.safe_load(STDIN.read)" <<<
|
|
35
|
+
ruby -ryaml -e "YAML.safe_load(STDIN.read)" <<<"$input" 2>/dev/null
|
|
18
36
|
else
|
|
19
37
|
echo "Error: yq, python3+pyyaml, or ruby required"
|
|
20
38
|
exit 1
|
|
@@ -31,9 +49,9 @@ else
|
|
|
31
49
|
fi
|
|
32
50
|
|
|
33
51
|
if validate_yaml "$INPUT"; then
|
|
34
|
-
$QUIET || echo "
|
|
52
|
+
$QUIET || echo "Valid YAML ($SOURCE)"
|
|
35
53
|
exit 0
|
|
36
54
|
else
|
|
37
|
-
echo "
|
|
55
|
+
echo "Invalid YAML ($SOURCE)"
|
|
38
56
|
exit 1
|
|
39
57
|
fi
|
|
@@ -3,52 +3,70 @@
|
|
|
3
3
|
# Source this file or place in /etc/bash_completion.d/ or ~/.local/share/bash-completion/completions/
|
|
4
4
|
|
|
5
5
|
_dot_completions() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
local cur prev commands
|
|
7
|
+
COMPREPLY=()
|
|
8
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
9
|
+
prev="${COMP_WORDS[COMP_CWORD - 1]}"
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
# Main commands
|
|
12
|
+
commands="apply sync update add diff status remove cd drift verify history doctor heal health security-score scorecard perf conflicts locks snapshot keys tools aliases sandbox benchmark tune secrets env secrets-init secrets-create ssh-key firewall telemetry dns-doh encrypt-check backup lock-screen usb-safety fonts wallpaper theme upgrade edit docs new log-rotate setup learn --version help"
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
14
|
+
# Subcommand completions
|
|
15
|
+
case "${prev}" in
|
|
16
|
+
dot)
|
|
17
|
+
COMPREPLY=($(compgen -W "${commands}" -- "${cur}"))
|
|
18
|
+
return 0
|
|
19
|
+
;;
|
|
20
|
+
add)
|
|
21
|
+
# Complete file paths
|
|
22
|
+
COMPREPLY=($(compgen -f -- "${cur}"))
|
|
23
|
+
return 0
|
|
24
|
+
;;
|
|
25
|
+
new)
|
|
26
|
+
# Complete template types
|
|
27
|
+
local templates="python go node"
|
|
28
|
+
COMPREPLY=($(compgen -W "${templates}" -- "${cur}"))
|
|
29
|
+
return 0
|
|
30
|
+
;;
|
|
31
|
+
tools)
|
|
32
|
+
# Complete tools subcommands
|
|
33
|
+
local subcommands="install"
|
|
34
|
+
COMPREPLY=($(compgen -W "${subcommands}" -- "${cur}"))
|
|
35
|
+
return 0
|
|
36
|
+
;;
|
|
37
|
+
aliases)
|
|
38
|
+
# Complete alias inspection subcommands
|
|
39
|
+
local subcommands="list search why stats tiers"
|
|
40
|
+
COMPREPLY=($(compgen -W "${subcommands}" -- "${cur}"))
|
|
41
|
+
return 0
|
|
42
|
+
;;
|
|
43
|
+
secrets)
|
|
44
|
+
# Complete secrets subcommands
|
|
45
|
+
local subcommands="edit set get list load provider"
|
|
46
|
+
COMPREPLY=($(compgen -W "${subcommands}" -- "${cur}"))
|
|
47
|
+
return 0
|
|
48
|
+
;;
|
|
49
|
+
env)
|
|
50
|
+
# Complete env subcommands
|
|
51
|
+
local subcommands="load"
|
|
52
|
+
COMPREPLY=($(compgen -W "${subcommands}" -- "${cur}"))
|
|
53
|
+
return 0
|
|
54
|
+
;;
|
|
55
|
+
theme)
|
|
56
|
+
# Complete theme options
|
|
57
|
+
local themes="dark light"
|
|
58
|
+
COMPREPLY=($(compgen -W "${themes}" -- "${cur}"))
|
|
59
|
+
return 0
|
|
60
|
+
;;
|
|
61
|
+
keys)
|
|
62
|
+
# Allow any search term
|
|
63
|
+
return 0
|
|
64
|
+
;;
|
|
65
|
+
*)
|
|
66
|
+
COMPREPLY=($(compgen -W "${commands}" -- "${cur}"))
|
|
67
|
+
return 0
|
|
68
|
+
;;
|
|
69
|
+
esac
|
|
52
70
|
}
|
|
53
71
|
|
|
54
72
|
complete -F _dot_completions dot
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|