@sebastienrousseau/dotfiles 0.2.481 → 0.2.499
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/docs/ARCHITECTURE.md +29 -196
- package/docs/COMPLIANCE.md +10 -10
- package/docs/COPYRIGHT +3 -4
- package/docs/OPERATIONS.md +38 -65
- package/docs/PLAN.md +3 -3
- package/docs/PR_DESCRIPTION.md +85 -84
- package/docs/ROADMAP.md +11 -11
- package/docs/ROADMAP_legacy.md +556 -0
- package/docs/SECURITY_CHECKLIST.md +1 -1
- package/docs/TASK.md +4 -4
- package/docs/WALKTHROUGH.md +33 -152
- package/package.json +17 -5
- package/scripts/backup.sh +142 -0
- package/scripts/banner.sh +20 -0
- package/scripts/benchmark.sh +20 -0
- package/scripts/build.sh +41 -0
- package/scripts/clean.sh +31 -0
- package/scripts/compile.sh +54 -0
- package/scripts/copy.sh +108 -0
- package/scripts/{tools/detect-collisions.py → detect-collisions.py} +1 -1
- package/scripts/doctor.sh +79 -0
- package/scripts/dotfiles.sh +63 -0
- package/scripts/download.sh +35 -0
- package/scripts/help.sh +57 -0
- package/scripts/lock-configs.sh +57 -0
- package/scripts/package.sh +46 -0
- package/scripts/ssh.sh +55 -0
- package/scripts/teleport.sh +23 -0
- package/scripts/{tests/test-aliases.sh → test-aliases.sh} +3 -3
- package/scripts/test_smoke.sh +88 -0
- package/scripts/unpack.sh +28 -0
- package/scripts/{diagnostics/verify_state.sh → verify_state.sh} +21 -21
- package/templates/projects/go/README.md +0 -4
- package/templates/projects/node/README.md +0 -4
- package/templates/projects/python/README.md +0 -4
- package/templates/projects/python/pyproject.toml +0 -15
- package/CHANGELOG.md +0 -285
- package/LICENSE +0 -1283
- package/README.md +0 -315
- package/docs/ALIASES.md +0 -128
- 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/KEY_ROTATION.md +0 -219
- package/docs/LEGACY_ROADMAP.md +0 -142
- package/docs/NEOVIM_IDE_GUIDE.md +0 -52
- package/docs/README.md +0 -269
- package/docs/REPO_AUDIT.md +0 -23
- package/docs/SCREENSHOTS.md +0 -116
- package/docs/SECRETS.md +0 -76
- package/docs/SECURITY.md +0 -30
- package/docs/TESTING.md +0 -190
- package/docs/TOOLS.md +0 -146
- package/docs/TROUBLESHOOTING.md +0 -112
- package/docs/UTILS.md +0 -105
- package/docs/WSL2_NIX_TROUBLESHOOTING.md +0 -723
- package/docs/adr/ADR-001-ci-cd-pipeline.md +0 -101
- package/docs/adr/ADR-002-shell-performance.md +0 -121
- package/docs/adr/ADR-003-security-first.md +0 -140
- package/docs/adr/ADR-004-cli-architecture.md +0 -157
- package/docs/adr/ADR-005-chezmoi-choice.md +0 -89
- package/docs/adr/ADR-006-shell-selection.md +0 -115
- package/docs/adr/README.md +0 -33
- package/docs/themes/README.md +0 -20
- package/dot_config/aider/aider.conf.yml +0 -32
- package/dot_config/alacritty/alacritty.toml.tmpl +0 -483
- package/dot_config/ansible/ansible.cfg.tmpl +0 -11
- package/dot_config/atuin/config.toml +0 -23
- package/dot_config/bat/config +0 -8
- 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 -49
- package/dot_config/clippy.toml +0 -55
- 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.tmpl +0 -15
- package/dot_config/dotfiles/boot/README.md +0 -11
- package/dot_config/dotfiles/grub/README.md +0 -11
- package/dot_config/dotfiles/lock/README.md +0 -11
- package/dot_config/dotfiles/versions.env.tmpl +0 -19
- 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/fastfetch/config.jsonc +0 -28
- package/dot_config/firefox/user.js +0 -8
- package/dot_config/flatpak/flatpak.list +0 -4
- package/dot_config/fontconfig/fonts.conf.tmpl +0 -44
- package/dot_config/gem/gemrc +0 -9
- package/dot_config/gh/config.yml +0 -12
- package/dot_config/ghostty/config.tmpl +0 -661
- package/dot_config/git/attributes +0 -12
- package/dot_config/git/config.tmpl +0 -77
- package/dot_config/git/ignore +0 -27
- package/dot_config/gnupg/gpg-agent.conf.tmpl +0 -11
- package/dot_config/go/aliases.sh +0 -61
- package/dot_config/go/env.sh +0 -24
- 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 -305
- package/dot_config/gtk-3.0/settings.ini.tmpl +0 -66
- package/dot_config/gtk-4.0/gtk.css.tmpl +0 -309
- package/dot_config/gtk-4.0/settings.ini.tmpl +0 -21
- package/dot_config/htop/htoprc +0 -20
- package/dot_config/ice/README.md +0 -13
- package/dot_config/inputrc +0 -2
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +0 -5
- package/dot_config/just/justfile +0 -104
- package/dot_config/k9s/config.yaml.tmpl +0 -65
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +0 -116
- package/dot_config/karabiner/karabiner.json +0 -14
- package/dot_config/kitty/kitty.conf.tmpl +0 -517
- package/dot_config/lazydocker/config.yml +0 -186
- package/dot_config/lazygit/config.yml +0 -23
- package/dot_config/lsd/config.yaml +0 -19
- package/dot_config/mas/masapps.txt +0 -5
- package/dot_config/minikube/config.json +0 -13
- package/dot_config/mise/config.toml +0 -41
- package/dot_config/mongosh/mongoshrc.js +0 -67
- package/dot_config/mycli/myclirc +0 -67
- package/dot_config/nano/nanorc +0 -28
- package/dot_config/ncdu/config +0 -12
- package/dot_config/nvim/init.lua +0 -4
- package/dot_config/nvim/lazy-lock.json +0 -27
- package/dot_config/nvim/lua/config/autocmds.lua +0 -63
- package/dot_config/nvim/lua/config/keymaps.lua +0 -87
- package/dot_config/nvim/lua/config/lazy.lua +0 -34
- package/dot_config/nvim/lua/config/options.lua +0 -48
- package/dot_config/nvim/lua/plugins/coding.lua +0 -234
- package/dot_config/nvim/lua/plugins/dap.lua +0 -201
- package/dot_config/nvim/lua/plugins/editor.lua +0 -59
- package/dot_config/nvim/lua/plugins/git.lua +0 -9
- package/dot_config/nvim/lua/plugins/lsp.lua +0 -221
- package/dot_config/nvim/lua/plugins/markdown.lua +0 -17
- package/dot_config/nvim/lua/plugins/rust.lua +0 -33
- package/dot_config/nvim/lua/plugins/sessions.lua +0 -32
- package/dot_config/nvim/lua/plugins/ui.lua +0 -537
- package/dot_config/nvim/snippets/all.lua +0 -9
- package/dot_config/nvim/snippets/python.lua +0 -16
- package/dot_config/pip/pip.conf.tmpl +0 -32
- package/dot_config/pypoetry/config.toml.tmpl +0 -6
- package/dot_config/pyrightconfig.json.tmpl +0 -5
- package/dot_config/raycast/README.md +0 -13
- package/dot_config/redis/redisclirc +0 -41
- package/dot_config/shell/00-container-detect.sh +0 -53
- package/dot_config/shell/00-core-paths.sh.tmpl +0 -95
- 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/50-logic-functions.sh.tmpl +0 -10
- package/dot_config/shell/90-theme-switch.sh +0 -70
- package/dot_config/shell/90-ux-aliases.sh.tmpl +0 -35
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +0 -23
- package/dot_config/shell/Brewfile +0 -207
- package/dot_config/shell/Brewfile.cask +0 -92
- package/dot_config/shell/Brewfile.cli +0 -119
- package/dot_config/shell/README.md +0 -267
- 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 -124
- package/dot_config/task/Taskfile.yml +0 -86
- package/dot_config/tflint/tflint.hcl.tmpl +0 -9
- package/dot_config/tmux/tmux.conf.tmpl +0 -181
- package/dot_config/topgrade/topgrade.toml.tmpl +0 -42
- package/dot_config/vscode/extensions.txt +0 -11
- package/dot_config/vscode/settings.json.tmpl +0 -123
- package/dot_config/waybar/style.css +0 -8
- package/dot_config/wezterm/wezterm.lua.tmpl +0 -236
- package/dot_config/wget/wgetrc +0 -12
- package/dot_config/yarn/yarnrc.yml.tmpl +0 -36
- package/dot_config/yazi/yazi.toml +0 -40
- package/dot_config/zellij/config.kdl +0 -79
- package/dot_config/zsh/dot_zprofile +0 -13
- package/dot_config/zsh/dot_zshenv +0 -6
- package/dot_config/zsh/dot_zshrc.tmpl +0 -199
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +0 -5
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +0 -28
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +0 -22
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +0 -123
- package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +0 -20
- package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +0 -9
- package/dot_local/bin/executable_ai_core +0 -130
- package/dot_local/bin/executable_b64 +0 -59
- package/dot_local/bin/executable_dot +0 -178
- package/dot_local/bin/executable_dot_completion +0 -55
- package/dot_local/bin/executable_epoch +0 -62
- package/dot_local/bin/executable_extract +0 -108
- package/dot_local/bin/executable_git-ai-commit +0 -160
- package/dot_local/bin/executable_git-ai-diff +0 -154
- package/dot_local/bin/executable_hash +0 -123
- package/dot_local/bin/executable_hex +0 -79
- package/dot_local/bin/executable_ip +0 -37
- package/dot_local/bin/executable_jsonv +0 -54
- package/dot_local/bin/executable_jwt +0 -78
- package/dot_local/bin/executable_kill-port +0 -59
- package/dot_local/bin/executable_lorem +0 -103
- package/dot_local/bin/executable_regex +0 -96
- package/dot_local/bin/executable_tmux-sessionizer +0 -187
- package/dot_local/bin/executable_tour +0 -137
- package/dot_local/bin/executable_update +0 -108
- package/dot_local/bin/executable_uuid +0 -57
- package/dot_local/bin/executable_yamlv +0 -39
- package/dot_local/bin/executable_zig-install +0 -89
- package/dot_local/bin/voice_ops +0 -7
- package/dot_local/share/bash-completion/completions/dot +0 -54
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/install.sh +0 -255
- package/scripts/ci/validate-ci-config.sh +0 -222
- package/scripts/demo/record.sh +0 -41
- package/scripts/diagnostics/benchmark.sh +0 -201
- package/scripts/diagnostics/doctor.sh +0 -115
- package/scripts/diagnostics/drift-dashboard.sh +0 -26
- package/scripts/diagnostics/health.sh +0 -356
- package/scripts/diagnostics/history-analysis.sh +0 -77
- package/scripts/diagnostics/security-score.sh +0 -392
- package/scripts/dot/commands/appearance.sh +0 -63
- package/scripts/dot/commands/core.sh +0 -130
- package/scripts/dot/commands/diagnostics.sh +0 -100
- package/scripts/dot/commands/meta.sh +0 -117
- package/scripts/dot/commands/restore.sh +0 -209
- package/scripts/dot/commands/secrets.sh +0 -81
- package/scripts/dot/commands/security.sh +0 -73
- package/scripts/dot/commands/tools.sh +0 -228
- package/scripts/dot/lib/utils.sh +0 -72
- package/scripts/fonts/install-nerd-fonts.sh +0 -59
- package/scripts/fonts/patch-fonts.sh +0 -34
- package/scripts/ops/chezmoi-apply.sh +0 -42
- package/scripts/ops/chezmoi-diff.sh +0 -14
- package/scripts/ops/chezmoi-remove.sh +0 -43
- package/scripts/ops/chezmoi-update.sh +0 -16
- package/scripts/ops/heal.sh +0 -466
- package/scripts/ops/health-check.sh +0 -380
- package/scripts/ops/rollback.sh +0 -531
- package/scripts/ops/teleport.sh +0 -32
- package/scripts/secrets/age-init.sh +0 -69
- package/scripts/secrets/create-secrets-file.sh +0 -44
- package/scripts/secrets/encrypt-ssh-key.sh +0 -42
- package/scripts/security/backup.sh +0 -17
- package/scripts/security/dns-doh.sh +0 -29
- package/scripts/security/encryption-check.sh +0 -39
- package/scripts/security/enforce-policies.sh +0 -339
- package/scripts/security/firewall.sh +0 -34
- package/scripts/security/lock-configs.sh +0 -57
- package/scripts/security/lock-screen.sh +0 -33
- package/scripts/security/manage-secrets.sh +0 -415
- package/scripts/security/telemetry-kill.sh +0 -28
- package/scripts/security/usb-safety.sh +0 -29
- 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-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/scripts/theme/apply-gnome-theme.sh +0 -297
- package/scripts/theme/install-boot-logo.sh +0 -61
- package/scripts/theme/install-catppuccin-themes.sh +0 -346
- package/scripts/theme/install-cursors.sh +0 -24
- package/scripts/theme/install-file-icons.sh +0 -25
- package/scripts/theme/install-grub-theme.sh +0 -51
- package/scripts/theme/install-lock-icon.sh +0 -29
- package/scripts/theme/switch.sh +0 -250
- package/scripts/theme/wallpaper-rotate.sh +0 -82
- package/scripts/theme/wallpaper-sync.sh +0 -42
- package/scripts/tools/cmatrix.sh +0 -20
- package/scripts/tools/emoji-picker.sh +0 -45
- package/scripts/tools/figlet-banner.sh +0 -17
- package/scripts/tools/log-rotate.sh +0 -29
- package/scripts/tools/lolcat-wrap.sh +0 -18
- package/scripts/tools/pipes.sh +0 -47
- package/scripts/tuning/linux.sh +0 -175
- package/scripts/tuning/macos.sh +0 -46
- package/templates/projects/molecule/README.md +0 -7
- package/templates/projects/molecule/converge.yml +0 -7
- package/templates/projects/molecule/molecule.yml +0 -16
- package/templates/projects/packer/README.md +0 -15
- package/templates/projects/packer/main.pkr.hcl +0 -15
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
# Interactive Tour using Gum
|
|
3
|
-
# Part of Dotfiles v0.2.480
|
|
4
|
-
|
|
5
|
-
if ! command -v gum >/dev/null; then
|
|
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
|
-
clear
|
|
26
|
-
|
|
27
|
-
# Intro (match UI header style)
|
|
28
|
-
banner='██████╗ ██████╗ ████████╗███████╗██╗██╗ ███████╗███████╗
|
|
29
|
-
██╔══██╗██╔═══██╗╚══██╔══╝██╔════╝██║██║ ██╔════╝██╔════╝
|
|
30
|
-
██║ ██║██║ ██║ ██║ █████╗ ██║██║ █████╗ ███████╗
|
|
31
|
-
██║ ██║██║ ██║ ██║ ██╔══╝ ██║██║ ██╔══╝ ╚════██║
|
|
32
|
-
██████╔╝╚██████╔╝ ██║ ██║ ██║███████╗███████╗███████║
|
|
33
|
-
╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝
|
|
34
|
-
|
|
35
|
-
v0.2.480 · Infrastructure‑grade shell environment'
|
|
36
|
-
|
|
37
|
-
gum style \
|
|
38
|
-
--foreground 212 --border-foreground 212 --border double \
|
|
39
|
-
--align center --margin "1 2" --padding "1 2" \
|
|
40
|
-
"$banner"
|
|
41
|
-
|
|
42
|
-
echo ""
|
|
43
|
-
gum confirm "Start a quick tour?" || exit 0
|
|
44
|
-
clear
|
|
45
|
-
|
|
46
|
-
# Slide 1: Start here
|
|
47
|
-
gum style \
|
|
48
|
-
--foreground 99 --border rounded --padding "1 2" --margin "1 2" \
|
|
49
|
-
"Start here" \
|
|
50
|
-
"Apply your setup. Keep it repeatable." \
|
|
51
|
-
" " \
|
|
52
|
-
"dot apply # Apply your dotfiles" \
|
|
53
|
-
"dot update # Pull and apply updates" \
|
|
54
|
-
"dot diff # Review local changes" \
|
|
55
|
-
"dot drift # Snapshot config drift"
|
|
56
|
-
|
|
57
|
-
echo ""
|
|
58
|
-
gum confirm "Next: Check health" || exit 0
|
|
59
|
-
clear
|
|
60
|
-
|
|
61
|
-
# Slide 2: Diagnostics
|
|
62
|
-
gum style \
|
|
63
|
-
--foreground 75 --border rounded --padding "1 2" --margin "1 2" \
|
|
64
|
-
"Check health" \
|
|
65
|
-
"Know what’s working. See what needs attention." \
|
|
66
|
-
" " \
|
|
67
|
-
"dot doctor # Health checks" \
|
|
68
|
-
"dot history # History analysis" \
|
|
69
|
-
"dot benchmark # Startup timing"
|
|
70
|
-
|
|
71
|
-
echo ""
|
|
72
|
-
gum confirm "Next: Secrets" || exit 0
|
|
73
|
-
clear
|
|
74
|
-
|
|
75
|
-
# Slide 3: Secrets
|
|
76
|
-
gum style \
|
|
77
|
-
--foreground 214 --border rounded --padding "1 2" --margin "1 2" \
|
|
78
|
-
"Secrets (age)" \
|
|
79
|
-
"Keep sensitive data local and encrypted." \
|
|
80
|
-
" " \
|
|
81
|
-
"dot secrets-init # Create a key" \
|
|
82
|
-
"dot secrets # Edit secrets" \
|
|
83
|
-
"dot secrets-create # New encrypted file" \
|
|
84
|
-
"dot ssh-key # Encrypt an SSH key"
|
|
85
|
-
|
|
86
|
-
echo ""
|
|
87
|
-
gum confirm "Next: Security (opt‑in)" || exit 0
|
|
88
|
-
clear
|
|
89
|
-
|
|
90
|
-
# Slide 4: Security (opt-in)
|
|
91
|
-
gum style \
|
|
92
|
-
--foreground 150 --border double --padding "1 2" --margin "1 2" \
|
|
93
|
-
"Security (opt‑in)" \
|
|
94
|
-
"Explicit by design. Nothing changes without your choice." \
|
|
95
|
-
" " \
|
|
96
|
-
"dot firewall # Firewall hardening" \
|
|
97
|
-
"dot telemetry # Disable OS telemetry" \
|
|
98
|
-
"dot dns-doh # DNS‑over‑HTTPS (Linux)" \
|
|
99
|
-
"dot lock-screen # Idle lock settings" \
|
|
100
|
-
"dot usb-safety # Disable automount" \
|
|
101
|
-
"dot encrypt-check # Disk encryption status"
|
|
102
|
-
|
|
103
|
-
echo ""
|
|
104
|
-
gum confirm "Next: Themes & UX" || exit 0
|
|
105
|
-
clear
|
|
106
|
-
|
|
107
|
-
# Slide 5: Themes & UX
|
|
108
|
-
gum style \
|
|
109
|
-
--foreground 212 --border rounded --padding "1 2" --margin "1 2" \
|
|
110
|
-
"Themes & UX" \
|
|
111
|
-
"Make it yours without changing how it works." \
|
|
112
|
-
" " \
|
|
113
|
-
"dot theme # Switch theme" \
|
|
114
|
-
"dot wallpaper # Apply wallpaper" \
|
|
115
|
-
"dot fonts # Install Nerd Fonts" \
|
|
116
|
-
"dot keys # Keybindings" \
|
|
117
|
-
"dot tools # Curated utilities"
|
|
118
|
-
|
|
119
|
-
echo ""
|
|
120
|
-
gum confirm "Next: Projects & Sandbox" || exit 0
|
|
121
|
-
clear
|
|
122
|
-
|
|
123
|
-
# Slide 6: Projects & Sandbox
|
|
124
|
-
gum style \
|
|
125
|
-
--foreground 111 --border rounded --padding "1 2" --margin "1 2" \
|
|
126
|
-
"Projects & sandbox" \
|
|
127
|
-
"Start quickly. Experiment safely." \
|
|
128
|
-
" " \
|
|
129
|
-
"dot new <lang> <name> # Templates: python, go, node" \
|
|
130
|
-
"dot sandbox # Safe preview (Docker/Podman)" \
|
|
131
|
-
"dot edit # Open source in editor"
|
|
132
|
-
|
|
133
|
-
echo ""
|
|
134
|
-
gum style \
|
|
135
|
-
--foreground 212 --margin "1 2" \
|
|
136
|
-
"You’re all set. Tip: run 'dot update' weekly to stay current."
|
|
137
|
-
echo ""
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Update all system packages and tools
|
|
3
|
-
# Usage: update [--all|--brew|--apt|--npm|--cargo|--pip]
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
CYAN='\033[0;36m'
|
|
8
|
-
GREEN='\033[0;32m'
|
|
9
|
-
YELLOW='\033[1;33m'
|
|
10
|
-
NC='\033[0m'
|
|
11
|
-
|
|
12
|
-
log_section() { echo -e "\n${CYAN}━━━ $1 ━━━${NC}"; }
|
|
13
|
-
log_success() { echo -e "${GREEN}✓${NC} $1"; }
|
|
14
|
-
log_skip() { echo -e "${YELLOW}○${NC} $1 (skipped)"; }
|
|
15
|
-
|
|
16
|
-
# Parse arguments
|
|
17
|
-
UPDATE_ALL=true
|
|
18
|
-
UPDATE_BREW=false
|
|
19
|
-
UPDATE_APT=false
|
|
20
|
-
UPDATE_NPM=false
|
|
21
|
-
UPDATE_CARGO=false
|
|
22
|
-
UPDATE_PIP=false
|
|
23
|
-
|
|
24
|
-
for arg in "$@"; do
|
|
25
|
-
case "$arg" in
|
|
26
|
-
--all) UPDATE_ALL=true ;;
|
|
27
|
-
--brew) UPDATE_BREW=true; UPDATE_ALL=false ;;
|
|
28
|
-
--apt) UPDATE_APT=true; UPDATE_ALL=false ;;
|
|
29
|
-
--npm) UPDATE_NPM=true; UPDATE_ALL=false ;;
|
|
30
|
-
--cargo) UPDATE_CARGO=true; UPDATE_ALL=false ;;
|
|
31
|
-
--pip) UPDATE_PIP=true; UPDATE_ALL=false ;;
|
|
32
|
-
esac
|
|
33
|
-
done
|
|
34
|
-
|
|
35
|
-
# Homebrew (macOS/Linux)
|
|
36
|
-
if $UPDATE_ALL || $UPDATE_BREW; then
|
|
37
|
-
if command -v brew >/dev/null 2>&1; then
|
|
38
|
-
log_section "Homebrew"
|
|
39
|
-
brew update
|
|
40
|
-
brew upgrade
|
|
41
|
-
brew cleanup
|
|
42
|
-
log_success "Homebrew updated"
|
|
43
|
-
else
|
|
44
|
-
$UPDATE_BREW && log_skip "Homebrew not installed"
|
|
45
|
-
fi
|
|
46
|
-
fi
|
|
47
|
-
|
|
48
|
-
# APT (Debian/Ubuntu)
|
|
49
|
-
if $UPDATE_ALL || $UPDATE_APT; then
|
|
50
|
-
if command -v apt >/dev/null 2>&1; then
|
|
51
|
-
log_section "APT"
|
|
52
|
-
sudo apt update
|
|
53
|
-
sudo apt upgrade -y
|
|
54
|
-
sudo apt autoremove -y
|
|
55
|
-
log_success "APT packages updated"
|
|
56
|
-
else
|
|
57
|
-
$UPDATE_APT && log_skip "APT not available"
|
|
58
|
-
fi
|
|
59
|
-
fi
|
|
60
|
-
|
|
61
|
-
# NPM global packages
|
|
62
|
-
if $UPDATE_ALL || $UPDATE_NPM; then
|
|
63
|
-
if command -v npm >/dev/null 2>&1; then
|
|
64
|
-
log_section "NPM"
|
|
65
|
-
npm update -g
|
|
66
|
-
log_success "NPM packages updated"
|
|
67
|
-
else
|
|
68
|
-
$UPDATE_NPM && log_skip "NPM not installed"
|
|
69
|
-
fi
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
# Cargo (Rust)
|
|
73
|
-
if $UPDATE_ALL || $UPDATE_CARGO; then
|
|
74
|
-
if command -v cargo >/dev/null 2>&1; then
|
|
75
|
-
log_section "Cargo"
|
|
76
|
-
if command -v cargo-install-update >/dev/null 2>&1; then
|
|
77
|
-
cargo install-update -a
|
|
78
|
-
else
|
|
79
|
-
echo " Install cargo-update for automatic updates: cargo install cargo-update"
|
|
80
|
-
fi
|
|
81
|
-
rustup update stable 2>/dev/null || true
|
|
82
|
-
log_success "Rust toolchain updated"
|
|
83
|
-
else
|
|
84
|
-
$UPDATE_CARGO && log_skip "Cargo not installed"
|
|
85
|
-
fi
|
|
86
|
-
fi
|
|
87
|
-
|
|
88
|
-
# Pip (Python)
|
|
89
|
-
if $UPDATE_ALL || $UPDATE_PIP; then
|
|
90
|
-
if command -v pip3 >/dev/null 2>&1; then
|
|
91
|
-
log_section "Pip"
|
|
92
|
-
pip3 list --outdated --format=json | python3 -c "import json,sys; print('\n'.join([p['name'] for p in json.load(sys.stdin)]))" 2>/dev/null | xargs -n1 pip3 install -U 2>/dev/null || true
|
|
93
|
-
log_success "Pip packages updated"
|
|
94
|
-
else
|
|
95
|
-
$UPDATE_PIP && log_skip "Pip not installed"
|
|
96
|
-
fi
|
|
97
|
-
fi
|
|
98
|
-
|
|
99
|
-
# Chezmoi (dotfiles)
|
|
100
|
-
if $UPDATE_ALL; then
|
|
101
|
-
if command -v chezmoi >/dev/null 2>&1; then
|
|
102
|
-
log_section "Dotfiles"
|
|
103
|
-
chezmoi update --apply=false 2>/dev/null || true
|
|
104
|
-
log_success "Dotfiles checked"
|
|
105
|
-
fi
|
|
106
|
-
fi
|
|
107
|
-
|
|
108
|
-
echo -e "\n${GREEN}Update complete!${NC}"
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# UUID generator
|
|
3
|
-
# Usage: uuid [count] [--upper] [--no-dashes]
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
COUNT=1
|
|
8
|
-
UPPER=false
|
|
9
|
-
NO_DASHES=false
|
|
10
|
-
|
|
11
|
-
while [[ $# -gt 0 ]]; do
|
|
12
|
-
case "$1" in
|
|
13
|
-
-u|--upper) UPPER=true; shift ;;
|
|
14
|
-
-n|--no-dashes) NO_DASHES=true; shift ;;
|
|
15
|
-
-h|--help)
|
|
16
|
-
echo "Usage: uuid [count] [OPTIONS]"
|
|
17
|
-
echo ""
|
|
18
|
-
echo "Options:"
|
|
19
|
-
echo " -u, --upper Uppercase output"
|
|
20
|
-
echo " -n, --no-dashes Remove dashes"
|
|
21
|
-
echo " -h, --help Show this help"
|
|
22
|
-
echo ""
|
|
23
|
-
echo "Examples:"
|
|
24
|
-
echo " uuid # Generate 1 UUID"
|
|
25
|
-
echo " uuid 5 # Generate 5 UUIDs"
|
|
26
|
-
echo " uuid -u # Uppercase UUID"
|
|
27
|
-
exit 0
|
|
28
|
-
;;
|
|
29
|
-
[0-9]*) COUNT="$1"; shift ;;
|
|
30
|
-
*) echo "Unknown option: $1"; exit 1 ;;
|
|
31
|
-
esac
|
|
32
|
-
done
|
|
33
|
-
|
|
34
|
-
generate_uuid() {
|
|
35
|
-
local uuid
|
|
36
|
-
if command -v uuidgen >/dev/null 2>&1; then
|
|
37
|
-
uuid=$(uuidgen)
|
|
38
|
-
elif [[ -f /proc/sys/kernel/random/uuid ]]; then
|
|
39
|
-
uuid=$(cat /proc/sys/kernel/random/uuid)
|
|
40
|
-
else
|
|
41
|
-
# Fallback: generate using random data
|
|
42
|
-
uuid=$(od -x /dev/urandom | head -1 | awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}')
|
|
43
|
-
fi
|
|
44
|
-
|
|
45
|
-
# Convert to lowercase first
|
|
46
|
-
uuid=$(echo "$uuid" | tr '[:upper:]' '[:lower:]')
|
|
47
|
-
|
|
48
|
-
# Apply transformations
|
|
49
|
-
$NO_DASHES && uuid=$(echo "$uuid" | tr -d '-')
|
|
50
|
-
$UPPER && uuid=$(echo "$uuid" | tr '[:lower:]' '[:upper:]')
|
|
51
|
-
|
|
52
|
-
echo "$uuid"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
for ((i = 0; i < COUNT; i++)); do
|
|
56
|
-
generate_uuid
|
|
57
|
-
done
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# YAML validator
|
|
3
|
-
# Usage: yamlv <file> | yamlv (reads stdin)
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
QUIET=false
|
|
8
|
-
[[ "${1:-}" == "-q" || "${1:-}" == "--quiet" ]] && { QUIET=true; shift; }
|
|
9
|
-
|
|
10
|
-
validate_yaml() {
|
|
11
|
-
local input="$1"
|
|
12
|
-
if command -v yq >/dev/null 2>&1; then
|
|
13
|
-
yq -e '.' <<< "$input" >/dev/null 2>&1
|
|
14
|
-
elif command -v python3 >/dev/null 2>&1; then
|
|
15
|
-
python3 -c "import yaml; yaml.safe_load('''$input''')" 2>/dev/null
|
|
16
|
-
elif command -v ruby >/dev/null 2>&1; then
|
|
17
|
-
ruby -ryaml -e "YAML.safe_load(STDIN.read)" <<< "$input" 2>/dev/null
|
|
18
|
-
else
|
|
19
|
-
echo "Error: yq, python3+pyyaml, or ruby required"
|
|
20
|
-
exit 1
|
|
21
|
-
fi
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
# Read input
|
|
25
|
-
if [[ $# -gt 0 ]] && [[ -f "$1" ]]; then
|
|
26
|
-
INPUT=$(cat "$1")
|
|
27
|
-
SOURCE="$1"
|
|
28
|
-
else
|
|
29
|
-
INPUT=$(cat)
|
|
30
|
-
SOURCE="stdin"
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
if validate_yaml "$INPUT"; then
|
|
34
|
-
$QUIET || echo "✓ Valid YAML ($SOURCE)"
|
|
35
|
-
exit 0
|
|
36
|
-
else
|
|
37
|
-
echo "✗ Invalid YAML ($SOURCE)"
|
|
38
|
-
exit 1
|
|
39
|
-
fi
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Zig version manager - installs/updates zig to ~/.local/zig
|
|
3
|
-
# Managed by chezmoi
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
ZIG_DIR="$HOME/.local/zig"
|
|
8
|
-
ZIG_VERSION="${1:-latest}"
|
|
9
|
-
|
|
10
|
-
get_latest_version() {
|
|
11
|
-
curl -sf "https://ziglang.org/download/index.json" | jq -r 'keys | map(select(. != "master" and startswith("0."))) | sort_by(split(".") | map(tonumber)) | last'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
get_download_url() {
|
|
15
|
-
local version="$1"
|
|
16
|
-
local arch
|
|
17
|
-
arch=$(uname -m)
|
|
18
|
-
|
|
19
|
-
case "$arch" in
|
|
20
|
-
x86_64) arch="x86_64" ;;
|
|
21
|
-
aarch64) arch="aarch64" ;;
|
|
22
|
-
arm64) arch="aarch64" ;;
|
|
23
|
-
*) echo "Unsupported architecture: $arch" >&2; exit 1 ;;
|
|
24
|
-
esac
|
|
25
|
-
|
|
26
|
-
local os
|
|
27
|
-
os=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
28
|
-
|
|
29
|
-
if [[ "$version" == "master" ]]; then
|
|
30
|
-
curl -sf "https://ziglang.org/download/index.json" | jq -r ".master.\"${arch}-${os}\".tarball"
|
|
31
|
-
else
|
|
32
|
-
curl -sf "https://ziglang.org/download/index.json" | jq -r ".\"${version}\".\"${arch}-${os}\".tarball"
|
|
33
|
-
fi
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
install_zig() {
|
|
37
|
-
local version="$1"
|
|
38
|
-
|
|
39
|
-
if [[ "$version" == "latest" ]]; then
|
|
40
|
-
version=$(get_latest_version)
|
|
41
|
-
fi
|
|
42
|
-
|
|
43
|
-
echo "Installing Zig $version..."
|
|
44
|
-
|
|
45
|
-
local url
|
|
46
|
-
url=$(get_download_url "$version")
|
|
47
|
-
|
|
48
|
-
if [[ -z "$url" || "$url" == "null" ]]; then
|
|
49
|
-
echo "Error: Could not find download URL for Zig $version" >&2
|
|
50
|
-
exit 1
|
|
51
|
-
fi
|
|
52
|
-
|
|
53
|
-
local tmpdir
|
|
54
|
-
tmpdir=$(mktemp -d)
|
|
55
|
-
trap "rm -rf $tmpdir" EXIT
|
|
56
|
-
|
|
57
|
-
echo "Downloading from $url..."
|
|
58
|
-
curl -fSL "$url" -o "$tmpdir/zig.tar.xz"
|
|
59
|
-
|
|
60
|
-
echo "Extracting..."
|
|
61
|
-
rm -rf "$ZIG_DIR"
|
|
62
|
-
mkdir -p "$ZIG_DIR"
|
|
63
|
-
tar -xJf "$tmpdir/zig.tar.xz" -C "$ZIG_DIR" --strip-components=1
|
|
64
|
-
|
|
65
|
-
echo "Zig $version installed to $ZIG_DIR"
|
|
66
|
-
"$ZIG_DIR/zig" version
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
case "${1:-install}" in
|
|
70
|
-
install|latest|master|[0-9]*)
|
|
71
|
-
install_zig "$ZIG_VERSION"
|
|
72
|
-
;;
|
|
73
|
-
version)
|
|
74
|
-
if [[ -x "$ZIG_DIR/zig" ]]; then
|
|
75
|
-
"$ZIG_DIR/zig" version
|
|
76
|
-
else
|
|
77
|
-
echo "Zig not installed"
|
|
78
|
-
exit 1
|
|
79
|
-
fi
|
|
80
|
-
;;
|
|
81
|
-
*)
|
|
82
|
-
echo "Usage: zig-install [latest|master|<version>|version]"
|
|
83
|
-
echo "Examples:"
|
|
84
|
-
echo " zig-install # Install latest stable"
|
|
85
|
-
echo " zig-install 0.14.0 # Install specific version"
|
|
86
|
-
echo " zig-install master # Install latest master"
|
|
87
|
-
echo " zig-install version # Show installed version"
|
|
88
|
-
;;
|
|
89
|
-
esac
|
package/dot_local/bin/voice_ops
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Bash completion for the dot CLI
|
|
3
|
-
# Source this file or place in /etc/bash_completion.d/ or ~/.local/share/bash-completion/completions/
|
|
4
|
-
|
|
5
|
-
_dot_completions() {
|
|
6
|
-
local cur prev commands
|
|
7
|
-
COMPREPLY=()
|
|
8
|
-
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
9
|
-
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
10
|
-
|
|
11
|
-
# Main commands
|
|
12
|
-
commands="apply sync update add diff status remove cd drift history doctor keys tools sandbox benchmark tune secrets 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 learn --version help"
|
|
13
|
-
|
|
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
|
-
theme)
|
|
38
|
-
# Complete theme options
|
|
39
|
-
local themes="dark light"
|
|
40
|
-
COMPREPLY=( $(compgen -W "${themes}" -- "${cur}") )
|
|
41
|
-
return 0
|
|
42
|
-
;;
|
|
43
|
-
keys)
|
|
44
|
-
# Allow any search term
|
|
45
|
-
return 0
|
|
46
|
-
;;
|
|
47
|
-
*)
|
|
48
|
-
COMPREPLY=( $(compgen -W "${commands}" -- "${cur}") )
|
|
49
|
-
return 0
|
|
50
|
-
;;
|
|
51
|
-
esac
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
complete -F _dot_completions dot
|
|
File without changes
|