@sebastienrousseau/dotfiles 0.2.502 → 0.2.503
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 +83 -9
- package/LICENSE +21 -1283
- package/README.md +5 -3
- package/docs/CONFIG_STRATEGY.md +124 -0
- package/docs/COPYRIGHT +1 -1
- package/docs/GOVERNANCE.md +98 -0
- package/docs/MAINTAINERS.md +41 -0
- package/docs/OPENCODE.md +127 -0
- package/docs/README.md +2 -0
- package/docs/STRUCTURE.md +102 -0
- package/docs/adr/ADR-011-nushell-tier3-keep.md +2 -2
- package/docs/architecture/AI_COST_OPTIMIZATION.md +143 -0
- package/docs/architecture/REPO_LAYOUT.md +8 -8
- package/docs/archive/MILESTONE_v0.2.493.md +1 -1
- package/docs/index.md +2 -2
- package/docs/interop/POWERSHELL.md +1 -1
- package/docs/manual/00-introduction.md +1 -1
- package/docs/manual/01-concepts/02-trust-model.md +1 -1
- package/docs/manual/03-reference/02-config-files.md +2 -2
- package/docs/manual/_toc.yml +1 -1
- package/docs/manual/command-index.md +72 -59
- package/docs/operations/CI_COMPOSITES.md +2 -2
- package/docs/operations/COMPLETIONS.md +2 -2
- package/docs/operations/COVERAGE.md +5 -5
- package/docs/operations/HARD_AUDIT_2026.md +11 -11
- package/docs/operations/MAINTENANCE.md +3 -3
- package/docs/operations/MANIFEST.md +127 -0
- package/docs/operations/RELEASE_PIPELINE.md +130 -0
- package/docs/operations/RFC_v0_2_503_reorganization.md +280 -0
- package/docs/operations/ROADMAP_2026.md +6 -6
- package/docs/operations/ROADMAP_V0_2_503.md +134 -0
- package/docs/operations/TESTING.md +17 -0
- package/docs/operations/TRACEABILITY.md +6 -3
- package/docs/operations/VERSION_SYNC.md +4 -4
- package/docs/reference/POWERSHELL_PARITY.md +8 -7
- package/docs/schema/dot-env-v1.json +110 -0
- package/docs/security/CI_EGRESS_ALLOWLIST.md +1 -1
- package/docs/security/CI_PINNING.md +17 -9
- package/docs/security/DEPS_DEV_EXCEPTIONS.md +2 -2
- package/docs/security/FUZZING.md +114 -0
- package/docs/security/INSTALL_VERIFICATION.md +2 -2
- package/docs/security/POLICY_RELEASES.md +2 -2
- package/docs/security/SCORECARD.md +58 -3
- package/docs/security/SHELL_EXEMPTIONS.md +4 -4
- package/docs/security/VERIFY_RELEASE.md +201 -0
- package/install.sh +27 -5
- package/package.json +1 -1
- package/scripts/README.md +123 -0
- package/scripts/ci/check-copyright-headers.sh +4 -93
- package/scripts/ci/check-shell-preamble.sh +4 -103
- package/scripts/ci/guard-gitleaks-checkout.sh +4 -54
- package/scripts/diagnostics/a2a-conformance.sh +4 -4
- package/scripts/diagnostics/alias-governance.sh +1 -1
- package/scripts/diagnostics/aliases-cheatsheet.sh +2 -2
- package/scripts/diagnostics/benchmark.sh +4 -4
- package/scripts/diagnostics/conflicts.sh +2 -2
- package/scripts/diagnostics/doctor-unified.sh +2 -2
- package/scripts/diagnostics/doctor.sh +10 -10
- package/scripts/diagnostics/drift-dashboard.sh +2 -2
- package/scripts/diagnostics/health.sh +4 -4
- package/scripts/diagnostics/history-analysis.sh +2 -2
- package/scripts/diagnostics/mcp-doctor.sh +10 -7
- package/scripts/diagnostics/perf.sh +4 -4
- package/scripts/diagnostics/scorecard.sh +4 -4
- package/scripts/diagnostics/security-score.sh +2 -2
- package/scripts/diagnostics/smoke-test.sh +2 -2
- package/scripts/diagnostics/snapshot.sh +2 -2
- package/scripts/diagnostics/verify.sh +4 -4
- package/scripts/diagnostics/version-locks.sh +2 -2
- package/scripts/diagnostics/workstation-attestation.sh +14 -14
- package/scripts/dot/commands/agent.sh +8 -0
- package/scripts/dot/commands/agents.sh +14 -4
- package/scripts/dot/commands/ai.sh +144 -25
- package/scripts/dot/commands/appearance.sh +2 -2
- package/scripts/dot/commands/core.sh +2 -2
- package/scripts/dot/commands/diagnostics.sh +5 -5
- package/scripts/dot/commands/env-emit.sh +202 -0
- package/scripts/dot/commands/fleet.sh +12 -11
- package/scripts/dot/commands/init.sh +4 -4
- package/scripts/dot/commands/lint.sh +9 -4
- package/scripts/dot/commands/manual.sh +3 -3
- package/scripts/dot/commands/meta.sh +12 -6
- package/scripts/dot/commands/patterns.sh +2 -2
- package/scripts/dot/commands/registry.sh +4 -4
- package/scripts/dot/commands/restore.sh +4 -4
- package/scripts/dot/commands/secrets.sh +4 -3
- package/scripts/dot/commands/security.sh +2 -2
- package/scripts/dot/commands/tools.sh +13 -3
- package/scripts/dot/powershell/Dot.psm1 +199 -0
- package/scripts/fonts/install-nerd-fonts.sh +2 -2
- package/scripts/git-hooks/pre-commit-audit.sh +2 -2
- package/scripts/git-hooks/pre-push +13 -0
- package/scripts/ops/ai-setup.sh +1 -1
- package/scripts/ops/bundle.sh +2 -2
- package/scripts/ops/chaos.sh +2 -2
- package/scripts/ops/chezmoi-apply.sh +4 -4
- package/scripts/ops/heal.sh +4 -4
- package/scripts/ops/post-apply-repair.sh +2 -2
- package/scripts/ops/prewarm.sh +2 -2
- package/scripts/ops/release.sh +4 -4
- package/scripts/ops/rollback.sh +4 -4
- package/scripts/ops/setup.sh +2 -2
- package/scripts/qa/check-version-consistency.sh +123 -0
- package/scripts/qa/coverage-baseline.sh +1 -1
- package/scripts/qa/docs-coverage.sh +2 -2
- package/scripts/qa/powershell-contract.ps1 +1 -1
- package/scripts/qa/scorecard-snapshot.sh +127 -0
- package/scripts/security/backup.sh +2 -2
- package/scripts/security/dns-doh.sh +4 -4
- package/scripts/security/encryption-check.sh +4 -4
- package/scripts/security/enforce-policies.sh +2 -2
- package/scripts/security/firewall.sh +4 -4
- package/scripts/security/lock-screen.sh +4 -4
- package/scripts/security/manage-secrets.sh +2 -2
- package/scripts/security/ssh-cert.sh +2 -2
- package/scripts/security/telemetry-kill.sh +4 -4
- package/scripts/security/usb-safety.sh +4 -4
- package/scripts/theme/extract-heic-frames.sh +114 -0
- package/scripts/theme/rebuild-themes.sh +8 -1
- package/scripts/theme/switch.sh +13 -6
- package/scripts/theme/wallpaper-sync.sh +297 -93
- package/scripts/tuning/linux.sh +2 -2
- package/scripts/tuning/macos.sh +2 -2
- package/scripts/version-sync.sh +55 -7
- package/dot_config/.module-manifest.json +0 -69
- package/dot_config/ai/identity.md +0 -23
- package/dot_config/ai/patterns/architect.md +0 -16
- package/dot_config/ai/patterns/hardener.md +0 -15
- package/dot_config/ai/patterns/refactor.md +0 -15
- package/dot_config/aider/aider.conf.yml +0 -32
- package/dot_config/alacritty/alacritty.toml.tmpl +0 -55
- package/dot_config/ansible/ansible.cfg +0 -11
- package/dot_config/atuin/config.toml.tmpl +0 -47
- package/dot_config/bat/config +0 -23
- package/dot_config/brave-flags.conf.tmpl +0 -7
- package/dot_config/btop/btop.conf +0 -16
- package/dot_config/btop/themes/tokyonight.theme +0 -34
- package/dot_config/bun/bunfig.toml.tmpl +0 -33
- package/dot_config/claude/mcp_servers.json +0 -20
- package/dot_config/containers/containers.conf +0 -14
- package/dot_config/curl/dot_curlrc +0 -18
- package/dot_config/dlv/config.yml +0 -39
- package/dot_config/docker/config.json +0 -15
- package/dot_config/dotfiles/agent-card.json +0 -29
- package/dot_config/dotfiles/agent-profiles.json +0 -92
- package/dot_config/dotfiles/boot/README.md +0 -13
- package/dot_config/dotfiles/grub/README.md +0 -13
- package/dot_config/dotfiles/lock/README.md +0 -13
- package/dot_config/dotfiles/mcp-lock.json +0 -33
- package/dot_config/dotfiles/mcp-policy.json +0 -52
- package/dot_config/dotfiles/mcp-registry.json +0 -47
- package/dot_config/dotfiles/model-registry.json +0 -20
- package/dot_config/dotfiles/policy-bundles.json +0 -38
- package/dot_config/dotfiles/prompt-registry.json +0 -16
- package/dot_config/dotfiles/versions.env +0 -18
- package/dot_config/duf/duf.conf +0 -6
- package/dot_config/duti/defaults.duti +0 -5
- package/dot_config/emoji/emoji.txt +0 -34
- package/dot_config/environment.d/50-ssh-agent.conf +0 -2
- package/dot_config/environment.d/90-wayland.conf +0 -19
- package/dot_config/fastfetch/config.jsonc +0 -28
- package/dot_config/firefox/user.js.tmpl +0 -58
- package/dot_config/fish/completions/dot-theme-sync.fish.tmpl +0 -9
- package/dot_config/fish/completions/dot.fish.tmpl +0 -115
- package/dot_config/fish/conf.d/000-perf-cache.fish +0 -56
- package/dot_config/fish/conf.d/aliases.fish.tmpl +0 -77
- package/dot_config/fish/conf.d/direnv.fish +0 -4
- package/dot_config/fish/conf.d/env.fish.tmpl +0 -48
- package/dot_config/fish/conf.d/functions.fish.tmpl +0 -22
- package/dot_config/fish/conf.d/init.fish.tmpl +0 -172
- package/dot_config/fish/conf.d/mise-activate.fish +0 -5
- package/dot_config/fish/config.fish.tmpl +0 -44
- package/dot_config/fish/fish_plugins +0 -1
- package/dot_config/fish/functions/_.fish +0 -3
- package/dot_config/fish/functions/_cached_eval.fish +0 -131
- package/dot_config/fish/functions/_cached_eval_clear.fish +0 -17
- package/dot_config/fish/functions/als.fish +0 -46
- package/dot_config/fish/functions/bg-upgrade.fish +0 -7
- package/dot_config/fish/functions/c.fish +0 -3
- package/dot_config/fish/functions/cat.fish +0 -9
- package/dot_config/fish/functions/d.fish +0 -7
- package/dot_config/fish/functions/dot.fish +0 -34
- package/dot_config/fish/functions/h.fish +0 -3
- package/dot_config/fish/functions/l.fish +0 -7
- package/dot_config/fish/functions/la.fish +0 -7
- package/dot_config/fish/functions/ll.fish +0 -7
- package/dot_config/fish/functions/log_error.fish +0 -13
- package/dot_config/fish/functions/log_info.fish +0 -13
- package/dot_config/fish/functions/lr.fish +0 -7
- package/dot_config/fish/functions/lra.fish +0 -7
- package/dot_config/fish/functions/ls.fish +0 -7
- package/dot_config/fish/functions/lt.fish +0 -7
- package/dot_config/fish/functions/lta.fish +0 -7
- package/dot_config/fish/functions/notify-run.fish +0 -11
- package/dot_config/fish/functions/q.fish +0 -3
- package/dot_config/fish/functions/silent-run.fish +0 -7
- package/dot_config/fish/functions/yy.fish +0 -8
- package/dot_config/flatpak/flatpak.list +0 -4
- package/dot_config/fontconfig/fonts.conf.tmpl +0 -57
- package/dot_config/foot/foot.ini.tmpl +0 -33
- package/dot_config/fuzzel/fuzzel.ini.tmpl +0 -18
- package/dot_config/fzf/fzf.zsh +0 -48
- package/dot_config/gem/gemrc +0 -9
- package/dot_config/gh/config.yml +0 -12
- package/dot_config/ghostty/config.tmpl +0 -165
- package/dot_config/git/allowed_signers.tmpl +0 -18
- package/dot_config/git/attributes +0 -12
- package/dot_config/git/commit-template +0 -10
- package/dot_config/git/hooks/executable_commit-msg +0 -146
- package/dot_config/git/ignore +0 -27
- package/dot_config/gnupg/gpg-agent.conf +0 -11
- package/dot_config/go/golangci.yml +0 -118
- package/dot_config/go/gopls.json +0 -30
- package/dot_config/goose/config.yaml +0 -29
- package/dot_config/gtk-3.0/gtk.css.tmpl +0 -184
- package/dot_config/gtk-3.0/settings.ini.tmpl +0 -27
- package/dot_config/gtk-4.0/gtk.css.tmpl +0 -252
- package/dot_config/gtk-4.0/settings.ini.tmpl +0 -18
- package/dot_config/htop/htoprc +0 -20
- package/dot_config/inputrc +0 -2
- package/dot_config/ipython/profile_default/ipython_config.py +0 -19
- package/dot_config/just/justfile +0 -122
- package/dot_config/k9s/config.yaml +0 -65
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
- package/dot_config/kanshi/config.tmpl +0 -22
- package/dot_config/karabiner/karabiner.json +0 -14
- package/dot_config/kitty/kitty.conf.tmpl +0 -53
- package/dot_config/lazydocker/config.yml +0 -186
- package/dot_config/lazygit/config.yml +0 -35
- package/dot_config/mako/config +0 -47
- package/dot_config/mas/masapps.txt +0 -5
- package/dot_config/micro/settings.json +0 -3
- package/dot_config/mimeapps.list +0 -77
- package/dot_config/minikube/config.json +0 -13
- package/dot_config/mise/config.toml +0 -99
- package/dot_config/mongosh/mongoshrc.js +0 -68
- package/dot_config/mpv/input.conf +0 -47
- package/dot_config/mpv/mpv.conf +0 -47
- package/dot_config/mycli/myclirc +0 -67
- package/dot_config/nano/nanorc +0 -28
- package/dot_config/ncdu/config +0 -12
- package/dot_config/niri/config.kdl.tmpl +0 -327
- package/dot_config/nushell/aliases.nu +0 -18
- package/dot_config/nushell/cached_eval.nu +0 -80
- package/dot_config/nushell/completions.nu.tmpl +0 -52
- package/dot_config/nushell/config.nu.tmpl +0 -86
- package/dot_config/nushell/env.nu.tmpl +0 -102
- package/dot_config/nushell/functions.nu.tmpl +0 -17
- package/dot_config/nvim/init.lua +0 -18
- package/dot_config/nvim/lazy-lock.json +0 -58
- package/dot_config/nvim/lua/config/autocmds.lua +0 -107
- package/dot_config/nvim/lua/config/keymaps.lua +0 -92
- package/dot_config/nvim/lua/config/lazy.lua +0 -44
- package/dot_config/nvim/lua/config/options.lua +0 -49
- package/dot_config/nvim/lua/plugins/ai.lua +0 -75
- package/dot_config/nvim/lua/plugins/coding.lua +0 -216
- package/dot_config/nvim/lua/plugins/completion.lua +0 -60
- package/dot_config/nvim/lua/plugins/dap.lua +0 -412
- package/dot_config/nvim/lua/plugins/editor.lua +0 -55
- package/dot_config/nvim/lua/plugins/git.lua +0 -10
- package/dot_config/nvim/lua/plugins/lsp.lua +0 -156
- package/dot_config/nvim/lua/plugins/markdown.lua +0 -18
- package/dot_config/nvim/lua/plugins/rust.lua +0 -34
- package/dot_config/nvim/lua/plugins/sessions.lua +0 -33
- package/dot_config/nvim/lua/plugins/ui.lua +0 -509
- package/dot_config/paru/paru.conf +0 -10
- package/dot_config/pip/pip.conf.tmpl +0 -32
- package/dot_config/powershell/Microsoft.PowerShell_profile.ps1.tmpl +0 -81
- package/dot_config/pueue/pueue.yml +0 -34
- package/dot_config/pypoetry/config.toml +0 -6
- package/dot_config/pyrightconfig.json +0 -5
- package/dot_config/raycast/README.md +0 -13
- package/dot_config/redis/redisclirc +0 -41
- package/dot_config/ripgrep/ripgreprc +0 -21
- package/dot_config/shell/00-core-paths.sh.tmpl +0 -141
- package/dot_config/shell/05-core-safety.sh +0 -48
- package/dot_config/shell/10-secrets.sh +0 -41
- package/dot_config/shell/40-fzf-defaults.sh.tmpl +0 -17
- package/dot_config/shell/40-ls-colors.sh +0 -49
- package/dot_config/shell/50-logic-functions-core.sh.tmpl +0 -11
- package/dot_config/shell/50-logic-functions.sh.tmpl +0 -11
- package/dot_config/shell/51-logic-functions-extra.sh.tmpl +0 -65
- package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -121
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -55
- package/dot_config/shell/Brewfile +0 -207
- package/dot_config/shell/Brewfile.cask +0 -92
- package/dot_config/shell/Brewfile.cli +0 -127
- package/dot_config/shell/README.md +0 -284
- package/dot_config/shell/als_data.txt.tmpl +0 -65
- package/dot_config/shell/custom/auto_ls.zsh +0 -20
- package/dot_config/shell/custom/context_suggest.zsh +0 -68
- package/dot_config/shell/custom/error_analysis.zsh +0 -45
- package/dot_config/sops/dot_sops.yaml +0 -23
- package/dot_config/starship.toml.tmpl +0 -202
- package/dot_config/swaylock/config +0 -43
- package/dot_config/systemd/user/dotfiles-maintenance.service +0 -8
- package/dot_config/systemd/user/dotfiles-maintenance.timer +0 -11
- package/dot_config/systemd/user/pueued.service +0 -12
- package/dot_config/systemd/user/ssh-agent.service +0 -12
- package/dot_config/task/Taskfile.yml +0 -86
- package/dot_config/tflint/tflint.hcl +0 -9
- package/dot_config/tmux/tmux.conf.tmpl +0 -223
- package/dot_config/topgrade.toml.tmpl +0 -54
- package/dot_config/user-dirs.dirs +0 -10
- package/dot_config/vscode/extensions.txt +0 -11
- package/dot_config/vscode/settings.json.tmpl +0 -82
- package/dot_config/waybar/config.jsonc.tmpl +0 -90
- package/dot_config/waybar/style.css.tmpl +0 -211
- package/dot_config/wezterm/wezterm.lua.tmpl +0 -64
- package/dot_config/wget/wgetrc +0 -12
- package/dot_config/xdg-desktop-portal/niri-portals.conf +0 -5
- package/dot_config/yarn/yarnrc.yml +0 -36
- package/dot_config/yazi/keymap.toml +0 -67
- package/dot_config/yazi/theme.toml +0 -102
- package/dot_config/yazi/yazi.toml +0 -40
- package/dot_config/zathura/zathurarc +0 -52
- package/dot_config/zellij/config.kdl.tmpl +0 -79
- package/dot_config/zsh/dot_zprofile +0 -7
- package/dot_config/zsh/dot_zshenv +0 -5
- package/dot_config/zsh/dot_zshrc.tmpl +0 -688
- package/dot_config/zsh/rc.d/00-alias-shims.zsh +0 -99
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -18
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
- package/dot_config/zsh/rc.d/20-zinit.zsh +0 -65
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -214
- package/dot_config/zsh/rc.d/40-bell.zsh +0 -20
- package/dot_config/zsh/rc.d/50-login-fortune.zsh +0 -9
- package/dot_config/zsh/rc.d/99-alias-wrapper.zsh +0 -32
- package/dot_local/bin/executable_ai-update +0 -195
- package/dot_local/bin/executable_ai_core +0 -152
- package/dot_local/bin/executable_antigravity +0 -11
- package/dot_local/bin/executable_b64 +0 -84
- package/dot_local/bin/executable_bm +0 -79
- package/dot_local/bin/executable_cb +0 -39
- package/dot_local/bin/executable_dot +0 -636
- package/dot_local/bin/executable_dot-ai +0 -36
- package/dot_local/bin/executable_dot-bootstrap +0 -76
- package/dot_local/bin/executable_dot-launch-or-focus +0 -52
- package/dot_local/bin/executable_dot-load-benchmark +0 -31
- package/dot_local/bin/executable_dot-load-benchmark-pty +0 -77
- package/dot_local/bin/executable_dot-theme-sync +0 -952
- package/dot_local/bin/executable_dot_completion +0 -57
- package/dot_local/bin/executable_dtags +0 -28
- package/dot_local/bin/executable_epoch +0 -67
- package/dot_local/bin/executable_extract +0 -41
- package/dot_local/bin/executable_gbd +0 -52
- package/dot_local/bin/executable_gd +0 -42
- package/dot_local/bin/executable_git-ai-commit +0 -175
- package/dot_local/bin/executable_git-ai-diff +0 -169
- package/dot_local/bin/executable_gl +0 -101
- package/dot_local/bin/executable_hash +0 -161
- package/dot_local/bin/executable_hashsum +0 -160
- package/dot_local/bin/executable_hex +0 -115
- package/dot_local/bin/executable_jsonv +0 -78
- package/dot_local/bin/executable_jwt +0 -94
- package/dot_local/bin/executable_kill-port +0 -75
- package/dot_local/bin/executable_lorem +0 -118
- package/dot_local/bin/executable_mkscript +0 -35
- package/dot_local/bin/executable_monitor +0 -56
- package/dot_local/bin/executable_myip +0 -51
- package/dot_local/bin/executable_notify +0 -24
- package/dot_local/bin/executable_open +0 -38
- package/dot_local/bin/executable_pw +0 -27
- package/dot_local/bin/executable_rec-start +0 -46
- package/dot_local/bin/executable_rec-stop +0 -35
- package/dot_local/bin/executable_regex +0 -132
- package/dot_local/bin/executable_start-niri +0 -8
- package/dot_local/bin/executable_tmux-sessionizer +0 -314
- package/dot_local/bin/executable_tour +0 -177
- package/dot_local/bin/executable_up +0 -23
- package/dot_local/bin/executable_update +0 -142
- package/dot_local/bin/executable_uuid +0 -87
- package/dot_local/bin/executable_win +0 -32
- package/dot_local/bin/executable_yamlv +0 -57
- package/dot_local/share/bash-completion/completions/dot +0 -72
- 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 +0 -149
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_download +0 -64
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_install +0 -18
- package/dot_local/share/mise/plugins/kiro-cli/bin/executable_list-all +0 -13
- package/dot_local/share/wayland-sessions/niri.desktop.tmpl +0 -6
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/dot_local/share/zsh/completions/_dot +0 -287
- package/scripts/ci/check-dangerous-chmod.sh +0 -19
- package/scripts/ci/check-deps-dev.sh +0 -236
- package/scripts/ci/check-insecure-tls.sh +0 -61
- package/scripts/ci/check-regression-traceability.sh +0 -67
- package/scripts/ci/dot-cli-startup-bench.sh +0 -126
- package/scripts/ci/install-chezmoi-verified.sh +0 -67
- package/scripts/ci/lint-reusable-pins.sh +0 -78
- package/scripts/ci/run-coverage.sh +0 -451
- package/scripts/ci/validate-chezmoidata.sh +0 -25
- package/scripts/ci/validate-ci-config.sh +0 -224
- package/scripts/ci/windows-smoke-test.ps1 +0 -136
- package/scripts/docs/build-manual.sh +0 -883
- package/scripts/docs/check-manual.sh +0 -213
- package/scripts/dot/lib/bento.sh +0 -50
- package/scripts/dot/lib/log.sh +0 -200
- package/scripts/dot/lib/platform.sh +0 -112
- package/scripts/dot/lib/ui.sh +0 -650
- package/scripts/dot/lib/utils.sh +0 -377
- package/scripts/maintenance/check-updates.sh +0 -131
- package/scripts/release/package-policy-bundles.sh +0 -125
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Dotfiles PowerShell profile (v{{ .dotfiles_version }})
|
|
2
|
-
|
|
3
|
-
$env:DOTFILES_VERSION = "{{ .dotfiles_version }}"
|
|
4
|
-
$env:XDG_CONFIG_HOME = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { Join-Path $HOME ".config" }
|
|
5
|
-
$env:XDG_CACHE_HOME = if ($env:XDG_CACHE_HOME) { $env:XDG_CACHE_HOME } else { Join-Path $HOME ".cache" }
|
|
6
|
-
$env:XDG_DATA_HOME = if ($env:XDG_DATA_HOME) { $env:XDG_DATA_HOME } else { Join-Path $HOME ".local/share" }
|
|
7
|
-
|
|
8
|
-
$DotfilesRoot = if (Test-Path (Join-Path $HOME ".dotfiles")) {
|
|
9
|
-
Join-Path $HOME ".dotfiles"
|
|
10
|
-
} elseif (Test-Path (Join-Path $HOME ".local/share/chezmoi")) {
|
|
11
|
-
Join-Path $HOME ".local/share/chezmoi"
|
|
12
|
-
} else {
|
|
13
|
-
$null
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function Invoke-DotfilesCli {
|
|
17
|
-
$dotPath = Join-Path $HOME ".local/bin/dot"
|
|
18
|
-
if (-not (Test-Path $dotPath)) {
|
|
19
|
-
throw "dot command not found at $dotPath"
|
|
20
|
-
}
|
|
21
|
-
& $dotPath @args
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function dot { Invoke-DotfilesCli @args }
|
|
25
|
-
function d { Invoke-DotfilesCli @args }
|
|
26
|
-
function dm { Invoke-DotfilesCli mode list }
|
|
27
|
-
function da { Invoke-DotfilesCli agent list }
|
|
28
|
-
function dmc { Invoke-DotfilesCli mcp registry }
|
|
29
|
-
function datt { Invoke-DotfilesCli attest --json }
|
|
30
|
-
|
|
31
|
-
function ll {
|
|
32
|
-
if (Get-Command eza -ErrorAction SilentlyContinue) {
|
|
33
|
-
eza -alF --sort Name --icons --group-directories-first @args
|
|
34
|
-
} else {
|
|
35
|
-
Get-ChildItem -Force @args
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function la {
|
|
40
|
-
if (Get-Command eza -ErrorAction SilentlyContinue) {
|
|
41
|
-
eza -a --sort Name --icons --group-directories-first @args
|
|
42
|
-
} else {
|
|
43
|
-
Get-ChildItem -Force -Hidden @args
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function cat {
|
|
48
|
-
if (Get-Command bat -ErrorAction SilentlyContinue) {
|
|
49
|
-
bat @args
|
|
50
|
-
} elseif (Get-Command batcat -ErrorAction SilentlyContinue) {
|
|
51
|
-
batcat @args
|
|
52
|
-
} else {
|
|
53
|
-
Microsoft.PowerShell.Management\Get-Content @args
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
Set-Alias -Name open -Value Invoke-Item -Option AllScope
|
|
58
|
-
|
|
59
|
-
if (Get-Command mise -ErrorAction SilentlyContinue) {
|
|
60
|
-
function ms { & mise @args }
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (Get-Command nix -ErrorAction SilentlyContinue) {
|
|
64
|
-
function nx { & nix @args }
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (Get-Command just -ErrorAction SilentlyContinue) {
|
|
68
|
-
function j { & just @args }
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (Get-Command gh -ErrorAction SilentlyContinue) {
|
|
72
|
-
function ghpr { gh pr view --web @args }
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (Get-Command podman -ErrorAction SilentlyContinue) {
|
|
76
|
-
function p { & podman @args }
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (Get-Command zoxide -ErrorAction SilentlyContinue) {
|
|
80
|
-
Invoke-Expression (& { (zoxide init powershell | Out-String) })
|
|
81
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
client:
|
|
2
|
-
restart_in_place: false
|
|
3
|
-
read_local_logs: true
|
|
4
|
-
show_confirmation_questions: false
|
|
5
|
-
edit_mode: toml
|
|
6
|
-
show_expanded_aliases: false
|
|
7
|
-
dark_mode: false
|
|
8
|
-
max_status_lines: null
|
|
9
|
-
status_time_format: '%H:%M:%S'
|
|
10
|
-
status_datetime_format: |-
|
|
11
|
-
%Y-%m-%d
|
|
12
|
-
%H:%M:%S
|
|
13
|
-
daemon:
|
|
14
|
-
pause_group_on_failure: false
|
|
15
|
-
pause_all_on_failure: false
|
|
16
|
-
compress_state_file: false
|
|
17
|
-
callback: null
|
|
18
|
-
env_vars: {}
|
|
19
|
-
callback_log_lines: 10
|
|
20
|
-
shell_command: null
|
|
21
|
-
shared:
|
|
22
|
-
pueue_directory: null
|
|
23
|
-
runtime_directory: null
|
|
24
|
-
alias_file: null
|
|
25
|
-
use_unix_socket: true
|
|
26
|
-
unix_socket_path: null
|
|
27
|
-
unix_socket_permissions: 448
|
|
28
|
-
host: 127.0.0.1
|
|
29
|
-
port: '6924'
|
|
30
|
-
pid_path: null
|
|
31
|
-
daemon_cert: null
|
|
32
|
-
daemon_key: null
|
|
33
|
-
shared_secret_path: null
|
|
34
|
-
profiles: {}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Raycast
|
|
2
|
-
|
|
3
|
-
This directory stores Raycast preferences export/import files.
|
|
4
|
-
|
|
5
|
-
1. Open Raycast.
|
|
6
|
-
2. Export settings: `Raycast Settings -> Advanced -> Export Settings`.
|
|
7
|
-
3. Save the file here, then `chezmoi apply`.
|
|
8
|
-
|
|
9
|
-
To restore, import the saved file from Raycast settings.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
Made with ❤️ by [Sebastien Rousseau](https://sebastienrousseau.com)
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Redis CLI Configuration (~/.config/redis/redisclirc)
|
|
2
|
-
# Sourced by redis-cli via REDISCLI_RCFILE environment variable
|
|
3
|
-
|
|
4
|
-
# History file location
|
|
5
|
-
# Set via: export REDISCLI_HISTFILE=~/.local/share/redis/history
|
|
6
|
-
|
|
7
|
-
# Note: redis-cli has limited configuration options.
|
|
8
|
-
# Most customization is done via environment variables:
|
|
9
|
-
#
|
|
10
|
-
# REDISCLI_HISTFILE - History file location
|
|
11
|
-
# REDISCLI_AUTH - Default password (not recommended, use --askpass)
|
|
12
|
-
# REDISCLI_CLUSTER_SLAVES - Show slave nodes in cluster commands
|
|
13
|
-
#
|
|
14
|
-
# Common usage patterns:
|
|
15
|
-
#
|
|
16
|
-
# Connect to local Redis:
|
|
17
|
-
# redis-cli
|
|
18
|
-
#
|
|
19
|
-
# Connect to remote Redis:
|
|
20
|
-
# redis-cli -h hostname -p 6379
|
|
21
|
-
#
|
|
22
|
-
# Connect with authentication:
|
|
23
|
-
# redis-cli --askpass
|
|
24
|
-
#
|
|
25
|
-
# Run command and exit:
|
|
26
|
-
# redis-cli PING
|
|
27
|
-
#
|
|
28
|
-
# Monitor all commands:
|
|
29
|
-
# redis-cli MONITOR
|
|
30
|
-
#
|
|
31
|
-
# Get server info:
|
|
32
|
-
# redis-cli INFO
|
|
33
|
-
#
|
|
34
|
-
# Cluster mode:
|
|
35
|
-
# redis-cli -c -h hostname
|
|
36
|
-
|
|
37
|
-
# Useful aliases (defined in shell aliases):
|
|
38
|
-
# alias redis='redis-cli'
|
|
39
|
-
# alias redis-info='redis-cli INFO'
|
|
40
|
-
# alias redis-keys='redis-cli --scan'
|
|
41
|
-
# alias redis-monitor='redis-cli MONITOR'
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
2
|
-
# Smart case search
|
|
3
|
-
--smart-case
|
|
4
|
-
# Add custom type definitions
|
|
5
|
-
--type-add=web:*.{html,css,js,ts,tsx,jsx,vue,svelte}
|
|
6
|
-
--type-add=config:*.{toml,yaml,yml,json,ini,conf}
|
|
7
|
-
--type-add=shell:*.{sh,bash,zsh,fish}
|
|
8
|
-
# Max columns before truncation
|
|
9
|
-
--max-columns=200
|
|
10
|
-
--max-columns-preview
|
|
11
|
-
# Ignore common directories
|
|
12
|
-
--glob=!.git
|
|
13
|
-
--glob=!node_modules
|
|
14
|
-
--glob=!.venv
|
|
15
|
-
--glob=!target
|
|
16
|
-
--glob=!dist
|
|
17
|
-
--glob=!build
|
|
18
|
-
--glob=!*.min.js
|
|
19
|
-
--glob=!*.min.css
|
|
20
|
-
--glob=!package-lock.json
|
|
21
|
-
--glob=!yarn.lock
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc / dot_config/fish/conf.d/; inherits set -euo pipefail from the caller.
|
|
3
|
-
## Construct PATH hierarchy for all language runtimes and tools.
|
|
4
|
-
##
|
|
5
|
-
## Sets PATH precedence: Local bin > Language runtimes > Homebrew > System.
|
|
6
|
-
## This file is generated by Chezmoi and should not be edited directly.
|
|
7
|
-
##
|
|
8
|
-
## # Data Flow
|
|
9
|
-
## ~/.zshenv (XDG vars) → 00-core-paths.sh (PATH) → tool-specific init
|
|
10
|
-
##
|
|
11
|
-
## # Platform Notes
|
|
12
|
-
## ### Platform: macOS
|
|
13
|
-
## - Adds /opt/homebrew/bin for Apple Silicon
|
|
14
|
-
## - Includes macOS application paths (VS Code, Little Snitch)
|
|
15
|
-
##
|
|
16
|
-
## ### Platform: Linux
|
|
17
|
-
## - Homebrew section skipped if /opt/homebrew absent
|
|
18
|
-
## - Standard FHS paths (/usr/bin, /usr/local/bin)
|
|
19
|
-
##
|
|
20
|
-
## ### Platform: WSL
|
|
21
|
-
## - Works with both Linux and Windows paths
|
|
22
|
-
## - Windows PATH inherited via interop
|
|
23
|
-
##
|
|
24
|
-
## # Dependencies
|
|
25
|
-
## - Bash 4+ for associative array PATH deduplication
|
|
26
|
-
## - Falls back to awk for Bash 3.x
|
|
27
|
-
##
|
|
28
|
-
## # Idempotency
|
|
29
|
-
## Safe to source multiple times. Deduplicates PATH entries.
|
|
30
|
-
|
|
31
|
-
# Helper: prepend path if directory exists (moves to front if already present)
|
|
32
|
-
path_prepend() {
|
|
33
|
-
local dir="$1"
|
|
34
|
-
[[ -n "$dir" && -d "$dir" ]] || return 0
|
|
35
|
-
# Remove existing entry (if any) then prepend — ensures correct precedence
|
|
36
|
-
PATH="${PATH/#"$dir:"/}" # leading
|
|
37
|
-
PATH="${PATH/%":$dir"/}" # trailing
|
|
38
|
-
PATH="${PATH//":$dir:"/:}" # middle
|
|
39
|
-
[[ "$PATH" == "$dir" ]] && PATH="" # sole entry
|
|
40
|
-
PATH="$dir${PATH:+:$PATH}"
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
# 1. System Paths (Prepend, but will be pushed down by later prepends)
|
|
44
|
-
# Use path_prepend so existing entries are removed first — avoids the
|
|
45
|
-
# duplicate-system-path bloat that `PATH="...:${PATH}"` produces when
|
|
46
|
-
# the parent shell already had these (e.g. macOS launchd default PATH).
|
|
47
|
-
path_prepend "/sbin"
|
|
48
|
-
path_prepend "/usr/sbin"
|
|
49
|
-
path_prepend "/bin"
|
|
50
|
-
path_prepend "/usr/bin"
|
|
51
|
-
path_prepend "/usr/local/bin"
|
|
52
|
-
|
|
53
|
-
# 2. Homebrew Paths (Prepend -> Higher Priority)
|
|
54
|
-
path_prepend "/opt/homebrew/sbin"
|
|
55
|
-
path_prepend "/opt/homebrew/bin"
|
|
56
|
-
|
|
57
|
-
# 3. Language Runtimes
|
|
58
|
-
# Ruby (Homebrew)
|
|
59
|
-
path_prepend "/opt/homebrew/opt/ruby/bin"
|
|
60
|
-
# Ruby (User Gems)
|
|
61
|
-
path_prepend "${HOME}/.gem/ruby/bin"
|
|
62
|
-
|
|
63
|
-
# Python (Pipx)
|
|
64
|
-
export PIPX_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/pipx"
|
|
65
|
-
export PIPX_BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
|
|
66
|
-
path_prepend "${PIPX_BIN_DIR}"
|
|
67
|
-
|
|
68
|
-
# .NET Tools
|
|
69
|
-
path_prepend "${HOME}/.dotnet/tools"
|
|
70
|
-
|
|
71
|
-
# Rust (Cargo)
|
|
72
|
-
path_prepend "${HOME}/.cargo/bin"
|
|
73
|
-
|
|
74
|
-
# Go
|
|
75
|
-
path_prepend "${HOME}/go/bin"
|
|
76
|
-
|
|
77
|
-
# Bun
|
|
78
|
-
export BUN_INSTALL="${HOME}/.bun"
|
|
79
|
-
path_prepend "${BUN_INSTALL}/bin"
|
|
80
|
-
|
|
81
|
-
# Kubeconfig merge logic (merge all configs in ~/.kube/config.d/)
|
|
82
|
-
# Lazy-loaded via kubectl wrapper to avoid startup cost
|
|
83
|
-
_lazy_load_kubeconfig() {
|
|
84
|
-
if [[ -d "${HOME}/.kube/config.d" ]]; then
|
|
85
|
-
local kubeconfig_extra=""
|
|
86
|
-
for conf in "${HOME}/.kube/config.d"/*; do
|
|
87
|
-
[[ -f "$conf" ]] && kubeconfig_extra="${kubeconfig_extra}:${conf}"
|
|
88
|
-
done
|
|
89
|
-
[[ -n "$kubeconfig_extra" ]] && export KUBECONFIG="${HOME}/.kube/config${kubeconfig_extra}"
|
|
90
|
-
fi
|
|
91
|
-
unset -f kubectl _lazy_load_kubeconfig 2>/dev/null
|
|
92
|
-
command kubectl "$@"
|
|
93
|
-
}
|
|
94
|
-
# Only wrap kubectl if config.d exists and kubectl is installed
|
|
95
|
-
if [[ -d "${HOME}/.kube/config.d" ]]; then
|
|
96
|
-
kubectl() { _lazy_load_kubeconfig "$@"; }
|
|
97
|
-
fi
|
|
98
|
-
# Still honor explicit KUBECONFIG or in-cluster detection
|
|
99
|
-
if [[ -n "${KUBERNETES_SERVICE_HOST:-}" ]] || [[ -n "${KUBECONFIG:-}" ]]; then
|
|
100
|
-
_lazy_load_kubeconfig --version >/dev/null 2>&1 || true
|
|
101
|
-
fi
|
|
102
|
-
|
|
103
|
-
# Node.js (Global)
|
|
104
|
-
path_prepend "${HOME}/.node_modules/bin"
|
|
105
|
-
|
|
106
|
-
# Lua (Luarocks)
|
|
107
|
-
path_prepend "${HOME}/.luarocks/bin"
|
|
108
|
-
|
|
109
|
-
# 4. macOS System Paths
|
|
110
|
-
{{- if eq .chezmoi.os "darwin" }}
|
|
111
|
-
path_prepend "/Library/Apple/usr/bin"
|
|
112
|
-
{{- end }}
|
|
113
|
-
|
|
114
|
-
# 5. Local Bin and Tools (Highest Priority)
|
|
115
|
-
path_prepend "${HOME}/.fzf/bin"
|
|
116
|
-
path_prepend "${HOME}/.local/bin"
|
|
117
|
-
path_prepend "${HOME}/.local/share/mise/shims"
|
|
118
|
-
path_prepend "${HOME}/bin"
|
|
119
|
-
|
|
120
|
-
# Deduplicate PATH (Keep first occurrence to maintain precedence)
|
|
121
|
-
# Standard Zsh handles this with 'typeset -U path', but for bash compatibility/subshells:
|
|
122
|
-
if [ -z "${ZSH_VERSION:-}" ]; then
|
|
123
|
-
# Use native bash associative arrays for O(n) deduplication (bash 4+)
|
|
124
|
-
if [[ ${BASH_VERSION%%.*} -ge 4 ]]; then
|
|
125
|
-
declare -A _seen_paths
|
|
126
|
-
IFS=':' read -ra _path_array <<< "$PATH"
|
|
127
|
-
_new_path=""
|
|
128
|
-
for _dir in "${_path_array[@]}"; do
|
|
129
|
-
if [[ -n "$_dir" && -z "${_seen_paths[$_dir]:-}" ]]; then
|
|
130
|
-
_seen_paths[$_dir]=1
|
|
131
|
-
_new_path="${_new_path:+$_new_path:}$_dir"
|
|
132
|
-
fi
|
|
133
|
-
done
|
|
134
|
-
PATH="$_new_path"
|
|
135
|
-
unset _seen_paths _path_array _new_path _dir
|
|
136
|
-
else
|
|
137
|
-
# Fallback to awk for bash 3.x
|
|
138
|
-
PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
|
|
139
|
-
fi
|
|
140
|
-
export PATH
|
|
141
|
-
fi
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
3
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
|
|
4
|
-
|
|
5
|
-
# 05-safety.sh: Core Safety Settings
|
|
6
|
-
# Part of the "Core Layer"
|
|
7
|
-
|
|
8
|
-
# Set sane defaults for safety, though be careful with -e in interactive shell
|
|
9
|
-
# Use 'set -o pipefail' to catch pipeline errors if supported
|
|
10
|
-
if [[ -n "$BASH_VERSION" ]] || [[ -n "$ZSH_VERSION" ]]; then
|
|
11
|
-
set -o pipefail 2>/dev/null || true
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
# Prevent file overwrite with redirection (force use of >|)
|
|
15
|
-
set -o noclobber
|
|
16
|
-
|
|
17
|
-
# Strict destructive-operation confirmation helper.
|
|
18
|
-
# Enabled when DOTFILES_ALIAS_STRICT_MODE=1.
|
|
19
|
-
dot_confirm_destructive() {
|
|
20
|
-
local action="${1:-destructive operation}"
|
|
21
|
-
local log_file="${DOTFILES_DESTRUCTIVE_LOG:-$HOME/.dotfiles_destruction.log}"
|
|
22
|
-
local ts
|
|
23
|
-
|
|
24
|
-
if [[ "${DOTFILES_ALIAS_STRICT_MODE:-0}" != "1" ]]; then
|
|
25
|
-
return 0
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
if [[ ! -t 0 ]]; then
|
|
29
|
-
if [[ "${DOTFILES_FORCE_DESTRUCTIVE:-0}" == "1" ]]; then
|
|
30
|
-
ts="$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date)"
|
|
31
|
-
printf "%s\tuser=%s\thost=%s\tpwd=%s\taction=%s\tmode=forced\n" \
|
|
32
|
-
"$ts" "${USER:-unknown}" "${HOSTNAME:-unknown}" "${PWD:-unknown}" "$action" >> "$log_file" 2>/dev/null || true
|
|
33
|
-
return 0
|
|
34
|
-
fi
|
|
35
|
-
echo "[STRICT] Refusing ${action} without TTY confirmation." >&2
|
|
36
|
-
return 1
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
echo "[STRICT] About to run: ${action}" >&2
|
|
40
|
-
read -r -p "Type YES to continue: " confirm
|
|
41
|
-
if [[ "$confirm" == "YES" ]]; then
|
|
42
|
-
ts="$(date -u +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || date)"
|
|
43
|
-
printf "%s\tuser=%s\thost=%s\tpwd=%s\taction=%s\tmode=confirmed\n" \
|
|
44
|
-
"$ts" "${USER:-unknown}" "${HOSTNAME:-unknown}" "${PWD:-unknown}" "$action" >> "$log_file" 2>/dev/null || true
|
|
45
|
-
return 0
|
|
46
|
-
fi
|
|
47
|
-
return 1
|
|
48
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
3
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
|
|
4
|
-
|
|
5
|
-
# 10-secrets.sh: Optional secret bucket auto-loader
|
|
6
|
-
# Loads configured secret buckets into the current shell via `dot env load`.
|
|
7
|
-
|
|
8
|
-
if [[ "${DOTFILES_SECRETS_AUTO_LOAD:-0}" != "1" ]]; then
|
|
9
|
-
return 0 2>/dev/null || exit 0
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
if ! command -v dot >/dev/null 2>&1; then
|
|
13
|
-
return 0 2>/dev/null || exit 0
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
_dot_secret_buckets=()
|
|
17
|
-
if [[ -n "${DOTFILES_SECRETS_BUCKET_NAMES:-}" ]]; then
|
|
18
|
-
while IFS= read -r _bucket; do
|
|
19
|
-
[[ -n "$_bucket" ]] || continue
|
|
20
|
-
_dot_secret_buckets+=("$_bucket")
|
|
21
|
-
done < <(printf '%s' "${DOTFILES_SECRETS_BUCKET_NAMES}" | tr ',' '\n')
|
|
22
|
-
fi
|
|
23
|
-
|
|
24
|
-
for _bucket in "${_dot_secret_buckets[@]}"; do
|
|
25
|
-
[[ -n "$_bucket" ]] || continue
|
|
26
|
-
_dot_secret_out="$(dot env load "$_bucket" 2>/dev/null || true)"
|
|
27
|
-
[[ -n "$_dot_secret_out" ]] || continue
|
|
28
|
-
case "$_dot_secret_out" in
|
|
29
|
-
export\ * | typeset\ * | unset\ *)
|
|
30
|
-
# Use process substitution instead of eval for safety
|
|
31
|
-
# shellcheck disable=SC1090
|
|
32
|
-
. /dev/stdin <<<"$_dot_secret_out"
|
|
33
|
-
;;
|
|
34
|
-
*)
|
|
35
|
-
# Ignore non-shell output
|
|
36
|
-
;;
|
|
37
|
-
esac
|
|
38
|
-
unset _dot_secret_out
|
|
39
|
-
done
|
|
40
|
-
|
|
41
|
-
unset _dot_secret_buckets _bucket
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
|
|
3
|
-
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v{{ .dotfiles_version }})
|
|
4
|
-
# FZF Shared Configuration for all shells (Zsh, Bash, Fish)
|
|
5
|
-
|
|
6
|
-
# Set FZF defaults to use 'fd' for speed and 'bat' for previews
|
|
7
|
-
export FZF_DEFAULT_COMMAND='fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'
|
|
8
|
-
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
|
9
|
-
|
|
10
|
-
# Sublime FZF Colors (Catppuccin Mocha)
|
|
11
|
-
export FZF_DEFAULT_OPTS="
|
|
12
|
-
--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8
|
|
13
|
-
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
|
|
14
|
-
--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
|
|
15
|
-
--multi --layout=reverse --border --height=40%
|
|
16
|
-
--preview-window='right:60%:wrap'
|
|
17
|
-
--preview 'if [ -d {} ]; then eza --tree --level 2 --icons {} | head -200; else bat --style=numbers --color=always --line-range :500 {} 2>/dev/null || cat {} | head -500; fi'"
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Copyright (c) 2015-2026 Dotfiles. All rights reserved.
|
|
3
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc; inherits set -euo pipefail from the caller.
|
|
4
|
-
|
|
5
|
-
# Set ls colors with GNU/BSD detection and caching
|
|
6
|
-
# GNU coreutils: LS_COLORS via dircolors
|
|
7
|
-
# BSD/macOS: LSCOLORS + CLICOLOR
|
|
8
|
-
|
|
9
|
-
_dircolors_cache="${XDG_CACHE_HOME:-$HOME/.cache}/shell/dircolors.sh"
|
|
10
|
-
|
|
11
|
-
_dircolors_cached_eval() {
|
|
12
|
-
local cmd="$1"
|
|
13
|
-
shift
|
|
14
|
-
if [ -f "$_dircolors_cache" ]; then
|
|
15
|
-
# shellcheck disable=SC1090
|
|
16
|
-
. "$_dircolors_cache"
|
|
17
|
-
else
|
|
18
|
-
mkdir -p "$(dirname "$_dircolors_cache")"
|
|
19
|
-
"$cmd" "$@" >"$_dircolors_cache" 2>/dev/null
|
|
20
|
-
# shellcheck disable=SC1090
|
|
21
|
-
. "$_dircolors_cache"
|
|
22
|
-
fi
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
if command -v dircolors >/dev/null 2>&1; then
|
|
26
|
-
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors" ]; then
|
|
27
|
-
_dircolors_cached_eval dircolors -b "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors"
|
|
28
|
-
else
|
|
29
|
-
_dircolors_cached_eval dircolors -b
|
|
30
|
-
fi
|
|
31
|
-
else
|
|
32
|
-
case "$(uname -s 2>/dev/null)" in
|
|
33
|
-
Darwin*)
|
|
34
|
-
export CLICOLOR=1
|
|
35
|
-
export LSCOLORS="ExFxCxDxBxegedabagacad"
|
|
36
|
-
if command -v gdircolors >/dev/null 2>&1; then
|
|
37
|
-
_dircolors_cached_eval gdircolors -b
|
|
38
|
-
fi
|
|
39
|
-
;;
|
|
40
|
-
esac
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
unset -f _dircolors_cached_eval
|
|
44
|
-
unset _dircolors_cache
|
|
45
|
-
|
|
46
|
-
# Ensure LS_COLORS is set for Zsh completion when only LSCOLORS exists
|
|
47
|
-
if [ -z "${LS_COLORS:-}" ] && [ -n "${LSCOLORS:-}" ]; then
|
|
48
|
-
export LS_COLORS=""
|
|
49
|
-
fi
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc / fish bridge; inherits set -euo pipefail from the caller.
|
|
3
|
-
|
|
4
|
-
# Core Functions (Generated by Chezmoi) - minimal set
|
|
5
|
-
|
|
6
|
-
{{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/utils/*.sh" -}}
|
|
7
|
-
{{- $files := glob $globPattern -}}
|
|
8
|
-
{{- range $files -}}
|
|
9
|
-
{{- include . }}
|
|
10
|
-
{{- "\n" -}}
|
|
11
|
-
{{- end -}}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc / fish bridge; inherits set -euo pipefail from the caller.
|
|
3
|
-
|
|
4
|
-
# Universal Functions (Generated by Chezmoi)
|
|
5
|
-
|
|
6
|
-
{{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/**/*.sh" }}
|
|
7
|
-
{{- $files := glob $globPattern }}
|
|
8
|
-
{{- range $files }}
|
|
9
|
-
{{- include . }}
|
|
10
|
-
{{- "\n" }}
|
|
11
|
-
{{- end }}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Sourced by dot_zshrc.tmpl / dot_bashrc (lazy layer); inherits set -euo pipefail from the caller.
|
|
3
|
-
|
|
4
|
-
# Extra Functions (Generated by Chezmoi) - loaded on demand
|
|
5
|
-
# Group-wise lazy loaders to reduce first-load cost.
|
|
6
|
-
|
|
7
|
-
{{ $root := . }}
|
|
8
|
-
{{ $groupsPath := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions/groups.json" }}
|
|
9
|
-
{{ $groups := (fromJson (include $groupsPath)) }}
|
|
10
|
-
|
|
11
|
-
{{ range $group, $files := $groups }}
|
|
12
|
-
_dotfiles_load_group_{{ $group }}() {
|
|
13
|
-
unset -f _dotfiles_load_group_{{ $group }} 2>/dev/null
|
|
14
|
-
# shellcheck disable=SC1090
|
|
15
|
-
. /dev/stdin <<'__DOTFILES_EOF__'
|
|
16
|
-
{{ range $files }}
|
|
17
|
-
{{ $p := joinPath $root.chezmoi.sourceDir ".chezmoitemplates/functions" . }}
|
|
18
|
-
{{ include $p }}
|
|
19
|
-
|
|
20
|
-
{{ end }}
|
|
21
|
-
__DOTFILES_EOF__
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
{{ range $files }}
|
|
25
|
-
{{ $func := trimSuffix ".sh" (base .) }}
|
|
26
|
-
{{ $func }}() { _dotfiles_load_group_{{ $group }}; {{ $func }} "$@"; }
|
|
27
|
-
|
|
28
|
-
{{ end }}
|
|
29
|
-
{{ end }}
|
|
30
|
-
|
|
31
|
-
# Pueue Background Task Wrappers (2026 Strategy)
|
|
32
|
-
# Use these for long-running blocking tasks.
|
|
33
|
-
if command -v pueue >/dev/null 2>&1; then
|
|
34
|
-
# silent-run: Submit a command to pueue and forget about it.
|
|
35
|
-
silent-run() {
|
|
36
|
-
local cmd="$*"
|
|
37
|
-
if [[ -z "$cmd" ]]; then
|
|
38
|
-
echo "Usage: silent-run <command>"
|
|
39
|
-
return 1
|
|
40
|
-
fi
|
|
41
|
-
pueue add -- "$cmd"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
# notify-run: Submit a command and notify when done.
|
|
45
|
-
notify-run() {
|
|
46
|
-
local cmd="$*"
|
|
47
|
-
if [[ -z "$cmd" ]]; then
|
|
48
|
-
echo "Usage: notify-run <command>"
|
|
49
|
-
return 1
|
|
50
|
-
fi
|
|
51
|
-
local task_id
|
|
52
|
-
task_id=$(pueue add --print-id -- "$cmd")
|
|
53
|
-
echo "Task $task_id submitted: $cmd"
|
|
54
|
-
(pueue wait "$task_id" && echo "✅ Task $task_id finished: $cmd") &!
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
# bg-upgrade: Background upgrade of all package managers.
|
|
58
|
-
bg-upgrade() {
|
|
59
|
-
echo "🚀 Starting background upgrades (Homebrew, Nix, Chezmoi)..."
|
|
60
|
-
if command -v brew >/dev/null; then silent-run "brew upgrade"; fi
|
|
61
|
-
if command -v nix >/dev/null; then silent-run "nix flake update"; fi
|
|
62
|
-
silent-run "chezmoi update"
|
|
63
|
-
echo "Check status with 'pueue status'"
|
|
64
|
-
}
|
|
65
|
-
fi
|