@sebastienrousseau/dotfiles 0.2.468 → 0.2.481
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 +285 -0
- package/README.md +236 -319
- package/docs/ALIASES.md +128 -0
- package/docs/ARCHITECTURE.md +229 -0
- package/docs/COMPLIANCE.md +47 -0
- package/docs/COPYRIGHT +7 -0
- package/docs/FEATURES.md +166 -0
- package/docs/FONTS.md +147 -0
- package/docs/INSTALL.md +119 -0
- package/docs/KEYS.md +40 -0
- package/docs/KEY_ROTATION.md +219 -0
- package/docs/LEGACY_ROADMAP.md +142 -0
- package/docs/NEOVIM_IDE_GUIDE.md +52 -0
- package/docs/OPERATIONS.md +130 -0
- package/docs/PLAN.md +161 -0
- package/docs/PR_DESCRIPTION.md +149 -0
- package/docs/README.md +269 -0
- package/docs/REPO_AUDIT.md +23 -0
- package/docs/ROADMAP.md +148 -0
- package/docs/SCREENSHOTS.md +116 -0
- package/docs/SECRETS.md +76 -0
- package/docs/SECURITY.md +30 -0
- package/docs/SECURITY_CHECKLIST.md +25 -0
- package/docs/TASK.md +99 -0
- package/docs/TESTING.md +190 -0
- package/docs/TOOLS.md +146 -0
- package/docs/TROUBLESHOOTING.md +112 -0
- package/docs/UTILS.md +105 -0
- package/docs/WALKTHROUGH.md +165 -0
- package/docs/WSL2_NIX_TROUBLESHOOTING.md +723 -0
- package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
- package/docs/adr/ADR-002-shell-performance.md +121 -0
- package/docs/adr/ADR-003-security-first.md +140 -0
- package/docs/adr/ADR-004-cli-architecture.md +157 -0
- package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
- package/docs/adr/ADR-006-shell-selection.md +115 -0
- package/docs/adr/README.md +33 -0
- package/docs/themes/README.md +20 -0
- package/dot_config/aider/aider.conf.yml +32 -0
- package/dot_config/alacritty/alacritty.toml.tmpl +483 -0
- package/dot_config/ansible/ansible.cfg.tmpl +11 -0
- package/dot_config/atuin/config.toml +23 -0
- package/dot_config/bat/config +8 -0
- package/dot_config/brave-flags.conf.tmpl +7 -0
- package/dot_config/btop/btop.conf +16 -0
- package/dot_config/btop/themes/tokyonight.theme +34 -0
- package/dot_config/bun/bunfig.toml.tmpl +33 -0
- package/dot_config/claude/mcp_servers.json +49 -0
- package/dot_config/clippy.toml +55 -0
- package/dot_config/containers/containers.conf +14 -0
- package/dot_config/curl/dot_curlrc +18 -0
- package/dot_config/dlv/config.yml +39 -0
- package/dot_config/docker/config.json.tmpl +15 -0
- package/dot_config/dotfiles/boot/README.md +11 -0
- package/dot_config/dotfiles/grub/README.md +11 -0
- package/dot_config/dotfiles/lock/README.md +11 -0
- package/dot_config/dotfiles/versions.env.tmpl +19 -0
- package/dot_config/duf/duf.conf +6 -0
- package/dot_config/duti/defaults.duti +5 -0
- package/dot_config/emoji/emoji.txt +34 -0
- package/dot_config/fastfetch/config.jsonc +28 -0
- package/dot_config/firefox/user.js +8 -0
- package/dot_config/flatpak/flatpak.list +4 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +44 -0
- package/dot_config/gh/config.yml +12 -0
- package/dot_config/ghostty/config.tmpl +661 -0
- package/dot_config/git/attributes +12 -0
- package/dot_config/git/config.tmpl +77 -0
- package/dot_config/git/ignore +27 -0
- package/dot_config/gnupg/gpg-agent.conf.tmpl +11 -0
- package/dot_config/go/aliases.sh +61 -0
- package/dot_config/go/env.sh +24 -0
- package/dot_config/go/golangci.yml +118 -0
- package/dot_config/go/gopls.json +30 -0
- package/dot_config/goose/config.yaml +29 -0
- package/dot_config/gtk-3.0/gtk.css.tmpl +305 -0
- package/dot_config/gtk-3.0/settings.ini.tmpl +66 -0
- package/dot_config/gtk-4.0/gtk.css.tmpl +309 -0
- package/dot_config/gtk-4.0/settings.ini.tmpl +21 -0
- package/dot_config/htop/htoprc +20 -0
- package/dot_config/ice/README.md +13 -0
- package/dot_config/inputrc +2 -0
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +5 -0
- package/dot_config/just/justfile +104 -0
- package/dot_config/k9s/config.yaml.tmpl +65 -0
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
- package/dot_config/karabiner/karabiner.json +14 -0
- package/dot_config/kitty/kitty.conf.tmpl +517 -0
- package/dot_config/lazydocker/config.yml +186 -0
- package/dot_config/lazygit/config.yml +23 -0
- package/dot_config/lsd/config.yaml +19 -0
- package/dot_config/mas/masapps.txt +5 -0
- package/dot_config/minikube/config.json +13 -0
- package/dot_config/mise/config.toml +41 -0
- package/dot_config/mongosh/mongoshrc.js +67 -0
- package/dot_config/mycli/myclirc +67 -0
- package/dot_config/nano/nanorc +28 -0
- package/dot_config/ncdu/config +12 -0
- package/dot_config/nvim/init.lua +4 -0
- package/dot_config/nvim/lazy-lock.json +27 -0
- package/dot_config/nvim/lua/config/autocmds.lua +63 -0
- package/dot_config/nvim/lua/config/keymaps.lua +87 -0
- package/dot_config/nvim/lua/config/lazy.lua +34 -0
- package/dot_config/nvim/lua/config/options.lua +48 -0
- package/dot_config/nvim/lua/plugins/coding.lua +234 -0
- package/dot_config/nvim/lua/plugins/dap.lua +201 -0
- package/dot_config/nvim/lua/plugins/editor.lua +59 -0
- package/dot_config/nvim/lua/plugins/git.lua +9 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +221 -0
- package/dot_config/nvim/lua/plugins/markdown.lua +17 -0
- package/dot_config/nvim/lua/plugins/rust.lua +33 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +32 -0
- package/dot_config/nvim/lua/plugins/ui.lua +537 -0
- package/dot_config/nvim/snippets/all.lua +9 -0
- package/dot_config/nvim/snippets/python.lua +16 -0
- package/dot_config/pip/pip.conf.tmpl +32 -0
- package/dot_config/pypoetry/config.toml.tmpl +6 -0
- package/dot_config/pyrightconfig.json.tmpl +5 -0
- package/dot_config/raycast/README.md +13 -0
- package/dot_config/redis/redisclirc +41 -0
- package/dot_config/shell/00-container-detect.sh +53 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +95 -0
- package/dot_config/shell/05-core-safety.sh.tmpl +13 -0
- package/dot_config/shell/40-ls-colors.sh.tmpl +31 -0
- package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
- package/dot_config/shell/90-theme-switch.sh +70 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +35 -0
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +23 -0
- package/dot_config/shell/Brewfile +207 -0
- package/dot_config/shell/Brewfile.cask +92 -0
- package/dot_config/shell/Brewfile.cli +119 -0
- package/dot_config/shell/README.md +267 -0
- package/dot_config/shell/custom/context_suggest.zsh +68 -0
- package/dot_config/shell/custom/error_analysis.zsh +45 -0
- package/dot_config/sops/dot_sops.yaml +23 -0
- package/dot_config/starship.toml.tmpl +124 -0
- package/dot_config/task/Taskfile.yml +86 -0
- package/dot_config/tflint/tflint.hcl.tmpl +9 -0
- package/dot_config/tmux/tmux.conf.tmpl +181 -0
- package/dot_config/topgrade/topgrade.toml.tmpl +42 -0
- package/dot_config/vscode/extensions.txt +11 -0
- package/dot_config/vscode/settings.json.tmpl +123 -0
- package/dot_config/waybar/style.css +8 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +236 -0
- package/dot_config/wget/wgetrc +12 -0
- package/dot_config/yarn/yarnrc.yml.tmpl +36 -0
- package/dot_config/yazi/yazi.toml +40 -0
- package/dot_config/zellij/config.kdl +79 -0
- package/dot_config/zsh/dot_zprofile +13 -0
- package/dot_config/zsh/dot_zshenv +6 -0
- package/dot_config/zsh/dot_zshrc.tmpl +199 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +5 -0
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +22 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +123 -0
- package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +20 -0
- package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +9 -0
- package/dot_local/bin/executable_ai_core +130 -0
- package/dot_local/bin/executable_b64 +59 -0
- package/dot_local/bin/executable_dot +178 -0
- package/dot_local/bin/executable_dot_completion +55 -0
- package/dot_local/bin/executable_epoch +62 -0
- package/dot_local/bin/executable_extract +108 -0
- package/dot_local/bin/executable_git-ai-commit +160 -0
- package/dot_local/bin/executable_git-ai-diff +154 -0
- package/dot_local/bin/executable_hash +123 -0
- package/dot_local/bin/executable_hex +79 -0
- package/dot_local/bin/executable_ip +37 -0
- package/dot_local/bin/executable_jsonv +54 -0
- package/dot_local/bin/executable_jwt +78 -0
- package/dot_local/bin/executable_kill-port +59 -0
- package/dot_local/bin/executable_lorem +103 -0
- package/dot_local/bin/executable_regex +96 -0
- package/dot_local/bin/executable_tmux-sessionizer +187 -0
- package/dot_local/bin/executable_tour +137 -0
- package/dot_local/bin/executable_update +108 -0
- package/dot_local/bin/executable_uuid +57 -0
- package/dot_local/bin/executable_yamlv +39 -0
- package/dot_local/bin/executable_zig-install +89 -0
- package/dot_local/bin/voice_ops +7 -0
- package/dot_local/share/bash-completion/completions/dot +54 -0
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/install.sh +255 -0
- package/package.json +52 -76
- package/scripts/ci/validate-ci-config.sh +222 -0
- package/scripts/demo/record.sh +41 -0
- package/scripts/diagnostics/benchmark.sh +201 -0
- package/scripts/diagnostics/doctor.sh +115 -0
- package/scripts/diagnostics/drift-dashboard.sh +26 -0
- package/scripts/diagnostics/health.sh +356 -0
- package/scripts/diagnostics/history-analysis.sh +77 -0
- package/scripts/diagnostics/security-score.sh +392 -0
- package/scripts/diagnostics/verify_state.sh +60 -0
- package/scripts/dot/commands/appearance.sh +63 -0
- package/scripts/dot/commands/core.sh +130 -0
- package/scripts/dot/commands/diagnostics.sh +100 -0
- package/scripts/dot/commands/meta.sh +117 -0
- package/scripts/dot/commands/restore.sh +209 -0
- package/scripts/dot/commands/secrets.sh +81 -0
- package/scripts/dot/commands/security.sh +73 -0
- package/scripts/dot/commands/tools.sh +228 -0
- package/scripts/dot/lib/utils.sh +72 -0
- package/scripts/fonts/install-nerd-fonts.sh +59 -0
- package/scripts/fonts/patch-fonts.sh +34 -0
- package/scripts/ops/chezmoi-apply.sh +42 -0
- package/scripts/ops/chezmoi-diff.sh +14 -0
- package/scripts/ops/chezmoi-remove.sh +43 -0
- package/scripts/ops/chezmoi-update.sh +16 -0
- package/scripts/ops/heal.sh +466 -0
- package/scripts/ops/health-check.sh +380 -0
- package/scripts/ops/rollback.sh +531 -0
- package/scripts/ops/teleport.sh +32 -0
- package/scripts/secrets/age-init.sh +69 -0
- package/scripts/secrets/create-secrets-file.sh +44 -0
- package/scripts/secrets/encrypt-ssh-key.sh +42 -0
- package/scripts/security/backup.sh +17 -0
- package/scripts/security/dns-doh.sh +29 -0
- package/scripts/security/encryption-check.sh +39 -0
- package/scripts/security/enforce-policies.sh +339 -0
- package/scripts/security/firewall.sh +34 -0
- package/scripts/security/lock-configs.sh +57 -0
- package/scripts/security/lock-screen.sh +33 -0
- package/scripts/security/manage-secrets.sh +415 -0
- package/scripts/security/telemetry-kill.sh +28 -0
- package/scripts/security/usb-safety.sh +29 -0
- package/scripts/tests/README.md +241 -0
- package/scripts/tests/benchmark.sh +91 -0
- package/scripts/tests/framework/assertions.sh +283 -0
- package/scripts/tests/framework/mocks.sh +201 -0
- package/scripts/tests/framework/test_runner.sh +189 -0
- package/scripts/tests/integration/test_install.sh +237 -0
- package/scripts/tests/performance/benchmark_runner.sh +156 -0
- package/scripts/tests/performance/regression_check.sh +73 -0
- package/scripts/tests/performance/stress_test.sh +65 -0
- package/scripts/tests/test-aliases.sh +25 -0
- package/scripts/tests/test-docker.sh +48 -0
- package/scripts/tests/unit/test_ai_aliases.sh +158 -0
- package/scripts/tests/unit/test_ai_cli_checks.sh +47 -0
- package/scripts/tests/unit/test_backup.sh +227 -0
- package/scripts/tests/unit/test_case_functions.sh +238 -0
- package/scripts/tests/unit/test_cd_aliases.sh +367 -0
- package/scripts/tests/unit/test_dot_cli.sh +217 -0
- package/scripts/tests/unit/test_encode64.sh +67 -0
- package/scripts/tests/unit/test_environment.sh +78 -0
- package/scripts/tests/unit/test_extract.sh +163 -0
- package/scripts/tests/unit/test_framework_edge_cases.sh +113 -0
- package/scripts/tests/unit/test_genpass.sh +298 -0
- package/scripts/tests/unit/test_install_edge_cases.sh +167 -0
- package/scripts/tests/unit/test_installers.sh +172 -0
- package/scripts/tests/unit/test_keygen.sh +68 -0
- package/scripts/tests/unit/test_logging.sh +96 -0
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +388 -0
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +321 -0
- package/scripts/tests/unit/test_prependpath.sh +66 -0
- package/scripts/tests/unit/test_prependpath_refactored.sh +89 -0
- package/scripts/tests/unit/test_rd.sh +230 -0
- package/scripts/tests/unit/test_security_fixes.sh +130 -0
- package/scripts/tests/unit/test_security_scripts.sh +87 -0
- package/scripts/tests/unit/test_template_validation.sh +238 -0
- package/scripts/tests/unit/test_utility_functions.sh +144 -0
- package/scripts/tests/unit/test_wave1_alias_split.sh +132 -0
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +61 -0
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +52 -0
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +97 -0
- package/scripts/tests/unit/test_wave1_install_gpg.sh +35 -0
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +89 -0
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +115 -0
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +75 -0
- package/scripts/tests/unit/test_zipf.sh +76 -0
- package/scripts/theme/apply-gnome-theme.sh +297 -0
- package/scripts/theme/install-boot-logo.sh +61 -0
- package/scripts/theme/install-catppuccin-themes.sh +346 -0
- package/scripts/theme/install-cursors.sh +24 -0
- package/scripts/theme/install-file-icons.sh +25 -0
- package/scripts/theme/install-grub-theme.sh +51 -0
- package/scripts/theme/install-lock-icon.sh +29 -0
- package/scripts/theme/switch.sh +250 -0
- package/scripts/theme/wallpaper-rotate.sh +82 -0
- package/scripts/theme/wallpaper-sync.sh +42 -0
- package/scripts/tools/cmatrix.sh +20 -0
- package/scripts/tools/detect-collisions.py +84 -0
- package/scripts/tools/emoji-picker.sh +45 -0
- package/scripts/tools/figlet-banner.sh +17 -0
- package/scripts/tools/log-rotate.sh +29 -0
- package/scripts/tools/lolcat-wrap.sh +18 -0
- package/scripts/tools/pipes.sh +47 -0
- package/scripts/tuning/linux.sh +175 -0
- package/scripts/tuning/macos.sh +46 -0
- package/templates/projects/go/README.md +7 -0
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
- package/templates/projects/go/go.mod +3 -0
- package/templates/projects/molecule/README.md +7 -0
- package/templates/projects/molecule/converge.yml +7 -0
- package/templates/projects/molecule/molecule.yml +16 -0
- package/templates/projects/node/README.md +7 -0
- package/templates/projects/node/package.json +10 -0
- package/templates/projects/node/src/index.js +2 -0
- package/templates/projects/packer/README.md +15 -0
- package/templates/projects/packer/main.pkr.hcl +15 -0
- package/templates/projects/python/README.md +7 -0
- package/templates/projects/python/pyproject.toml +25 -0
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +2 -0
- package/dist/Makefile +0 -57
- package/dist/bin/backup.d.ts +0 -3
- package/dist/bin/backup.d.ts.map +0 -1
- package/dist/bin/backup.js +0 -4
- package/dist/bin/backup.js.map +0 -1
- package/dist/bin/constants.d.ts +0 -7
- package/dist/bin/constants.d.ts.map +0 -1
- package/dist/bin/constants.js +0 -2
- package/dist/bin/constants.js.map +0 -1
- package/dist/bin/copy.d.ts +0 -3
- package/dist/bin/copy.d.ts.map +0 -1
- package/dist/bin/copy.js +0 -3
- package/dist/bin/copy.js.map +0 -1
- package/dist/bin/dotfiles.d.ts +0 -3
- package/dist/bin/dotfiles.d.ts.map +0 -1
- package/dist/bin/dotfiles.js +0 -2
- package/dist/bin/dotfiles.js.map +0 -1
- package/dist/bin/download.d.ts +0 -3
- package/dist/bin/download.d.ts.map +0 -1
- package/dist/bin/download.js +0 -2
- package/dist/bin/download.js.map +0 -1
- package/dist/bin/index.d.ts +0 -2
- package/dist/bin/index.d.ts.map +0 -1
- package/dist/bin/index.js +0 -1
- package/dist/bin/index.js.map +0 -1
- package/dist/bin/transfer.d.ts +0 -3
- package/dist/bin/transfer.d.ts.map +0 -1
- package/dist/bin/transfer.js +0 -4
- package/dist/bin/transfer.js.map +0 -1
- package/dist/bin/unpack.d.ts +0 -3
- package/dist/bin/unpack.d.ts.map +0 -1
- package/dist/bin/unpack.js +0 -3
- package/dist/bin/unpack.js.map +0 -1
- package/dist/filesizes.txt +0 -380
- package/dist/lib/README.md +0 -12
- package/dist/lib/aliases/README.md +0 -55
- package/dist/lib/aliases/archives/README.md +0 -59
- package/dist/lib/aliases/archives/archives.aliases.sh +0 -157
- package/dist/lib/aliases/cd/README.md +0 -65
- package/dist/lib/aliases/cd/cd.aliases.sh +0 -73
- package/dist/lib/aliases/chmod/README.md +0 -109
- package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -91
- package/dist/lib/aliases/clear/README.md +0 -37
- package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
- package/dist/lib/aliases/configuration/README.md +0 -39
- package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -73
- package/dist/lib/aliases/default/README.md +0 -40
- package/dist/lib/aliases/default/default.aliases.sh +0 -139
- package/dist/lib/aliases/dig/README.md +0 -37
- package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
- package/dist/lib/aliases/disk-usage/README.md +0 -36
- package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
- package/dist/lib/aliases/editor/README.md +0 -53
- package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
- package/dist/lib/aliases/find/README.md +0 -46
- package/dist/lib/aliases/find/find.aliases.sh +0 -60
- package/dist/lib/aliases/gcloud/README.md +0 -63
- package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
- package/dist/lib/aliases/git/README.md +0 -153
- package/dist/lib/aliases/git/git.aliases.sh +0 -544
- package/dist/lib/aliases/gnu/README.md +0 -89
- package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
- package/dist/lib/aliases/heroku/README.md +0 -430
- package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
- package/dist/lib/aliases/interactive/README.md +0 -55
- package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
- package/dist/lib/aliases/jekyll/README.md +0 -41
- package/dist/lib/aliases/jekyll/jekyll.aliases.sh +0 -54
- package/dist/lib/aliases/list/README.md +0 -42
- package/dist/lib/aliases/list/list.aliases.sh +0 -86
- package/dist/lib/aliases/macOS/README.md +0 -42
- package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
- package/dist/lib/aliases/make/README.md +0 -32
- package/dist/lib/aliases/make/make.aliases.sh +0 -35
- package/dist/lib/aliases/mkdir/README.md +0 -30
- package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
- package/dist/lib/aliases/npm/README.md +0 -41
- package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
- package/dist/lib/aliases/permission/README.md +0 -47
- package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
- package/dist/lib/aliases/pnpm/README.md +0 -53
- package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
- package/dist/lib/aliases/ps/README.md +0 -29
- package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
- package/dist/lib/aliases/rsync/README.md +0 -25
- package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
- package/dist/lib/aliases/rust/README.md +0 -61
- package/dist/lib/aliases/rust/rust.aliases.sh +0 -127
- package/dist/lib/aliases/subversion/README.md +0 -66
- package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
- package/dist/lib/aliases/sudo/README.md +0 -27
- package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
- package/dist/lib/aliases/tmux/README.md +0 -31
- package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
- package/dist/lib/aliases/update/README.md +0 -38
- package/dist/lib/aliases/update/update.aliases.sh +0 -69
- package/dist/lib/aliases/uuid/README.md +0 -24
- package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
- package/dist/lib/aliases/wget/README.md +0 -27
- package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
- package/dist/lib/aliases.sh +0 -50
- package/dist/lib/configurations/README.md +0 -18
- package/dist/lib/configurations/bash/bashrc +0 -39
- package/dist/lib/configurations/curl/cacert.pem +0 -3460
- package/dist/lib/configurations/curl/curlrc +0 -56
- package/dist/lib/configurations/default/color.sh +0 -24
- package/dist/lib/configurations/default/constants.sh +0 -43
- package/dist/lib/configurations/default/editor.sh +0 -18
- package/dist/lib/configurations/default/prompt.sh +0 -39
- package/dist/lib/configurations/input/inputrc +0 -23
- package/dist/lib/configurations/jshint/jshintrc +0 -37
- package/dist/lib/configurations/nano/nanorc +0 -35
- package/dist/lib/configurations/profile/profile +0 -37
- package/dist/lib/configurations/tmux/default +0 -18
- package/dist/lib/configurations/tmux/display +0 -30
- package/dist/lib/configurations/tmux/linux +0 -18
- package/dist/lib/configurations/tmux/navigation +0 -30
- package/dist/lib/configurations/tmux/panes +0 -10
- package/dist/lib/configurations/tmux/theme +0 -29
- package/dist/lib/configurations/tmux/tmux +0 -21
- package/dist/lib/configurations/vim/vimrc +0 -73
- package/dist/lib/configurations/wget/wgetrc +0 -40
- package/dist/lib/configurations/zsh/zshrc +0 -51
- package/dist/lib/configurations.sh +0 -33
- package/dist/lib/functions/README.md +0 -78
- package/dist/lib/functions/cdls.sh +0 -14
- package/dist/lib/functions/curlheader.sh +0 -22
- package/dist/lib/functions/curlstatus.sh +0 -17
- package/dist/lib/functions/curltime.sh +0 -33
- package/dist/lib/functions/encode64.sh +0 -27
- package/dist/lib/functions/environment.sh +0 -38
- package/dist/lib/functions/extract.sh +0 -34
- package/dist/lib/functions/filehead.sh +0 -4
- package/dist/lib/functions/freespace.sh +0 -21
- package/dist/lib/functions/genpwd.sh +0 -41
- package/dist/lib/functions/goto.sh +0 -16
- package/dist/lib/functions/hidehiddenfiles.sh +0 -14
- package/dist/lib/functions/hostinfo.sh +0 -27
- package/dist/lib/functions/hstats.sh +0 -11
- package/dist/lib/functions/httpdebug.sh +0 -9
- package/dist/lib/functions/keygen.sh +0 -31
- package/dist/lib/functions/last.sh +0 -11
- package/dist/lib/functions/logout.sh +0 -12
- package/dist/lib/functions/lowercase.sh +0 -29
- package/dist/lib/functions/matrix.sh +0 -41
- package/dist/lib/functions/mount_read_only.sh +0 -11
- package/dist/lib/functions/myproc.sh +0 -9
- package/dist/lib/functions/prependpath.sh +0 -21
- package/dist/lib/functions/ql.sh +0 -9
- package/dist/lib/functions/rd.sh +0 -17
- package/dist/lib/functions/remove_disk.sh +0 -11
- package/dist/lib/functions/ren.sh +0 -13
- package/dist/lib/functions/showhiddenfiles.sh +0 -14
- package/dist/lib/functions/size.sh +0 -15
- package/dist/lib/functions/stopwatch.sh +0 -15
- package/dist/lib/functions/uppercase.sh +0 -29
- package/dist/lib/functions/view-source.sh +0 -9
- package/dist/lib/functions/vscode.sh +0 -32
- package/dist/lib/functions/whoisport.sh +0 -14
- package/dist/lib/functions/zipf.sh +0 -16
- package/dist/lib/functions.sh +0 -32
- package/dist/lib/history.sh +0 -142
- package/dist/lib/paths/ant/ant.paths.sh +0 -15
- package/dist/lib/paths/default/default.paths.sh +0 -19
- package/dist/lib/paths/homebrew/homebrew.paths.sh +0 -27
- package/dist/lib/paths/java/java.paths.sh +0 -19
- package/dist/lib/paths/maven/maven.paths.sh +0 -18
- package/dist/lib/paths/node/node.paths.sh +0 -15
- package/dist/lib/paths/nvm/nvm.paths.sh +0 -23
- package/dist/lib/paths/pnpm/pnpm.paths.sh +0 -15
- package/dist/lib/paths/python/python.paths.sh +0 -36
- package/dist/lib/paths/ruby/ruby.paths.sh +0 -25
- package/dist/lib/paths/tmux/tmux.paths.sh +0 -12
- package/dist/lib/paths.sh +0 -33
- package/dist/scripts/backup.sh +0 -95
- package/dist/scripts/banner.sh +0 -20
- package/dist/scripts/build.sh +0 -41
- package/dist/scripts/clean.sh +0 -31
- package/dist/scripts/compile.sh +0 -54
- package/dist/scripts/copy.sh +0 -108
- package/dist/scripts/dotfiles.sh +0 -63
- package/dist/scripts/download.sh +0 -35
- package/dist/scripts/help.sh +0 -57
- package/dist/scripts/ssh.sh +0 -55
- package/dist/scripts/unpack.sh +0 -28
- /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Neovim
|
|
2
|
+
|
|
3
|
+
## Discover
|
|
4
|
+
|
|
5
|
+
### 1. Modern Core
|
|
6
|
+
- **Installation**: Uses Neovim Nightly (v0.11+) for the latest features and plugin compatibility.
|
|
7
|
+
- **Configuration**: A modular and lazy-loaded configuration based on `lazy.nvim`.
|
|
8
|
+
- **UI**: A beautiful and functional UI with a dashboard, status line, buffer line, and file explorer.
|
|
9
|
+
- **LSP**: Full LSP support for diagnostics, code actions, and more, managed by `mason.nvim`.
|
|
10
|
+
|
|
11
|
+
### 2. Language Support
|
|
12
|
+
- **Rust**: Out-of-the-box support for Rust development with `rustaceanvim`.
|
|
13
|
+
- **Python**: Full support for Python development with `basedpyright`, `ruff`, and `venv-selector`.
|
|
14
|
+
- **Web**: Support for web development with `prettier` and `eslint`.
|
|
15
|
+
|
|
16
|
+
### 3. AI Integration
|
|
17
|
+
- **Copilot**: `copilot.lua` for code completion. Run `:Copilot auth` to sign in.
|
|
18
|
+
- **Copilot Chat**: AI sidebar for asking questions and getting help (`<leader>cc`).
|
|
19
|
+
|
|
20
|
+
### 4. VS Code Parity
|
|
21
|
+
- **Problem Panel**: `trouble.nvim` for a VS Code-like problems panel (`<leader>xx`).
|
|
22
|
+
- **Search & Replace**: `nvim-spectre` for project-wide search and replace (`<leader>S`).
|
|
23
|
+
- **Auto-Pairs**: Automatically closes brackets and pairs.
|
|
24
|
+
- **TODOs**: Highlights `TODO` and `FIXME` comments.
|
|
25
|
+
- **Session**: Auto-restores your last session.
|
|
26
|
+
|
|
27
|
+
## Keybindings
|
|
28
|
+
| Key | Action |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| `<Space>ff` | Find Files |
|
|
31
|
+
| `<Space>fg` | Grep (Search) text |
|
|
32
|
+
| `<Space>fb` | File browser |
|
|
33
|
+
| `<Space>fp` | Projects |
|
|
34
|
+
| `<Space>e` | Toggle File Explorer |
|
|
35
|
+
| `<Space>a` | Add file to Harpoon |
|
|
36
|
+
| `<Ctrl>e` | Open Harpoon menu |
|
|
37
|
+
| `gd` | Go to Definition |
|
|
38
|
+
| `gr` | Go to References |
|
|
39
|
+
| `<leader>ca` | Code actions |
|
|
40
|
+
| `<leader>cf` | Format code |
|
|
41
|
+
| `<leader>cr` | Rename symbol |
|
|
42
|
+
| `<leader>tt` | Toggle terminal |
|
|
43
|
+
| `<leader>tn` | Test nearest |
|
|
44
|
+
| `<leader>tf` | Test file |
|
|
45
|
+
| `<leader>ts` | Test suite |
|
|
46
|
+
| `<F5>` | Continue (Debug) |
|
|
47
|
+
| `<F10>` | Step over (Debug) |
|
|
48
|
+
| `<F11>` | Step into (Debug) |
|
|
49
|
+
| `<F12>` | Step out (Debug) |
|
|
50
|
+
| `<leader>cc` | Toggle Copilot Chat |
|
|
51
|
+
| `<leader>xx` | Toggle Diagnostics (Trouble) |
|
|
52
|
+
| `<leader>S` | Toggle Spectre (Search/Replace) |
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Discover operations
|
|
2
|
+
|
|
3
|
+
This guide covers the core workflows to keep your dotfiles running well across platforms.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Platforms
|
|
8
|
+
|
|
9
|
+
### macOS
|
|
10
|
+
**Primary manager**: `Homebrew`
|
|
11
|
+
|
|
12
|
+
- **Update system**:
|
|
13
|
+
```bash
|
|
14
|
+
# Updates Dotfiles AND Homebrew packages
|
|
15
|
+
chezmoi update
|
|
16
|
+
```
|
|
17
|
+
*Behind the scenes, this runs `brew bundle install` to match the `Brewfile.lock.json`.*
|
|
18
|
+
|
|
19
|
+
- **Troubleshooting**:
|
|
20
|
+
- **Permission issues**: `sudo chown -R $(whoami) $(brew --prefix)/*`
|
|
21
|
+
- **Drift**: Run `brew bundle cleanup` to remove unmanaged packages.
|
|
22
|
+
|
|
23
|
+
### Linux (Debian, Ubuntu, ZorinOS, Kali)
|
|
24
|
+
**Primary manager**: `apt-get` / `snap`
|
|
25
|
+
|
|
26
|
+
- **Update system**:
|
|
27
|
+
```bash
|
|
28
|
+
# 1. Update OS packages
|
|
29
|
+
sudo apt update && sudo apt upgrade -y
|
|
30
|
+
|
|
31
|
+
# 2. Update Dotfiles
|
|
32
|
+
chezmoi update
|
|
33
|
+
```
|
|
34
|
+
> [!NOTE]
|
|
35
|
+
> On Linux, `chezmoi` focuses on configuration. Package updates work best with the OS package manager to avoid `sudo` conflicts.
|
|
36
|
+
|
|
37
|
+
- **Troubleshooting**:
|
|
38
|
+
- **Font issues**: If icons are missing, run `./install/provision/run_onchange_50-install-fonts.sh` manually.
|
|
39
|
+
- **ZorinOS/GNOME**: Custom keybindings may require `dconf load` if Chezmoi does not apply them automatically.
|
|
40
|
+
|
|
41
|
+
### Windows (WSL2)
|
|
42
|
+
**Primary manager**: `apt-get` (inside WSL)
|
|
43
|
+
|
|
44
|
+
- **Update system**: Same as **Linux**.
|
|
45
|
+
|
|
46
|
+
- **WSL specifics**:
|
|
47
|
+
- **Access Windows files**: WSL mounts Windows drives at `/mnt/c/`.
|
|
48
|
+
- **Clipboard**: Dotfiles configures `win32yank.exe` automatically for clipboard sharing.
|
|
49
|
+
- **Performance**: Keep project files inside the Linux filesystem (`~/projects`), NOT in `/mnt/c/`, for 100x better IO performance.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Workflows
|
|
54
|
+
|
|
55
|
+
### Apply changes
|
|
56
|
+
After editing any config file:
|
|
57
|
+
```bash
|
|
58
|
+
dot apply
|
|
59
|
+
```
|
|
60
|
+
*Triggers: `dot_zshrc` reload, audit logging.*
|
|
61
|
+
|
|
62
|
+
### Roll back
|
|
63
|
+
If an update breaks your setup, revert:
|
|
64
|
+
```bash
|
|
65
|
+
cd ~/.dotfiles
|
|
66
|
+
git reset --hard HEAD@{1} # Go back 1 operation
|
|
67
|
+
chezmoi apply
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Debug
|
|
71
|
+
If something runs slow or appears broken:
|
|
72
|
+
|
|
73
|
+
1. **Check health**:
|
|
74
|
+
```bash
|
|
75
|
+
dot doctor
|
|
76
|
+
```
|
|
77
|
+
2. **Verbose mode**:
|
|
78
|
+
```bash
|
|
79
|
+
DOTFILES_DEBUG=1 dot apply
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Tools
|
|
85
|
+
|
|
86
|
+
### Make it yours
|
|
87
|
+
- **Wallpaper rotation**:
|
|
88
|
+
```bash
|
|
89
|
+
~/.dotfiles/scripts/theme/wallpaper-rotate.sh --interval 300
|
|
90
|
+
```
|
|
91
|
+
- **Cursor theme (Linux)**:
|
|
92
|
+
```bash
|
|
93
|
+
DOTFILES_CURSOR_THEME=Papirus ~/.dotfiles/scripts/theme/install-cursors.sh
|
|
94
|
+
```
|
|
95
|
+
- **File icons (Linux/macOS)**:
|
|
96
|
+
```bash
|
|
97
|
+
DOTFILES_ICON_THEME=Papirus ~/.dotfiles/scripts/theme/install-file-icons.sh
|
|
98
|
+
```
|
|
99
|
+
- **Lock icon (Linux)**:
|
|
100
|
+
```bash
|
|
101
|
+
DOTFILES_LOCK_ICON=~/.config/dotfiles/lock/icon.png ~/.dotfiles/scripts/theme/install-lock-icon.sh
|
|
102
|
+
```
|
|
103
|
+
- **GRUB theme (Linux)**:
|
|
104
|
+
```bash
|
|
105
|
+
sudo ~/.dotfiles/scripts/theme/install-grub-theme.sh --apply
|
|
106
|
+
```
|
|
107
|
+
- **Boot logo (Linux)**:
|
|
108
|
+
```bash
|
|
109
|
+
sudo ~/.dotfiles/scripts/theme/install-boot-logo.sh --apply
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Atuin
|
|
113
|
+
- **Login**: `atuin login`
|
|
114
|
+
- **Sync**: `atuin sync`
|
|
115
|
+
- **Search**: `Ctrl-r` (Global history search)
|
|
116
|
+
|
|
117
|
+
### Zoxide
|
|
118
|
+
- **Jump**: `z project` matches `~/dev/project`
|
|
119
|
+
- **Query**: `zi` (Interactive selection)
|
|
120
|
+
|
|
121
|
+
### Yazi
|
|
122
|
+
- **Open**: Type `y`
|
|
123
|
+
- **Preview**: Spacebar to preview files
|
|
124
|
+
- **Quit**: `q`
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Security policy
|
|
129
|
+
- **GPG/SSH**: All commits use SSH signing.
|
|
130
|
+
- **Audit log**: Review `~/.local/share/dotfiles.log` for a timeline of all changes that Dotfiles applied.
|
package/docs/PLAN.md
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Universal Configuration Plan (Chezmoi)
|
|
2
|
+
|
|
3
|
+
... [Previous Sections Unchanged] ...
|
|
4
|
+
|
|
5
|
+
# Phase 15: Operational Documentation [COMPLETED]
|
|
6
|
+
- [x] **Guide**: Created `OPERATIONS.md`.
|
|
7
|
+
|
|
8
|
+
# Phase 16: Final Release Verification [COMPLETED]
|
|
9
|
+
- [x] **Verification**: All systems passed.
|
|
10
|
+
|
|
11
|
+
# Phase 17: Structural Optimizations (v0.3.0)
|
|
12
|
+
|
|
13
|
+
## Goal
|
|
14
|
+
Implement structural improvements for better organization and maintainability, anticipating v0.3.0.
|
|
15
|
+
|
|
16
|
+
## Proposed Changes
|
|
17
|
+
|
|
18
|
+
### [REFACTOR] Semantic Organization
|
|
19
|
+
- **Move**: `dot_config/dotfiles` -> `dot_config/shell`.
|
|
20
|
+
- **Reason**: `dotfiles` is redundant inside a dotfiles repo. `shell` describes the content (aliases, paths, functions).
|
|
21
|
+
- **Update**: Update references in `dot_zshrc.tmpl` and install scripts.
|
|
22
|
+
|
|
23
|
+
### [REFACTOR] Script Installation
|
|
24
|
+
- **Move**: `bin/` -> `dot_local/bin/`.
|
|
25
|
+
- **Reason**: Ensures scripts are automatically installed to `~/.local/bin` (user PATH).
|
|
26
|
+
|
|
27
|
+
### [CLEANUP] Remove Legacy Files
|
|
28
|
+
- **Delete**: `Makefile`, `package.json`.
|
|
29
|
+
- **Reason**: Replaced by `chezmoi` and GitHub Actions.
|
|
30
|
+
|
|
31
|
+
### [REFACTOR] Script Segregation
|
|
32
|
+
- **Split**: `run_onchange_install_packages.sh.tmpl` into:
|
|
33
|
+
- `run_onchange_darwin_install-packages.sh.tmpl` (Homebrew)
|
|
34
|
+
- `run_onchange_linux_install-packages.sh.tmpl` (Apt)
|
|
35
|
+
- `run_onchange_after_install-vim-plug.sh.tmpl` (Universal)
|
|
36
|
+
- **Reason**: Improves readability and maintainability.
|
|
37
|
+
|
|
38
|
+
# Phase 18: Component Documentation Polish [COMPLETED]
|
|
39
|
+
|
|
40
|
+
## Goal
|
|
41
|
+
Update component documentation (`aliases`, `functions`, `paths`) to match the new `chezmoi` architecture and ensure accuracy.
|
|
42
|
+
|
|
43
|
+
## Changes
|
|
44
|
+
- **Aliases**: Updated `aliases/README.md` to explain modular `*.aliases.sh` loading.
|
|
45
|
+
- **Functions**: Updated `functions/README.md` to remove legacy install instructions.
|
|
46
|
+
- **Paths**: Updated `paths/README.md` to clarify precedence and `chezmoi` integration.
|
|
47
|
+
- **Cleanup**: Standardized all nested alias READMEs to remove legacy HTML artifacts and restore banners.
|
|
48
|
+
|
|
49
|
+
# Phase 19: Toolchain Expansion [COMPLETED]
|
|
50
|
+
|
|
51
|
+
## Goal
|
|
52
|
+
Add comprehensive support for modern DevOps/Cloud engineering tools.
|
|
53
|
+
|
|
54
|
+
## Proposed Changes
|
|
55
|
+
### [NEW] Aliases
|
|
56
|
+
- **Kubernetes**: `kubectl` shortcuts (`k`), `helm`, `k9s`.
|
|
57
|
+
- **IaC**: `terraform` (`tf`), `opentofu`, `ansible`.
|
|
58
|
+
- **Languages**: `go` (`g`), `yarn`, `uv` (modern Python).
|
|
59
|
+
- **Diagnostics**: `jq`, `yq`, `nc`, `curlie`.
|
|
60
|
+
- **Structure**: Each component gets its own directory in `.chezmoitemplates/aliases/` with a standard `README.md`.
|
|
61
|
+
|
|
62
|
+
# Phase 20: Intelligent Assistance [COMPLETED]
|
|
63
|
+
|
|
64
|
+
## Goal
|
|
65
|
+
Integrate AI capabilities and improved help systems.
|
|
66
|
+
|
|
67
|
+
## Proposed Changes
|
|
68
|
+
### [NEW] Functions
|
|
69
|
+
- **`dothelp`**: Index and search all aliases/functions with descriptions.
|
|
70
|
+
- **AI Wrappers**: Aliases for `gh copilot`, `fabric`, or generic LLM CLI tools.
|
|
71
|
+
|
|
72
|
+
# Phase 22: Automated Testing [COMPLETED]
|
|
73
|
+
|
|
74
|
+
## Goal
|
|
75
|
+
Verify the dotfiles work on clean Linux environments.
|
|
76
|
+
|
|
77
|
+
## Proposed Changes
|
|
78
|
+
### [CI] GitHub Actions
|
|
79
|
+
- **Container Job**: Run `chezmoi init --apply` inside a localized Docker container (Ubuntu/Fedora) to prove universal compatibility.
|
|
80
|
+
|
|
81
|
+
# Phase 23: Enterprise Core & Security (The Trust Layer) [COMPLETED]
|
|
82
|
+
|
|
83
|
+
## Goal
|
|
84
|
+
Establish a "Trust Layer" for the dotfiles ecosystem, ensuring supply chain security and configuration integrity.
|
|
85
|
+
|
|
86
|
+
## Changes
|
|
87
|
+
- **SLSA & SBOM**: Implemented `security-release.yml` for provenance and SBOM generation.
|
|
88
|
+
- **Signing**: Created `enable-signing` wizard alias for easy GPG/SSH configuration.
|
|
89
|
+
- **Immutability**: Created `lock-configs.sh` script and `lock-configs`/`unlock-configs` aliases.
|
|
90
|
+
|
|
91
|
+
- **Immutability**: Created `lock-configs.sh` script and `lock-configs`/`unlock-configs` aliases.
|
|
92
|
+
|
|
93
|
+
# Phase 27: Self-Healing & Diagnostics [COMPLETED]
|
|
94
|
+
|
|
95
|
+
## Goal
|
|
96
|
+
Enable the system to self-diagnose and repair configuration drift.
|
|
97
|
+
|
|
98
|
+
## Changes
|
|
99
|
+
- **Scripts**: Created `scripts/diagnostics/doctor.sh` for system health checks.
|
|
100
|
+
- **Aliases**: Added `dot doctor`, `dot drift` (`chezmoi verify`), and `dot heal` (`chezmoi apply`).
|
|
101
|
+
|
|
102
|
+
# Phase 51: Regulatory Compliance [COMPLETED]
|
|
103
|
+
|
|
104
|
+
## Goal
|
|
105
|
+
Document and enforce compliance with SOC2, ISO, and GDPR standards.
|
|
106
|
+
|
|
107
|
+
## Changes
|
|
108
|
+
- **Documentation**: Created `COMPLIANCE.md` with control mappings.
|
|
109
|
+
- **Privacy**: Added `privacy-mode` alias to disable CLI telemetry.
|
|
110
|
+
- **Audit**: Added `dot audit` alias for tracking changes.
|
|
111
|
+
|
|
112
|
+
# Phase 54: macOS Deep Integration [COMPLETED]
|
|
113
|
+
|
|
114
|
+
## Goal
|
|
115
|
+
Harden and optimize the macOS environment via code.
|
|
116
|
+
|
|
117
|
+
## Changes
|
|
118
|
+
- **Defaults**: Created `run_onchange_darwin_defaults.sh.tmpl` to apply secure/optimized `defaults`.
|
|
119
|
+
- **Hardening**: Enabled screensaver passwords, firewall settings, and disabled guest access.
|
|
120
|
+
|
|
121
|
+
## Goal
|
|
122
|
+
Ensure legal compliance and proper attribution for the open-source project.
|
|
123
|
+
|
|
124
|
+
## Changes
|
|
125
|
+
- **Licensing**: Added `scan-licenses` alias (Trivy/FOSSology).
|
|
126
|
+
- **Headers**: Added `add-headers` alias for automated copyright insertion.
|
|
127
|
+
- **Compliance**: Added `check-cla` and `gen-notice` tools.
|
|
128
|
+
|
|
129
|
+
# Phase 59: Font Typography [COMPLETED]
|
|
130
|
+
|
|
131
|
+
## Goal
|
|
132
|
+
Standardize typography and ensure high-quality font rendering across all environments.
|
|
133
|
+
|
|
134
|
+
## Proposed Changes
|
|
135
|
+
- **Nerd Fonts**: Automate installation of `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
|
|
136
|
+
- **Fontconfig**: Deploy XML configuration for Linux font rendering (antialiasing, hinting).
|
|
137
|
+
- **Aliases**: `update-fonts` to refresh font caches (`fc-cache`).
|
|
138
|
+
|
|
139
|
+
# Phase 26: OS Bundling & Compliance [COMPLETED]
|
|
140
|
+
|
|
141
|
+
## Goal
|
|
142
|
+
Prepare the dotfiles for system-wide deployment and ensure strict adherence to standards.
|
|
143
|
+
|
|
144
|
+
## Proposed Changes
|
|
145
|
+
- **XDG Compliance**: Audit `00-default.paths.sh` to ensure all standard XDG variables are exported.
|
|
146
|
+
- **Vendor Hooks**: Update `dot_zshrc.tmpl` to source system-level overrides from `/etc/dotfiles/defaults.d/` (Simulates "site-local" config).
|
|
147
|
+
- **Bundling**: Create `scripts/core/package.sh` to create a distributable tarball and scaffold `.deb`/`.pkg` generation logic.
|
|
148
|
+
|
|
149
|
+
# Phase 24: The Universal Installer (Zero-Dependency) [COMPLETED]
|
|
150
|
+
|
|
151
|
+
## Goal
|
|
152
|
+
Provide a frictionless, "one-curl" onboarding experience and capabilities to deploy configurations remotely.
|
|
153
|
+
|
|
154
|
+
## Proposed Changes
|
|
155
|
+
- **install.sh**: A standalone, zero-dependency bash script that:
|
|
156
|
+
1. Detects OS/Arch.
|
|
157
|
+
2. Installs `chezmoi` (binary or via package manager).
|
|
158
|
+
3. Initializes the dotfiles repo.
|
|
159
|
+
4. Runs `chezmoi apply`.
|
|
160
|
+
5. Uses ANSI colors for a polished "TUI" feel.
|
|
161
|
+
- **Teleportation**: `scripts/ops/teleport.sh` using `chezmoi archive` piped to SSH to ephemeralize configs on remote servers (e.g., `dot teleport user@server`).
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Release notes — v0.2.480
|
|
2
|
+
|
|
3
|
+
## Release overview
|
|
4
|
+
|
|
5
|
+
This release transforms the dotfiles into a high-performance, cross-platform system managed by **chezmoi**.
|
|
6
|
+
|
|
7
|
+
### Architecture
|
|
8
|
+
v0.2.480 is a portable **shell distribution** managed by `chezmoi` (source of truth in `~/.dotfiles`).
|
|
9
|
+
|
|
10
|
+
- **XDG-first**: Configs strictly mapped to `~/.config/` (no `~/.foo` sprawl).
|
|
11
|
+
- **Single entrypoint**: `dot_zshenv` acts as an XDG bootloader for instant environment setup.
|
|
12
|
+
- **Modern toolchain**: Replaces classic Unix tools with high-performance Rust alternatives:
|
|
13
|
+
- `ls` → `eza`
|
|
14
|
+
- `cat` → `bat`
|
|
15
|
+
- `grep` → `ripgrep`
|
|
16
|
+
- `cd` → `zoxide` (smart directory jumping)
|
|
17
|
+
- `history` → `atuin` (syncable, encrypted SQLite history)
|
|
18
|
+
- **Predictive shell**:
|
|
19
|
+
- **AI strategy**: Context-aware autosuggestions coupled with optional local LLM integration (`ai_core`).
|
|
20
|
+
- **Error analysis**: Wrappers analyze command failures through `gh copilot` or local models.
|
|
21
|
+
|
|
22
|
+
### Non-goals
|
|
23
|
+
- **Not a framework**: This is a curated distribution, not a plugin manager like Oh-My-Zsh.
|
|
24
|
+
- **Not POSIX-pure**: Prioritizes modern Zsh/Rust features over strict POSIX compliance.
|
|
25
|
+
- **Not minimal**: Optimizes for functionality and speed, not line-count minimalism.
|
|
26
|
+
|
|
27
|
+
### Security
|
|
28
|
+
- **Hardened by default**: Scripts run with `set -euo pipefail` to fail fast on errors.
|
|
29
|
+
- **Supply chain safety**:
|
|
30
|
+
- **Pinned install**: Installation commands pin to the specific release tag (`v0.2.480`) to prevent drift.
|
|
31
|
+
- **Zero-trust**: No implicit reliance on `main` branch code in production.
|
|
32
|
+
- **Threat model**: This project assumes a **trusted local machine** and focuses on supply-chain (pinned versions) and configuration safety (immutable history).
|
|
33
|
+
- **Audit logging**: Dotfiles logs all `chezmoi` mutations to `~/.local/share/dotfiles.log` for day-2 operations review.
|
|
34
|
+
|
|
35
|
+
### Changes
|
|
36
|
+
- **Migrated**:
|
|
37
|
+
- Shell: `~/.zshrc` now sources generated templates from `~/.config/shell`.
|
|
38
|
+
- Neovim: `~/.config/nvim` fully managed through Lua/Lazy.nvim.
|
|
39
|
+
- Tmux: Modular config consolidated to `~/.dotfiles/dot_tmux.conf`.
|
|
40
|
+
- **Packaging**:
|
|
41
|
+
- `Brewfile` (macOS) and `apt-get` (Linux) handled automatically.
|
|
42
|
+
- **Structural**:
|
|
43
|
+
- **Renamed**: `dot_config/dotfiles` → `dot_config/shell` for semantic clarity.
|
|
44
|
+
- **Moved**: `bin/` → `dot_local/bin/` for automatic path integration.
|
|
45
|
+
- **Separated**: Install scripts split by OS (Darwin/Linux) for cleaner logic.
|
|
46
|
+
- **Layered architecture**: Refactored shell config into explicit layers:
|
|
47
|
+
- `00-core`: Safety/Paths
|
|
48
|
+
- `50-logic`: Functions/Toolchain
|
|
49
|
+
- `90-ux`: Aliases/Theme
|
|
50
|
+
- **Trust and reproducibility**:
|
|
51
|
+
- **Pinned formulae**: Generated `Brewfile.lock.json` for strictly reproducible macOS builds.
|
|
52
|
+
- **Binary pinning**: `install.sh` now enforces specific version tags for initial bootstrap.
|
|
53
|
+
### Quality
|
|
54
|
+
- **Conflict resolution**: Detected and resolved **46 namespace collisions** across all alias modules (Git, Go, Archives, etc.) to ensure zero overlap.
|
|
55
|
+
- **Git safety**: Renamed colliding Go aliases (for example, `gr` -> `gor`) to protect core Git commands.
|
|
56
|
+
- **Modernization**: Merged `list` into `modern` for a cohesive Rust-based toolchain experience (`eza`, `bat`).
|
|
57
|
+
- **Standardization**: Removed duplicate logging functions in favor of a shared utility.
|
|
58
|
+
- **Documentation**: All 30+ component READMEs now reflect current functionality.
|
|
59
|
+
|
|
60
|
+
### Toolchain
|
|
61
|
+
- **Kubernetes**: Added `kubectl`, `helm`, `k9s` aliases.
|
|
62
|
+
- **IaC**: Added `terraform`, `opentofu`, `ansible`.
|
|
63
|
+
- **Languages**: Added ecosystem support for `go`, `yarn`, `uv` (modern Python).
|
|
64
|
+
- **AI integration**: Added wrappers for `gh copilot`, `fabric`, and local LLMs.
|
|
65
|
+
- **Smart help**: Added `dothelp` to search and index custom functions.
|
|
66
|
+
|
|
67
|
+
### Testing
|
|
68
|
+
|
|
69
|
+
- **Automated testing**
|
|
70
|
+
- Docker CI (`ci-docker.yml`) runs on Ubuntu/Fedora/Arch.
|
|
71
|
+
- Integration tests validate alias syntax (`test-aliases.sh`).
|
|
72
|
+
|
|
73
|
+
- **Enterprise core and security (the trust layer)**
|
|
74
|
+
- **SLSA and SBOM**: `security-release.yml` generates SPDX SBOMs and SLSA Level 3 Provenance.
|
|
75
|
+
- **Signing**: `enable-signing` wizard for GPG/SSH git signing.
|
|
76
|
+
- **Immutability**: `lock-configs` / `unlock-configs` protect critical dotfiles (`chflags`/`chattr`).
|
|
77
|
+
|
|
78
|
+
- **Legal and licensing**
|
|
79
|
+
- **Compliance**: `scan-licenses` (FOSSology/Trivy), `check-cla` (GitHub checks).
|
|
80
|
+
- **Attribution**: `add-headers` automation and `gen-notice` generation.
|
|
81
|
+
|
|
82
|
+
- **Self-healing and diagnostics**
|
|
83
|
+
- **Health**: `dot doctor` diagnoses environment (dependencies, XDG, paths).
|
|
84
|
+
- **Repair**: `dot heal` / `dot drift` aliases for auto-repair and drift detection.
|
|
85
|
+
|
|
86
|
+
- **Regulatory compliance**
|
|
87
|
+
- **Documentation**: `COMPLIANCE.md` maps features to **SOC2 Type II** and **ISO 27001**.
|
|
88
|
+
- **Privacy**: `privacy-mode` alias disables CLI telemetry for 7+ frameworks.
|
|
89
|
+
|
|
90
|
+
- **macOS deep integration**
|
|
91
|
+
- **Hardening**: `defaults` script hardens screensaver, firewall, and Finder settings.
|
|
92
|
+
- **Optimization**: Configures Safari for development, removes Dock clutter.
|
|
93
|
+
|
|
94
|
+
- **Font typography**
|
|
95
|
+
- **Fonts**: Auto-installs `JetBrainsMono Nerd Font` and `Symbols Nerd Font`.
|
|
96
|
+
- **Rendering**: Linux `fontconfig` XML for sub-pixel antialiasing.
|
|
97
|
+
|
|
98
|
+
- **Phase 58: Editor unification** (implemented)
|
|
99
|
+
- **Neovim IDE**: Full VS Code feature parity (Noice, Lualine, Gitsigns, Indent-Blankline).
|
|
100
|
+
- **Language support**: Optimized for Rust (Rustaceanvim) and Python (BasedPyright/Ruff).
|
|
101
|
+
- **Performance**: Lazy-loading architecture with `<30ms` startup.
|
|
102
|
+
- **CI/CD fixes**: Resolved CodeQL alerts (removed legacy Node.js) and fixed Docker builds.
|
|
103
|
+
|
|
104
|
+
- **OS bundling and compliance**
|
|
105
|
+
- **Packaging**: `scripts/package.sh` generates versioned distribution tarballs.
|
|
106
|
+
- **Enterprise**: `/etc/dotfiles/defaults.d` hooks for site-local config overrides.
|
|
107
|
+
- **Standards**: Strict **XDG Base Directory** enforcement in `paths.sh`.
|
|
108
|
+
|
|
109
|
+
- **The universal installer (zero-dep)**
|
|
110
|
+
- **Bootstrap**: `install.sh` runs through `curl | sh` with no dependencies.
|
|
111
|
+
- **Teleport**: `dot teleport user@host` deploys configs ephemerally through SSH.
|
|
112
|
+
|
|
113
|
+
### Verification
|
|
114
|
+
- **Performance**: Benchmark script `scripts/benchmark.sh` confirms <20ms startup.
|
|
115
|
+
- **Integration**: `test-aliases.sh` validates syntax of all 32 alias modules.
|
|
116
|
+
- **Security**: **Zero critical vulnerabilities** (CodeQL and Dependabot clean).
|
|
117
|
+
- **Functionality**: Local migration tested on macOS, Linux, and WSL.
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
### Install and migrate
|
|
121
|
+
|
|
122
|
+
#### Option A: Fresh install (new machines)
|
|
123
|
+
To set up a new machine, run the universal installer:
|
|
124
|
+
```bash
|
|
125
|
+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Option B: Migration (upgrade from earlier versions)
|
|
129
|
+
|
|
130
|
+
> [!IMPORTANT]
|
|
131
|
+
> This release changes the architecture from direct symlinks to `chezmoi` templates. Back up your configuration first.
|
|
132
|
+
|
|
133
|
+
Existing `chezmoi` users can run `chezmoi apply` to upgrade, but the full installer works better for major version jumps.
|
|
134
|
+
|
|
135
|
+
1. **Back up legacy configs**:
|
|
136
|
+
```bash
|
|
137
|
+
mv ~/.zshrc ~/.zshrc.bak
|
|
138
|
+
mv ~/.config/nvim ~/.config/nvim.bak
|
|
139
|
+
```
|
|
140
|
+
2. **Run the installer**:
|
|
141
|
+
```bash
|
|
142
|
+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
143
|
+
```
|
|
144
|
+
3. **Resolve conflicts**:
|
|
145
|
+
- If `chezmoi` prompts you to overwrite files (for example, `.zshrc`), select **overwrite** (or diff to check) because this release uses a new sourcing strategy.
|
|
146
|
+
4. **Restart shell**:
|
|
147
|
+
```bash
|
|
148
|
+
exec zsh
|
|
149
|
+
```
|