@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,53 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
set -euo pipefail
|
|
3
|
-
|
|
4
|
-
# 00-container-detect.sh: Detect container environments
|
|
5
|
-
# Sets environment flags so downstream configs can adapt behaviour
|
|
6
|
-
# (e.g. simpler prompts, skip host-only tooling).
|
|
7
|
-
#
|
|
8
|
-
# Security: Uses targeted detection methods to minimize information disclosure.
|
|
9
|
-
# Only checks for presence of containers, not specific runtime details.
|
|
10
|
-
|
|
11
|
-
# Detect container environment using file-based indicators (preferred)
|
|
12
|
-
# These methods don't expose runtime details like /proc/1/cgroup would
|
|
13
|
-
_detect_container() {
|
|
14
|
-
# Docker creates this file
|
|
15
|
-
[ -f /.dockerenv ] && return 0
|
|
16
|
-
|
|
17
|
-
# Podman/other OCI runtimes create this
|
|
18
|
-
[ -f /run/.containerenv ] && return 0
|
|
19
|
-
|
|
20
|
-
# Check for container environment variables (set by runtime)
|
|
21
|
-
[ -n "${container:-}" ] && return 0
|
|
22
|
-
|
|
23
|
-
# Systemd-nspawn sets this
|
|
24
|
-
[ -n "${SYSTEMD_NSPAWN_CONTAINER:-}" ] && return 0
|
|
25
|
-
|
|
26
|
-
# LXC/LXD detection via environment
|
|
27
|
-
[ -n "${LXC_NAME:-}" ] && return 0
|
|
28
|
-
|
|
29
|
-
# Fallback: Check cgroup v2 for container slice (minimal info exposure)
|
|
30
|
-
# Only checks if we're in a container scope, not which runtime
|
|
31
|
-
if [ -f /proc/self/cgroup ]; then
|
|
32
|
-
grep -qsE '^0::/.*/(docker|libpod|lxc|containerd)' /proc/self/cgroup 2>/dev/null && return 0
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
return 1
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if _detect_container; then
|
|
39
|
-
export DOTFILES_CONTAINER=1
|
|
40
|
-
fi
|
|
41
|
-
unset -f _detect_container
|
|
42
|
-
|
|
43
|
-
# Detect GitHub Codespaces
|
|
44
|
-
if [ -n "${CODESPACES:-}" ]; then
|
|
45
|
-
export DOTFILES_CODESPACE=1
|
|
46
|
-
export DOTFILES_CONTAINER=1
|
|
47
|
-
fi
|
|
48
|
-
|
|
49
|
-
# Detect VS Code devcontainer (Remote - Containers sets this)
|
|
50
|
-
if [ -n "${REMOTE_CONTAINERS:-}" ] || [ -n "${REMOTE_CONTAINERS_IPC:-}" ]; then
|
|
51
|
-
export DOTFILES_DEVCONTAINER=1
|
|
52
|
-
export DOTFILES_CONTAINER=1
|
|
53
|
-
fi
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Universal Paths (Generated by Chezmoi)
|
|
4
|
-
# Note: XDG variables are set in ~/.zshenv (Bootloader)
|
|
5
|
-
|
|
6
|
-
# 1. System Paths (Prepend, but will be pushed down by later prepends)
|
|
7
|
-
export PATH="/usr/bin:/bin:/usr/sbin:/sbin:${PATH}"
|
|
8
|
-
|
|
9
|
-
# 2. Homebrew Paths (Prepend -> Higher Priority)
|
|
10
|
-
if [[ -d "/opt/homebrew/bin" ]]; then
|
|
11
|
-
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}"
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
# 3. Language Runtimes
|
|
15
|
-
# Ruby (Homebrew)
|
|
16
|
-
if [[ -d "/opt/homebrew/opt/ruby/bin" ]]; then
|
|
17
|
-
export PATH="/opt/homebrew/opt/ruby/bin:${PATH}"
|
|
18
|
-
fi
|
|
19
|
-
# Ruby (User Gems)
|
|
20
|
-
export PATH="${HOME}/.gem/ruby/bin:${PATH}"
|
|
21
|
-
|
|
22
|
-
# Python (Pipx)
|
|
23
|
-
export PIPX_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/pipx"
|
|
24
|
-
export PIPX_BIN_DIR="${XDG_BIN_HOME:-$HOME/.local/bin}"
|
|
25
|
-
export PATH="${PIPX_BIN_DIR}:${PATH}"
|
|
26
|
-
|
|
27
|
-
# Rust (Cargo)
|
|
28
|
-
export PATH="${HOME}/.cargo/bin:${PATH}"
|
|
29
|
-
|
|
30
|
-
# Go
|
|
31
|
-
export PATH="${HOME}/go/bin:${PATH}"
|
|
32
|
-
|
|
33
|
-
# Bun
|
|
34
|
-
export BUN_INSTALL="${HOME}/.bun"
|
|
35
|
-
export PATH="${BUN_INSTALL}/bin:${PATH}"
|
|
36
|
-
|
|
37
|
-
# Kubeconfig merge logic (merge all configs in ~/.kube/config.d/)
|
|
38
|
-
# Lazy-loaded via kubectl wrapper to avoid startup cost
|
|
39
|
-
_lazy_load_kubeconfig() {
|
|
40
|
-
if [[ -d "${HOME}/.kube/config.d" ]]; then
|
|
41
|
-
local kubeconfig_extra=""
|
|
42
|
-
for conf in "${HOME}/.kube/config.d"/*; do
|
|
43
|
-
[[ -f "$conf" ]] && kubeconfig_extra="${kubeconfig_extra}:${conf}"
|
|
44
|
-
done
|
|
45
|
-
[[ -n "$kubeconfig_extra" ]] && export KUBECONFIG="${HOME}/.kube/config${kubeconfig_extra}"
|
|
46
|
-
fi
|
|
47
|
-
unfunction kubectl _lazy_load_kubeconfig 2>/dev/null
|
|
48
|
-
command kubectl "$@"
|
|
49
|
-
}
|
|
50
|
-
# Only wrap kubectl if config.d exists and kubectl is installed
|
|
51
|
-
if [[ -d "${HOME}/.kube/config.d" ]]; then
|
|
52
|
-
kubectl() { _lazy_load_kubeconfig "$@"; }
|
|
53
|
-
fi
|
|
54
|
-
# Still honor explicit KUBECONFIG or in-cluster detection
|
|
55
|
-
if [[ -n "${KUBERNETES_SERVICE_HOST:-}" ]] || [[ -n "${KUBECONFIG:-}" ]]; then
|
|
56
|
-
_lazy_load_kubeconfig --version >/dev/null 2>&1 || true
|
|
57
|
-
fi
|
|
58
|
-
|
|
59
|
-
# Node.js (Global)
|
|
60
|
-
export PATH="${HOME}/.node_modules/bin:${PATH}"
|
|
61
|
-
|
|
62
|
-
# Lua (Luarocks)
|
|
63
|
-
export PATH="${HOME}/.luarocks/bin:${PATH}"
|
|
64
|
-
|
|
65
|
-
# 4. Applications (macOS Specifics from 99-custom)
|
|
66
|
-
export PATH="/Library/Apple/usr/bin:/Library/TeX/texbin:${PATH}"
|
|
67
|
-
export PATH="/Applications/Topaz Photo AI.app/Contents/Resources/bin:/Applications/Little Snitch.app/Contents/Components:/Applications/iTerm.app/Contents/Resources/utilities:${PATH}"
|
|
68
|
-
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${PATH}"
|
|
69
|
-
|
|
70
|
-
# 5. Local Bin (Highest Priority)
|
|
71
|
-
export PATH="${HOME}/.local/bin:${PATH}"
|
|
72
|
-
export PATH="${HOME}/bin:${PATH}"
|
|
73
|
-
|
|
74
|
-
# Deduplicate PATH (Keep first occurrence to maintain precedence)
|
|
75
|
-
# Standard Zsh handles this with 'typeset -U path', but for bash compatibility/subshells:
|
|
76
|
-
if [ -z "${ZSH_VERSION:-}" ]; then
|
|
77
|
-
# Use native bash associative arrays for O(n) deduplication (bash 4+)
|
|
78
|
-
if [[ ${BASH_VERSION%%.*} -ge 4 ]]; then
|
|
79
|
-
declare -A _seen_paths
|
|
80
|
-
IFS=':' read -ra _path_array <<< "$PATH"
|
|
81
|
-
_new_path=""
|
|
82
|
-
for _dir in "${_path_array[@]}"; do
|
|
83
|
-
if [[ -n "$_dir" && -z "${_seen_paths[$_dir]:-}" ]]; then
|
|
84
|
-
_seen_paths[$_dir]=1
|
|
85
|
-
_new_path="${_new_path:+$_new_path:}$_dir"
|
|
86
|
-
fi
|
|
87
|
-
done
|
|
88
|
-
PATH="$_new_path"
|
|
89
|
-
unset _seen_paths _path_array _new_path _dir
|
|
90
|
-
else
|
|
91
|
-
# Fallback to awk for bash 3.x
|
|
92
|
-
PATH=$(echo "$PATH" | awk -v RS=':' '!seen[$0]++ {ORS=(NR>1?":":"")} {print}')
|
|
93
|
-
fi
|
|
94
|
-
export PATH
|
|
95
|
-
fi
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# 05-safety.sh: Core Safety Settings
|
|
4
|
-
# Part of the "Core Layer"
|
|
5
|
-
|
|
6
|
-
# Set sane defaults for safety, though be careful with -e in interactive shell
|
|
7
|
-
# Use 'set -o pipefail' to catch pipeline errors if supported
|
|
8
|
-
if [[ -n "$BASH_VERSION" ]] || [[ -n "$ZSH_VERSION" ]]; then
|
|
9
|
-
set -o pipefail 2>/dev/null || true
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
# Prevent file overwrite with redirection (force use of >|)
|
|
13
|
-
set -o noclobber
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Set ls colors with GNU/BSD detection
|
|
4
|
-
# GNU coreutils: LS_COLORS via dircolors
|
|
5
|
-
# BSD/macOS: LSCOLORS + CLICOLOR
|
|
6
|
-
|
|
7
|
-
if command -v dircolors >/dev/null 2>&1; then
|
|
8
|
-
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors" ]; then
|
|
9
|
-
# shellcheck disable=SC1090
|
|
10
|
-
eval "$(dircolors -b "${XDG_CONFIG_HOME:-$HOME/.config}/dircolors")"
|
|
11
|
-
else
|
|
12
|
-
# shellcheck disable=SC1090
|
|
13
|
-
eval "$(dircolors -b)"
|
|
14
|
-
fi
|
|
15
|
-
else
|
|
16
|
-
case "$(uname -s 2>/dev/null)" in
|
|
17
|
-
Darwin*)
|
|
18
|
-
export CLICOLOR=1
|
|
19
|
-
export LSCOLORS="ExFxCxDxBxegedabagacad"
|
|
20
|
-
if command -v gdircolors >/dev/null 2>&1; then
|
|
21
|
-
# shellcheck disable=SC1090
|
|
22
|
-
eval "$(gdircolors -b)"
|
|
23
|
-
fi
|
|
24
|
-
;;
|
|
25
|
-
esac
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
# Ensure LS_COLORS is set for Zsh completion when only LSCOLORS exists
|
|
29
|
-
if [ -z "${LS_COLORS:-}" ] && [ -n "${LSCOLORS:-}" ]; then
|
|
30
|
-
export LS_COLORS=""
|
|
31
|
-
fi
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Universal Functions (Generated by Chezmoi)
|
|
4
|
-
|
|
5
|
-
{{- $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/functions/**/*.sh" }}
|
|
6
|
-
{{- $files := glob $globPattern }}
|
|
7
|
-
{{- range $files }}
|
|
8
|
-
{{- include . }}
|
|
9
|
-
{{- "\n" }}
|
|
10
|
-
{{- end }}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Detect system appearance (dark/light) and export THEME_MODE
|
|
3
|
-
# Consumed by starship, bat, delta, fzf, and other theme-aware tools
|
|
4
|
-
#
|
|
5
|
-
# macOS: reads AppleInterfaceStyle from user defaults
|
|
6
|
-
# Linux: checks DBUS org.freedesktop.portal.Settings color-scheme
|
|
7
|
-
#
|
|
8
|
-
# Performance: Caches result for 1 hour to avoid system calls on every shell startup
|
|
9
|
-
|
|
10
|
-
detect_theme_mode() {
|
|
11
|
-
local cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/dotfiles_theme_mode"
|
|
12
|
-
local cache_ttl=3600 # 1 hour in seconds
|
|
13
|
-
|
|
14
|
-
# Check if cache exists and is fresh
|
|
15
|
-
if [[ -f "$cache_file" ]]; then
|
|
16
|
-
local cache_age
|
|
17
|
-
local now
|
|
18
|
-
now=$(date +%s)
|
|
19
|
-
# macOS uses -f %m, Linux uses -c %Y for mtime
|
|
20
|
-
if [[ "$(uname -s)" == "Darwin" ]]; then
|
|
21
|
-
cache_age=$((now - $(stat -f %m "$cache_file" 2>/dev/null || echo 0)))
|
|
22
|
-
else
|
|
23
|
-
cache_age=$((now - $(stat -c %Y "$cache_file" 2>/dev/null || echo 0)))
|
|
24
|
-
fi
|
|
25
|
-
if [[ $cache_age -lt $cache_ttl ]]; then
|
|
26
|
-
THEME_MODE="$(cat "$cache_file")"
|
|
27
|
-
export THEME_MODE
|
|
28
|
-
return
|
|
29
|
-
fi
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
# Ensure cache directory exists
|
|
33
|
-
mkdir -p "$(dirname "$cache_file")"
|
|
34
|
-
|
|
35
|
-
case "$(uname -s)" in
|
|
36
|
-
Darwin)
|
|
37
|
-
if defaults read -g AppleInterfaceStyle >/dev/null 2>&1; then
|
|
38
|
-
export THEME_MODE="dark"
|
|
39
|
-
else
|
|
40
|
-
export THEME_MODE="light"
|
|
41
|
-
fi
|
|
42
|
-
;;
|
|
43
|
-
Linux)
|
|
44
|
-
if command -v busctl >/dev/null 2>&1; then
|
|
45
|
-
local scheme
|
|
46
|
-
scheme="$(busctl --user get-property \
|
|
47
|
-
org.freedesktop.portal.Desktop \
|
|
48
|
-
/org/freedesktop/portal/desktop \
|
|
49
|
-
org.freedesktop.portal.Settings \
|
|
50
|
-
Read "org.freedesktop.appearance" "color-scheme" 2>/dev/null |
|
|
51
|
-
grep -o '[0-9]*$')"
|
|
52
|
-
if [ "$scheme" = "1" ]; then
|
|
53
|
-
export THEME_MODE="dark"
|
|
54
|
-
else
|
|
55
|
-
export THEME_MODE="light"
|
|
56
|
-
fi
|
|
57
|
-
else
|
|
58
|
-
export THEME_MODE="dark"
|
|
59
|
-
fi
|
|
60
|
-
;;
|
|
61
|
-
*)
|
|
62
|
-
export THEME_MODE="dark"
|
|
63
|
-
;;
|
|
64
|
-
esac
|
|
65
|
-
|
|
66
|
-
# Cache the result
|
|
67
|
-
echo "$THEME_MODE" > "$cache_file"
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
detect_theme_mode
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Core Aliases — Eager Load (Generated by Chezmoi)
|
|
4
|
-
# These are lightweight, high-frequency aliases loaded at shell startup.
|
|
5
|
-
if [ -n "${BASH_VERSION:-}" ]; then
|
|
6
|
-
shopt -s expand_aliases
|
|
7
|
-
fi
|
|
8
|
-
|
|
9
|
-
{{ $coreCategories := list "cd" "clear" "configuration" "default" "diagnostics" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "sudo" "compliance" -}}
|
|
10
|
-
{{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
|
|
11
|
-
{{ $files := glob $globPattern -}}
|
|
12
|
-
{{ range $files -}}
|
|
13
|
-
{{ $name := . -}}
|
|
14
|
-
{{ $isCore := false -}}
|
|
15
|
-
{{ range $coreCategories -}}
|
|
16
|
-
{{ if contains (printf "/%s/" .) $name -}}
|
|
17
|
-
{{ $isCore = true -}}
|
|
18
|
-
{{ end -}}
|
|
19
|
-
{{ end -}}
|
|
20
|
-
{{ if and $isCore (not (contains "/macOS/" $name)) }}
|
|
21
|
-
{{ include $name }}
|
|
22
|
-
{{ end -}}
|
|
23
|
-
{{ end }}
|
|
24
|
-
|
|
25
|
-
# OS-Specific Core Aliases
|
|
26
|
-
|
|
27
|
-
## macOS
|
|
28
|
-
{{- if eq .chezmoi.os "darwin" }}
|
|
29
|
-
{{- $macGlobPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/macOS/*.aliases.sh" }}
|
|
30
|
-
{{- $macFiles := glob $macGlobPattern }}
|
|
31
|
-
{{- range $macFiles }}
|
|
32
|
-
{{- include . }}
|
|
33
|
-
{{- "\n" }}
|
|
34
|
-
{{- end }}
|
|
35
|
-
{{- end }}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
# Tool-Specific Aliases — Lazy Load (Generated by Chezmoi)
|
|
4
|
-
# These are loaded after the first prompt via precmd hook to keep startup fast.
|
|
5
|
-
if [ -n "${BASH_VERSION:-}" ]; then
|
|
6
|
-
shopt -s expand_aliases
|
|
7
|
-
fi
|
|
8
|
-
|
|
9
|
-
{{ $coreCategories := list "cd" "clear" "configuration" "default" "diagnostics" "editor" "git" "interactive" "installer" "mkdir" "modern" "ps" "sudo" "compliance" -}}
|
|
10
|
-
{{ $globPattern := joinPath .chezmoi.sourceDir ".chezmoitemplates/aliases/**/*.aliases.sh" -}}
|
|
11
|
-
{{ $files := glob $globPattern -}}
|
|
12
|
-
{{ range $files -}}
|
|
13
|
-
{{ $name := . -}}
|
|
14
|
-
{{ $isCore := false -}}
|
|
15
|
-
{{ range $coreCategories -}}
|
|
16
|
-
{{ if contains (printf "/%s/" .) $name -}}
|
|
17
|
-
{{ $isCore = true -}}
|
|
18
|
-
{{ end -}}
|
|
19
|
-
{{ end -}}
|
|
20
|
-
{{ if and (not $isCore) (not (contains "/macOS/" $name)) }}
|
|
21
|
-
{{ include $name }}
|
|
22
|
-
{{ end -}}
|
|
23
|
-
{{ end }}
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
# =============================================================================
|
|
2
|
-
# Brewfile - Unified Cross-Platform Package Management
|
|
3
|
-
# Optimized for performance and development workflows
|
|
4
|
-
# =============================================================================
|
|
5
|
-
# Usage: brew bundle --file=~/.config/shell/Brewfile
|
|
6
|
-
# =============================================================================
|
|
7
|
-
|
|
8
|
-
# -----------------------------------------------------------------------------
|
|
9
|
-
# Taps
|
|
10
|
-
# -----------------------------------------------------------------------------
|
|
11
|
-
tap "homebrew/bundle"
|
|
12
|
-
tap "homebrew/services"
|
|
13
|
-
|
|
14
|
-
# -----------------------------------------------------------------------------
|
|
15
|
-
# Core Utilities (Cross-Platform)
|
|
16
|
-
# -----------------------------------------------------------------------------
|
|
17
|
-
brew "git"
|
|
18
|
-
brew "chezmoi"
|
|
19
|
-
brew "jq"
|
|
20
|
-
brew "yq"
|
|
21
|
-
brew "ripgrep"
|
|
22
|
-
brew "fd"
|
|
23
|
-
brew "fzf"
|
|
24
|
-
brew "bat"
|
|
25
|
-
brew "eza"
|
|
26
|
-
brew "dust"
|
|
27
|
-
brew "duf"
|
|
28
|
-
brew "tree"
|
|
29
|
-
brew "trash"
|
|
30
|
-
brew "rename"
|
|
31
|
-
|
|
32
|
-
# -----------------------------------------------------------------------------
|
|
33
|
-
# Shell & Prompt (Cross-Platform)
|
|
34
|
-
# -----------------------------------------------------------------------------
|
|
35
|
-
brew "zsh"
|
|
36
|
-
brew "starship"
|
|
37
|
-
brew "zoxide"
|
|
38
|
-
brew "atuin"
|
|
39
|
-
brew "direnv"
|
|
40
|
-
|
|
41
|
-
# -----------------------------------------------------------------------------
|
|
42
|
-
# Development (Cross-Platform)
|
|
43
|
-
# -----------------------------------------------------------------------------
|
|
44
|
-
brew "neovim"
|
|
45
|
-
brew "vim"
|
|
46
|
-
brew "tmux"
|
|
47
|
-
brew "lazygit"
|
|
48
|
-
brew "git-delta"
|
|
49
|
-
brew "git-absorb" # Auto-create fixup commits
|
|
50
|
-
brew "gh"
|
|
51
|
-
brew "glab"
|
|
52
|
-
brew "shellcheck"
|
|
53
|
-
brew "shfmt"
|
|
54
|
-
|
|
55
|
-
# -----------------------------------------------------------------------------
|
|
56
|
-
# Languages & Runtimes (Cross-Platform)
|
|
57
|
-
# -----------------------------------------------------------------------------
|
|
58
|
-
brew "mise" # Universal version manager
|
|
59
|
-
brew "uv" # Fast Python package manager
|
|
60
|
-
brew "rustup"
|
|
61
|
-
brew "go"
|
|
62
|
-
|
|
63
|
-
# -----------------------------------------------------------------------------
|
|
64
|
-
# Lua (for Neovim) (Cross-Platform)
|
|
65
|
-
# -----------------------------------------------------------------------------
|
|
66
|
-
brew "lua"
|
|
67
|
-
brew "luajit"
|
|
68
|
-
brew "luarocks"
|
|
69
|
-
brew "stylua"
|
|
70
|
-
|
|
71
|
-
# -----------------------------------------------------------------------------
|
|
72
|
-
# System Monitoring (Cross-Platform)
|
|
73
|
-
# -----------------------------------------------------------------------------
|
|
74
|
-
brew "btop"
|
|
75
|
-
brew "procs"
|
|
76
|
-
brew "gping"
|
|
77
|
-
brew "hyperfine"
|
|
78
|
-
brew "fastfetch"
|
|
79
|
-
|
|
80
|
-
# -----------------------------------------------------------------------------
|
|
81
|
-
# Security & Encryption (Cross-Platform)
|
|
82
|
-
# -----------------------------------------------------------------------------
|
|
83
|
-
brew "age"
|
|
84
|
-
brew "gnupg"
|
|
85
|
-
brew "git-crypt"
|
|
86
|
-
brew "mkcert"
|
|
87
|
-
brew "lynis"
|
|
88
|
-
|
|
89
|
-
# -----------------------------------------------------------------------------
|
|
90
|
-
# AI & LLM Tools (Cross-Platform)
|
|
91
|
-
# -----------------------------------------------------------------------------
|
|
92
|
-
brew "ollama"
|
|
93
|
-
brew "aichat"
|
|
94
|
-
brew "mods"
|
|
95
|
-
brew "fabric-ai"
|
|
96
|
-
|
|
97
|
-
# -----------------------------------------------------------------------------
|
|
98
|
-
# File & Text Processing (Cross-Platform)
|
|
99
|
-
# -----------------------------------------------------------------------------
|
|
100
|
-
brew "hexyl"
|
|
101
|
-
brew "glow"
|
|
102
|
-
brew "gum"
|
|
103
|
-
brew "tlrc"
|
|
104
|
-
brew "imagemagick"
|
|
105
|
-
brew "ffmpeg"
|
|
106
|
-
|
|
107
|
-
# -----------------------------------------------------------------------------
|
|
108
|
-
# Networking (Cross-Platform)
|
|
109
|
-
# -----------------------------------------------------------------------------
|
|
110
|
-
brew "curl"
|
|
111
|
-
brew "wget"
|
|
112
|
-
brew "httpie"
|
|
113
|
-
brew "mtr"
|
|
114
|
-
|
|
115
|
-
# -----------------------------------------------------------------------------
|
|
116
|
-
# Archive & Compression (Cross-Platform)
|
|
117
|
-
# -----------------------------------------------------------------------------
|
|
118
|
-
brew "p7zip"
|
|
119
|
-
brew "unar"
|
|
120
|
-
brew "sevenzip"
|
|
121
|
-
|
|
122
|
-
# =============================================================================
|
|
123
|
-
# macOS Only
|
|
124
|
-
# =============================================================================
|
|
125
|
-
if OS.mac?
|
|
126
|
-
# macOS Specific CLI Tools
|
|
127
|
-
brew "mas" # Mac App Store CLI
|
|
128
|
-
brew "duti" # Default app handler
|
|
129
|
-
brew "topgrade" # Universal updater
|
|
130
|
-
brew "pinentry-mac" # GPG pinentry for macOS
|
|
131
|
-
|
|
132
|
-
# -------------------------------------------------------------------------
|
|
133
|
-
# GUI Applications (Casks) - macOS Only
|
|
134
|
-
# -------------------------------------------------------------------------
|
|
135
|
-
|
|
136
|
-
# Terminals
|
|
137
|
-
cask "ghostty"
|
|
138
|
-
cask "warp"
|
|
139
|
-
cask "iterm2"
|
|
140
|
-
|
|
141
|
-
# Editors & IDEs
|
|
142
|
-
cask "visual-studio-code"
|
|
143
|
-
cask "zed"
|
|
144
|
-
|
|
145
|
-
# Browsers
|
|
146
|
-
cask "google-chrome"
|
|
147
|
-
|
|
148
|
-
# Productivity
|
|
149
|
-
cask "raycast"
|
|
150
|
-
cask "cleanmymac"
|
|
151
|
-
cask "cleanshot"
|
|
152
|
-
cask "copyclip"
|
|
153
|
-
cask "pdf-squeezer"
|
|
154
|
-
cask "imageoptim"
|
|
155
|
-
cask "the-unarchiver"
|
|
156
|
-
cask "betterzip"
|
|
157
|
-
|
|
158
|
-
# System Utilities
|
|
159
|
-
cask "karabiner-elements"
|
|
160
|
-
cask "jordanbaird-ice"
|
|
161
|
-
cask "aldente"
|
|
162
|
-
cask "topnotch"
|
|
163
|
-
cask "little-snitch"
|
|
164
|
-
|
|
165
|
-
# Development
|
|
166
|
-
cask "github"
|
|
167
|
-
cask "devutils"
|
|
168
|
-
cask "1password-cli"
|
|
169
|
-
|
|
170
|
-
# AI Tools
|
|
171
|
-
cask "claude-code"
|
|
172
|
-
|
|
173
|
-
# Design
|
|
174
|
-
cask "colorsnapper"
|
|
175
|
-
cask "sketch"
|
|
176
|
-
|
|
177
|
-
# Media
|
|
178
|
-
cask "vlc"
|
|
179
|
-
|
|
180
|
-
# Cloud & Sync
|
|
181
|
-
cask "dropbox"
|
|
182
|
-
|
|
183
|
-
# Communication
|
|
184
|
-
cask "zoom"
|
|
185
|
-
|
|
186
|
-
# Backup
|
|
187
|
-
cask "carbon-copy-cloner"
|
|
188
|
-
|
|
189
|
-
# Fonts
|
|
190
|
-
cask "font-meslo-lg-nerd-font"
|
|
191
|
-
cask "font-victor-mono"
|
|
192
|
-
cask "font-roboto-mono-for-powerline"
|
|
193
|
-
|
|
194
|
-
# Optional: LaTeX (large ~4GB, uncomment if needed)
|
|
195
|
-
# cask "mactex"
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
# =============================================================================
|
|
199
|
-
# Linux / WSL
|
|
200
|
-
# =============================================================================
|
|
201
|
-
if OS.linux?
|
|
202
|
-
# Universal updater (also useful on Linux/WSL)
|
|
203
|
-
brew "topgrade"
|
|
204
|
-
|
|
205
|
-
# Linux-specific GPG pinentry
|
|
206
|
-
brew "pinentry"
|
|
207
|
-
end
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# =============================================================================
|
|
2
|
-
# Brewfile.cask - GUI Applications (macOS)
|
|
3
|
-
# =============================================================================
|
|
4
|
-
|
|
5
|
-
# -----------------------------------------------------------------------------
|
|
6
|
-
# Terminals
|
|
7
|
-
# -----------------------------------------------------------------------------
|
|
8
|
-
cask "ghostty"
|
|
9
|
-
cask "warp"
|
|
10
|
-
cask "iterm2"
|
|
11
|
-
|
|
12
|
-
# -----------------------------------------------------------------------------
|
|
13
|
-
# Editors & IDEs
|
|
14
|
-
# -----------------------------------------------------------------------------
|
|
15
|
-
cask "visual-studio-code"
|
|
16
|
-
cask "zed"
|
|
17
|
-
|
|
18
|
-
# -----------------------------------------------------------------------------
|
|
19
|
-
# Browsers
|
|
20
|
-
# -----------------------------------------------------------------------------
|
|
21
|
-
cask "google-chrome"
|
|
22
|
-
|
|
23
|
-
# -----------------------------------------------------------------------------
|
|
24
|
-
# Productivity
|
|
25
|
-
# -----------------------------------------------------------------------------
|
|
26
|
-
cask "raycast"
|
|
27
|
-
cask "cleanmymac"
|
|
28
|
-
cask "cleanshot"
|
|
29
|
-
cask "copyclip"
|
|
30
|
-
cask "pdf-squeezer"
|
|
31
|
-
cask "imageoptim"
|
|
32
|
-
cask "the-unarchiver"
|
|
33
|
-
cask "betterzip"
|
|
34
|
-
|
|
35
|
-
# -----------------------------------------------------------------------------
|
|
36
|
-
# System Utilities
|
|
37
|
-
# -----------------------------------------------------------------------------
|
|
38
|
-
cask "karabiner-elements"
|
|
39
|
-
cask "jordanbaird-ice"
|
|
40
|
-
cask "aldente"
|
|
41
|
-
cask "topnotch"
|
|
42
|
-
cask "little-snitch"
|
|
43
|
-
|
|
44
|
-
# -----------------------------------------------------------------------------
|
|
45
|
-
# Development
|
|
46
|
-
# -----------------------------------------------------------------------------
|
|
47
|
-
cask "github"
|
|
48
|
-
cask "devutils"
|
|
49
|
-
cask "1password-cli"
|
|
50
|
-
|
|
51
|
-
# -----------------------------------------------------------------------------
|
|
52
|
-
# AI Tools
|
|
53
|
-
# -----------------------------------------------------------------------------
|
|
54
|
-
cask "claude-code"
|
|
55
|
-
|
|
56
|
-
# -----------------------------------------------------------------------------
|
|
57
|
-
# Design
|
|
58
|
-
# -----------------------------------------------------------------------------
|
|
59
|
-
cask "colorsnapper"
|
|
60
|
-
cask "sketch"
|
|
61
|
-
|
|
62
|
-
# -----------------------------------------------------------------------------
|
|
63
|
-
# Media
|
|
64
|
-
# -----------------------------------------------------------------------------
|
|
65
|
-
cask "vlc"
|
|
66
|
-
|
|
67
|
-
# -----------------------------------------------------------------------------
|
|
68
|
-
# Cloud & Sync
|
|
69
|
-
# -----------------------------------------------------------------------------
|
|
70
|
-
cask "dropbox"
|
|
71
|
-
|
|
72
|
-
# -----------------------------------------------------------------------------
|
|
73
|
-
# Communication
|
|
74
|
-
# -----------------------------------------------------------------------------
|
|
75
|
-
cask "zoom"
|
|
76
|
-
|
|
77
|
-
# -----------------------------------------------------------------------------
|
|
78
|
-
# Backup
|
|
79
|
-
# -----------------------------------------------------------------------------
|
|
80
|
-
cask "carbon-copy-cloner"
|
|
81
|
-
|
|
82
|
-
# -----------------------------------------------------------------------------
|
|
83
|
-
# Fonts
|
|
84
|
-
# -----------------------------------------------------------------------------
|
|
85
|
-
cask "font-meslo-lg-nerd-font"
|
|
86
|
-
cask "font-victor-mono"
|
|
87
|
-
cask "font-roboto-mono-for-powerline"
|
|
88
|
-
|
|
89
|
-
# -----------------------------------------------------------------------------
|
|
90
|
-
# Optional: LaTeX (large ~4GB)
|
|
91
|
-
# -----------------------------------------------------------------------------
|
|
92
|
-
cask "mactex"
|