@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
package/docs/FONTS.md
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# Font configuration
|
|
2
|
-
|
|
3
|
-
Learn about font setup, rendering, and the fonts included with these dotfiles.
|
|
4
|
-
|
|
5
|
-
## Recommended fonts
|
|
6
|
-
|
|
7
|
-
### Primary: JetBrains Mono Nerd Font
|
|
8
|
-
|
|
9
|
-
Your default font is JetBrains Mono with Nerd Font patches.
|
|
10
|
-
|
|
11
|
-
Features:
|
|
12
|
-
- Designed for code readability
|
|
13
|
-
- Ligature support
|
|
14
|
-
- Powerline/Nerd Font glyphs
|
|
15
|
-
- Clear distinction between similar characters (0/O, 1/l/I)
|
|
16
|
-
|
|
17
|
-
### Alternatives
|
|
18
|
-
|
|
19
|
-
| Font | Style | Best for |
|
|
20
|
-
|------|-------|----------|
|
|
21
|
-
| Fira Code | Modern | People who enjoy ligatures |
|
|
22
|
-
| Cascadia Code | Microsoft | People who use VS Code |
|
|
23
|
-
| Hack | Classic | People who prefer a classic look |
|
|
24
|
-
| Source Code Pro | Adobe | Clean aesthetic |
|
|
25
|
-
| Iosevka | Narrow | Small screens |
|
|
26
|
-
|
|
27
|
-
## Installation
|
|
28
|
-
|
|
29
|
-
### macOS (Homebrew)
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Install via Homebrew
|
|
33
|
-
brew tap homebrew/cask-fonts
|
|
34
|
-
brew install --cask font-jetbrains-mono-nerd-font
|
|
35
|
-
|
|
36
|
-
# Or use dot CLI
|
|
37
|
-
dot fonts install
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Linux (manual)
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Download from Nerd Fonts
|
|
44
|
-
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.4.0/JetBrainsMono.zip
|
|
45
|
-
|
|
46
|
-
# Extract to fonts directory
|
|
47
|
-
unzip JetBrainsMono.zip -d ~/.local/share/fonts/
|
|
48
|
-
|
|
49
|
-
# Update font cache
|
|
50
|
-
fc-cache -fv
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Using the font patcher
|
|
54
|
-
|
|
55
|
-
To patch your own fonts with Nerd Font glyphs:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Use the included script
|
|
59
|
-
~/.dotfiles/scripts/fonts/patch-fonts.sh /path/to/font.ttf
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Font rendering
|
|
63
|
-
|
|
64
|
-
### Sample characters
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
68
|
-
abcdefghijklmnopqrstuvwxyz
|
|
69
|
-
0123456789
|
|
70
|
-
!@#$%^&*()_+-=[]{}|;':",.<>?/
|
|
71
|
-
|
|
72
|
-
Ligatures: -> => == != <= >= && || :: ...
|
|
73
|
-
Powerline:
|
|
74
|
-
Nerd Font:
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Ambiguous characters
|
|
78
|
-
|
|
79
|
-
The font configuration provides clear distinction between:
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
0 vs O (zero vs capital O)
|
|
83
|
-
1 vs l vs I (one vs lowercase L vs capital I)
|
|
84
|
-
` vs ' (backtick vs single quote)
|
|
85
|
-
" vs " (straight vs curly quotes)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Terminal configuration
|
|
89
|
-
|
|
90
|
-
### Ghostty
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
font-family = JetBrains Mono Nerd Font
|
|
94
|
-
font-size = 14
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### WezTerm
|
|
98
|
-
|
|
99
|
-
```lua
|
|
100
|
-
config.font = wezterm.font("JetBrains Mono Nerd Font")
|
|
101
|
-
config.font_size = 14.0
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Alacritty
|
|
105
|
-
|
|
106
|
-
```yaml
|
|
107
|
-
font:
|
|
108
|
-
normal:
|
|
109
|
-
family: JetBrains Mono Nerd Font
|
|
110
|
-
size: 14.0
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Kitty
|
|
114
|
-
|
|
115
|
-
```
|
|
116
|
-
font_family JetBrains Mono Nerd Font
|
|
117
|
-
font_size 14.0
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
## Font size recommendations
|
|
121
|
-
|
|
122
|
-
| Display | Size |
|
|
123
|
-
|---------|------|
|
|
124
|
-
| 13" laptop | 12-13pt |
|
|
125
|
-
| 15" laptop | 13-14pt |
|
|
126
|
-
| 24" monitor | 14-15pt |
|
|
127
|
-
| 27" 4K monitor | 15-16pt |
|
|
128
|
-
|
|
129
|
-
## Troubleshooting
|
|
130
|
-
|
|
131
|
-
### Fonts not displaying correctly
|
|
132
|
-
|
|
133
|
-
1. Verify font is installed: `fc-list | grep JetBrains`
|
|
134
|
-
2. Restart terminal application
|
|
135
|
-
3. Check terminal font settings
|
|
136
|
-
|
|
137
|
-
### Nerd Font icons missing
|
|
138
|
-
|
|
139
|
-
1. Verify you are using a Nerd Font variant
|
|
140
|
-
2. Confirm the terminal supports the Unicode range
|
|
141
|
-
3. Try a different Nerd Font
|
|
142
|
-
|
|
143
|
-
### Ligatures not working
|
|
144
|
-
|
|
145
|
-
1. Enable ligatures in terminal settings
|
|
146
|
-
2. Some terminals do not support ligatures (for example, Terminal.app)
|
|
147
|
-
3. Try Ghostty, WezTerm, or Kitty
|
package/docs/INSTALL.md
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Get started
|
|
2
|
-
|
|
3
|
-
This guide covers supported platforms, prerequisites, and the standard install path.
|
|
4
|
-
|
|
5
|
-
## Supported platforms
|
|
6
|
-
|
|
7
|
-
- macOS (Homebrew)
|
|
8
|
-
- Ubuntu/Debian (apt)
|
|
9
|
-
- WSL2 (Ubuntu/Debian)
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
|
|
13
|
-
Required:
|
|
14
|
-
- `git`
|
|
15
|
-
- `curl`
|
|
16
|
-
|
|
17
|
-
Optional (feature-dependent):
|
|
18
|
-
- Homebrew (macOS)
|
|
19
|
-
- `apt-get` (Linux)
|
|
20
|
-
- Docker or Podman (sandbox)
|
|
21
|
-
- Nix (optional toolchain)
|
|
22
|
-
- gum (required for `dot learn`)
|
|
23
|
-
|
|
24
|
-
## Install
|
|
25
|
-
|
|
26
|
-
### One-liner (recommended)
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.480/install.sh)"
|
|
30
|
-
exec zsh
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Manual installation
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Clone the repository
|
|
37
|
-
git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
|
|
38
|
-
|
|
39
|
-
# Install chezmoi and apply
|
|
40
|
-
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply sebastienrousseau/dotfiles
|
|
41
|
-
|
|
42
|
-
# Restart shell
|
|
43
|
-
exec zsh
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Using Nix (alternative)
|
|
47
|
-
|
|
48
|
-
If you have Nix with flakes enabled:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Enter development shell with all tools
|
|
52
|
-
nix develop ~/.dotfiles/nix
|
|
53
|
-
|
|
54
|
-
# Or install the dot-utils meta-package
|
|
55
|
-
nix profile install ~/.dotfiles/nix#dot-utils
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## What happens
|
|
59
|
-
|
|
60
|
-
1. The installer downloads a pinned Chezmoi bootstrap and applies this repo.
|
|
61
|
-
2. Chezmoi hooks install OS packages, fonts, and optional apps.
|
|
62
|
-
3. The `dot` CLI becomes available in `~/.local/bin`.
|
|
63
|
-
4. Chezmoi symlinks shell configuration to your home directory.
|
|
64
|
-
|
|
65
|
-
## Post-install verification
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# Check dot CLI is available
|
|
69
|
-
dot --version
|
|
70
|
-
|
|
71
|
-
# Run health checks
|
|
72
|
-
dot doctor
|
|
73
|
-
|
|
74
|
-
# View available commands
|
|
75
|
-
dot help
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Optional: gum
|
|
79
|
-
|
|
80
|
-
`gum` is required for interactive features like `dot learn`.
|
|
81
|
-
|
|
82
|
-
macOS:
|
|
83
|
-
```bash
|
|
84
|
-
brew install gum
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Linux (snap):
|
|
88
|
-
```bash
|
|
89
|
-
sudo snap install gum --classic
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Linux (Go toolchain):
|
|
93
|
-
```bash
|
|
94
|
-
go install github.com/charmbracelet/gum@latest
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Update
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
dot update
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Uninstall
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Remove chezmoi-managed files
|
|
107
|
-
chezmoi purge
|
|
108
|
-
|
|
109
|
-
# Remove the dotfiles repository
|
|
110
|
-
rm -rf ~/.dotfiles
|
|
111
|
-
|
|
112
|
-
# Remove local data
|
|
113
|
-
rm -rf ~/.local/share/chezmoi
|
|
114
|
-
rm -rf ~/.local/share/dotfiles.log
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
## Troubleshooting
|
|
118
|
-
|
|
119
|
-
If install hooks fail, check `~/.local/share/dotfiles.log` and review `docs/TROUBLESHOOTING.md`.
|
package/docs/KEYS.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Keybindings
|
|
2
|
-
|
|
3
|
-
This is the single source of truth for navigation and muscle-memory shortcuts
|
|
4
|
-
across the dotfiles stack. Keep this concise and consistent.
|
|
5
|
-
|
|
6
|
-
## Zsh
|
|
7
|
-
- Ctrl+R: History search (fzf/atuin if enabled)
|
|
8
|
-
- Ctrl+P / Ctrl+N: History prefix search (up/down)
|
|
9
|
-
|
|
10
|
-
## Tmux (prefix = `Ctrl-a`)
|
|
11
|
-
- Prefix + r: Reload config
|
|
12
|
-
- Prefix + N: New window
|
|
13
|
-
- Prefix + a / Tab: Last window
|
|
14
|
-
- Prefix + %: Split vertical (current path)
|
|
15
|
-
- Prefix + ": Split horizontal (current path)
|
|
16
|
-
- Prefix + \\: Split vertical (alt)
|
|
17
|
-
- Prefix + |: Split horizontal (alt)
|
|
18
|
-
- Prefix + h/j/k/l: Move between panes (vim-style)
|
|
19
|
-
- Prefix + z: Toggle zoom pane
|
|
20
|
-
- Prefix + H/J/K/L: Resize pane (left/down/up/right)
|
|
21
|
-
|
|
22
|
-
## Neovim (leader = `Space`)
|
|
23
|
-
- Ctrl-h/j/k/l: Move between splits
|
|
24
|
-
- Ctrl-s: Save file
|
|
25
|
-
- Leader + ff: Find files (Telescope)
|
|
26
|
-
- Leader + fg: Live grep (Telescope)
|
|
27
|
-
- Leader + q: Quit
|
|
28
|
-
|
|
29
|
-
## Shell Tools
|
|
30
|
-
- z <dir>: Jump to a directory (zoxide)
|
|
31
|
-
- lg: Open lazygit
|
|
32
|
-
|
|
33
|
-
## Terminal
|
|
34
|
-
- Ctrl+Shift+C: Copy
|
|
35
|
-
- Ctrl+Shift+V: Paste
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
Update this file when bindings change. If you add a new tool, add its shortcuts
|
|
40
|
-
here and keep them aligned with the global conventions.
|
package/docs/KEY_ROTATION.md
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
# Key Rotation Guide
|
|
2
|
-
|
|
3
|
-
This guide covers rotating encryption keys for secrets managed by Age and SOPS.
|
|
4
|
-
|
|
5
|
-
## Age Key Rotation
|
|
6
|
-
|
|
7
|
-
### When to Rotate
|
|
8
|
-
|
|
9
|
-
- **Annually**: As a preventive measure
|
|
10
|
-
- **After compromise**: If you suspect key exposure
|
|
11
|
-
- **Personnel change**: When team members leave
|
|
12
|
-
- **Device loss**: If a device with the key is lost/stolen
|
|
13
|
-
|
|
14
|
-
### Rotation Procedure
|
|
15
|
-
|
|
16
|
-
#### 1. Generate New Key
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# Create new age key
|
|
20
|
-
age-keygen -o ~/.config/chezmoi/key-new.txt
|
|
21
|
-
|
|
22
|
-
# Note the public key (starts with "age1...")
|
|
23
|
-
cat ~/.config/chezmoi/key-new.txt | grep "public key"
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
#### 2. Re-encrypt All Secrets
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
# List all encrypted files
|
|
30
|
-
chezmoi managed --include=encrypted
|
|
31
|
-
|
|
32
|
-
# For each encrypted file, decrypt with old key and re-encrypt with new
|
|
33
|
-
for file in $(chezmoi managed --include=encrypted); do
|
|
34
|
-
# Decrypt with old key
|
|
35
|
-
chezmoi cat "$file" > "/tmp/$(basename $file).dec"
|
|
36
|
-
|
|
37
|
-
# Re-encrypt with new key (update chezmoi config first)
|
|
38
|
-
# See step 3
|
|
39
|
-
done
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
#### 3. Update Chezmoi Configuration
|
|
43
|
-
|
|
44
|
-
Edit `~/.config/chezmoi/chezmoi.toml`:
|
|
45
|
-
|
|
46
|
-
```toml
|
|
47
|
-
[age]
|
|
48
|
-
identity = "~/.config/chezmoi/key-new.txt"
|
|
49
|
-
recipient = "age1your_new_public_key_here"
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
#### 4. Re-add Encrypted Files
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
# Re-add each secret with new encryption
|
|
56
|
-
chezmoi add --encrypt ~/.ssh/id_ed25519
|
|
57
|
-
chezmoi add --encrypt ~/.config/secrets/api-keys.env
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
#### 5. Verify and Clean Up
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
# Verify decryption works
|
|
64
|
-
chezmoi cat ~/.ssh/id_ed25519
|
|
65
|
-
|
|
66
|
-
# Archive old key (store securely offline)
|
|
67
|
-
mv ~/.config/chezmoi/key.txt ~/.config/chezmoi/key-$(date +%Y%m%d)-archived.txt
|
|
68
|
-
|
|
69
|
-
# Rename new key
|
|
70
|
-
mv ~/.config/chezmoi/key-new.txt ~/.config/chezmoi/key.txt
|
|
71
|
-
|
|
72
|
-
# Commit changes
|
|
73
|
-
cd ~/.dotfiles
|
|
74
|
-
git add -A
|
|
75
|
-
git commit -m "chore(secrets): rotate age encryption key"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Emergency Rotation (Compromised Key)
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# 1. Immediately generate new key
|
|
82
|
-
age-keygen -o ~/.config/chezmoi/key-emergency.txt
|
|
83
|
-
|
|
84
|
-
# 2. Re-encrypt ALL secrets (prioritize most sensitive)
|
|
85
|
-
# 3. Revoke/rotate any API keys, tokens that were encrypted
|
|
86
|
-
# 4. Update any shared secrets with team members
|
|
87
|
-
# 5. Document the incident
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## SOPS Key Rotation
|
|
93
|
-
|
|
94
|
-
### Overview
|
|
95
|
-
|
|
96
|
-
SOPS supports multiple key types. This covers Age keys (recommended) and GPG keys.
|
|
97
|
-
|
|
98
|
-
### SOPS with Age Keys
|
|
99
|
-
|
|
100
|
-
#### Generate New Key
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
age-keygen -o ~/.config/sops/age/keys-new.txt
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
#### Update .sops.yaml
|
|
107
|
-
|
|
108
|
-
```yaml
|
|
109
|
-
creation_rules:
|
|
110
|
-
- path_regex: \.env$
|
|
111
|
-
age: >-
|
|
112
|
-
age1new_key_here,
|
|
113
|
-
age1old_key_here # Keep old key temporarily for decryption
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
#### Re-encrypt Files
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
# Rotate key for a single file
|
|
120
|
-
sops updatekeys secrets.env
|
|
121
|
-
|
|
122
|
-
# Or re-encrypt entirely
|
|
123
|
-
sops -d secrets.env | sops -e /dev/stdin > secrets.env.new
|
|
124
|
-
mv secrets.env.new secrets.env
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
#### Remove Old Key
|
|
128
|
-
|
|
129
|
-
After confirming all files are re-encrypted:
|
|
130
|
-
|
|
131
|
-
1. Remove old key from `.sops.yaml`
|
|
132
|
-
2. Archive old key securely
|
|
133
|
-
3. Commit changes
|
|
134
|
-
|
|
135
|
-
### SOPS with GPG Keys
|
|
136
|
-
|
|
137
|
-
```bash
|
|
138
|
-
# Generate new GPG key
|
|
139
|
-
gpg --full-generate-key
|
|
140
|
-
|
|
141
|
-
# Export fingerprint
|
|
142
|
-
gpg --list-keys --keyid-format LONG
|
|
143
|
-
|
|
144
|
-
# Update .sops.yaml with new fingerprint
|
|
145
|
-
# Re-encrypt files
|
|
146
|
-
sops updatekeys <file>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## Automation Scripts
|
|
152
|
-
|
|
153
|
-
### Check Key Age
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
#!/usr/bin/env bash
|
|
157
|
-
# check-key-age.sh - Alert if keys are older than 365 days
|
|
158
|
-
|
|
159
|
-
KEY_FILE="${HOME}/.config/chezmoi/key.txt"
|
|
160
|
-
MAX_AGE_DAYS=365
|
|
161
|
-
|
|
162
|
-
if [[ -f "$KEY_FILE" ]]; then
|
|
163
|
-
key_age=$(( ($(date +%s) - $(stat -c %Y "$KEY_FILE")) / 86400 ))
|
|
164
|
-
|
|
165
|
-
if [[ $key_age -gt $MAX_AGE_DAYS ]]; then
|
|
166
|
-
echo "⚠️ Age key is ${key_age} days old. Consider rotation."
|
|
167
|
-
exit 1
|
|
168
|
-
else
|
|
169
|
-
echo "✓ Age key is ${key_age} days old (limit: ${MAX_AGE_DAYS})"
|
|
170
|
-
fi
|
|
171
|
-
fi
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### Automated Backup Before Rotation
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
#!/usr/bin/env bash
|
|
178
|
-
# backup-before-rotation.sh
|
|
179
|
-
|
|
180
|
-
BACKUP_DIR="${HOME}/.local/share/dotfiles/key-backups"
|
|
181
|
-
mkdir -p "$BACKUP_DIR"
|
|
182
|
-
|
|
183
|
-
# Backup current key
|
|
184
|
-
cp ~/.config/chezmoi/key.txt "$BACKUP_DIR/key-$(date +%Y%m%d_%H%M%S).txt"
|
|
185
|
-
|
|
186
|
-
# Encrypt backup with passphrase
|
|
187
|
-
gpg --symmetric --cipher-algo AES256 "$BACKUP_DIR/key-$(date +%Y%m%d_%H%M%S).txt"
|
|
188
|
-
|
|
189
|
-
# Remove unencrypted backup
|
|
190
|
-
rm "$BACKUP_DIR/key-$(date +%Y%m%d_%H%M%S).txt"
|
|
191
|
-
|
|
192
|
-
echo "Key backed up to $BACKUP_DIR (encrypted)"
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
---
|
|
196
|
-
|
|
197
|
-
## Best Practices
|
|
198
|
-
|
|
199
|
-
1. **Never commit unencrypted keys** - Use `.gitignore` properly
|
|
200
|
-
2. **Store backups offline** - USB drive in secure location
|
|
201
|
-
3. **Use hardware keys when possible** - YubiKey with age-plugin-yubikey
|
|
202
|
-
4. **Document rotation dates** - Keep a log of when keys were rotated
|
|
203
|
-
5. **Test decryption** - Always verify after rotation
|
|
204
|
-
6. **Notify team members** - If using shared secrets
|
|
205
|
-
|
|
206
|
-
## Recovery Procedures
|
|
207
|
-
|
|
208
|
-
If you lose access to your key:
|
|
209
|
-
|
|
210
|
-
1. **Check backups** - Offline storage, password manager
|
|
211
|
-
2. **Check other machines** - Key may exist on another device
|
|
212
|
-
3. **Re-create secrets** - As last resort, regenerate API keys, tokens, etc.
|
|
213
|
-
|
|
214
|
-
## Related Documentation
|
|
215
|
-
|
|
216
|
-
- [SECRETS.md](SECRETS.md) - Secrets management overview
|
|
217
|
-
- [SECURITY.md](SECURITY.md) - Security hardening guide
|
|
218
|
-
- [Age documentation](https://github.com/FiloSottile/age)
|
|
219
|
-
- [SOPS documentation](https://github.com/getsops/sops)
|
package/docs/LEGACY_ROADMAP.md
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# The Ultimate Developer Environment Roadmap
|
|
2
|
-
|
|
3
|
-
This roadmap outlines the path to a high-performance, super-efficient development machine designed for Rust, Python, and AI on Linux (Zorin OS / T2 Mac hardware).
|
|
4
|
-
|
|
5
|
-
## Phase 1: Foundation (Completed)
|
|
6
|
-
- **Core Shell**: Zsh + Oh My Zsh.
|
|
7
|
-
- **Modern Prompt**: Starship (hooked & active).
|
|
8
|
-
- **Language Managers**: `rustup` (Rust) and `fnm` (Node.js).
|
|
9
|
-
- **Ultra-Fast Python**: `uv` installed.
|
|
10
|
-
- **Basic Modern Tools**: `eza` (ls), `bat` (cat), `fd` (find), `ripgrep` (grep).
|
|
11
|
-
- **Git Enhancements**: `lazygit` (TUI) and `delta` (Diffs).
|
|
12
|
-
- **Multiplexer**: `zellij` installed.
|
|
13
|
-
- **AI**: `ollama` installed locally.
|
|
14
|
-
- **Security**: Firewall (`ufw`) enabled.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Phase 2: Speed & Navigation (Completed)
|
|
19
|
-
Focus: Reduce friction in filesystem navigation and build times.
|
|
20
|
-
|
|
21
|
-
### 1. Navigation
|
|
22
|
-
- [x] **Zoxide**: Smarter `cd` command that learns your habits (`z directory`).
|
|
23
|
-
- [x] **FZF**: Command-line fuzzy finder. Essential for search history, files, and replacing standard completion.
|
|
24
|
-
- [x] **Yazi**: Blazing fast terminal file manager (Rust-based).
|
|
25
|
-
|
|
26
|
-
### 2. Rust Optimization
|
|
27
|
-
- [x] **Mold**: Use the `mold` linker to speed up Rust compile times by 3x-10x.
|
|
28
|
-
- [x] **Sccache**: Shared compilation cache to speed up recompilations across projects.
|
|
29
|
-
- [x] **Bacon**: Background rust compiler that gives instant feedback on errors.
|
|
30
|
-
|
|
31
|
-
### 3. Python Optimization
|
|
32
|
-
- [x] **Ruff**: Extremely fast Python linter and formatter (replace flake8/black).
|
|
33
|
-
- [x] **Global Config**: Set `uv` to use system Python or managed Python preferences.
|
|
34
|
-
|
|
35
|
-
### 4. Code Search
|
|
36
|
-
- [x] **Ripgrep-all (rga)**: Search inside PDFs, E-Books, zip files, etc.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Phase 3: AI Power User (Completed)
|
|
41
|
-
Focus: Integrate AI deeply into the workflow.
|
|
42
|
-
|
|
43
|
-
- [x] **Fabric**: Open-source framework for augmenting humans using AI (installed via `cmd` path).
|
|
44
|
-
- [x] **Open WebUI**: A beautiful web interface for `ollama` (requires Docker).
|
|
45
|
-
- [x] **GitHub Copilot CLI**: Integrate AI assistance directly into the terminal commands.
|
|
46
|
-
- [x] **Local RAG**: Setup tools to chat with your own documents locally (Open WebUI).
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## Phase 4: System Tuning & Hardening (Completed)
|
|
51
|
-
Focus: Squeeze every ounce of performance and security from the hardware.
|
|
52
|
-
|
|
53
|
-
- [x] **Kernel Tuning**: Increase file descriptor limits and optimize TCP stack for lower latency.
|
|
54
|
-
- [x] **Swap Optimization**: Configure `zram` for memory compression (improves performance on 16GB RAM).
|
|
55
|
-
- [x] **Flatpak Overrides**: Secure Flatpak permissions using `Flatseal`.
|
|
56
|
-
- [x] **Automated Updates**: Configure `unattended-upgrades` for security patches.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Phase 5: Final Polish (Completed)
|
|
61
|
-
- [x] **Global UV Config**: Created `~/.config/uv/uv.toml` for managed python perference.
|
|
62
|
-
- [x] **Roadmap Completion**: Verified all items are 100% complete.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Maintenance & Updates
|
|
67
|
-
- **Update System**: `sudo apt update && sudo apt upgrade`
|
|
68
|
-
- **Update Rust**: `rustup update`
|
|
69
|
-
- **Update Node**: `fnm install --lts`
|
|
70
|
-
- **Update UV**: `uv self update`
|
|
71
|
-
- **Update Firmware**: `fwupdmgr get-updates`
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Phase 6: Desktop Environment (Completed)
|
|
76
|
-
Focus: Clean, bloat-free, and supercharged GNOME/Zorin experience.
|
|
77
|
-
|
|
78
|
-
- [x] **Bloatware Removal**: Removed games (`aisleriot`, `mines`, etc.) and media apps (`rhythmbox`, `totem`).
|
|
79
|
-
- [x] **Menu Cleanup**: Created `hide_menu_entries.sh` to deduplicate and hide unwanted entries.
|
|
80
|
-
- [x] **GNOME Extensions**: Installed productivity boosters via `gnome-extensions-cli`:
|
|
81
|
-
- [x] `Clipboard Indicator`: History management.
|
|
82
|
-
- [x] `Caffeine`: Prevent auto-suspend.
|
|
83
|
-
- [x] `Impatience`: Speed up animations.
|
|
84
|
-
- [x] `Vitals`: System monitoring in top bar.
|
|
85
|
-
- [x] **Memory Tuning**: Optimize GNOME Shell performance.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Phase 7: Browser Optimization (Completed)
|
|
90
|
-
Focus: Chrome tuned for development and memory efficiency.
|
|
91
|
-
|
|
92
|
-
- [x] **Settings**: Enable "Memory Saver" and "Energy Saver" via Managed Policies.
|
|
93
|
-
- [x] **Extensions**: Automated installation of developer stack (uBlock, JSON Viewer, React DevTools, Vimium, Refined GitHub).
|
|
94
|
-
- [x] **Profile Separation**: Separate Personal and Work profiles (Manual setup recommendation).
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## Phase 8: Neovim IDE (Completed)
|
|
99
|
-
Focus: Building a terminal-based IDE that rivals VS Code for Rust, Python, and AI.
|
|
100
|
-
|
|
101
|
-
- [x] **Latest Version**: Installed Neovim v0.12.0-dev (Nightly) to resolve plugin stability issues.
|
|
102
|
-
- [x] **Plugin Manager**: Setup `lazy.nvim` with modular config (Restored from **PR #62**).
|
|
103
|
-
- [x] **Core Plugins**:
|
|
104
|
-
- [x] `Telescope`: Fuzzy finding.
|
|
105
|
-
- [x] `Treesitter`: Syntax highlighting.
|
|
106
|
-
- [x] `Harpoon`: Fast file switching.
|
|
107
|
-
- [x] `Neo-tree`: File explorer.
|
|
108
|
-
- [x] **UI/UX Menus**: Added `dressing.nvim` and `telescope-ui-select.nvim` for modern, searchable selection lists and floating inputs.
|
|
109
|
-
- [x] **LSP & Autocomplete**:
|
|
110
|
-
- [x] `Mason`: Managing LSPs (rust-analyzer, pyright, ruff).
|
|
111
|
-
- [x] `Cmp`: Autocompletion engine.
|
|
112
|
-
- [x] **Language Specifics**:
|
|
113
|
-
- [x] **Rust**: `rustaceanvim` configured.
|
|
114
|
-
- [x] **Python**: `pyright` + `ruff`.
|
|
115
|
-
- [x] **AI Integration**:
|
|
116
|
-
- [x] `Copilot.lua`: Enabled (needs `:Copilot auth`).
|
|
117
|
-
- [x] `CopilotChat.nvim`: Sidebar chat (VS Code style).
|
|
118
|
-
- [ ] `Avante.nvim`: Skipped (Removed due to complexity/instability).
|
|
119
|
-
- [x] **VS Code Parity Pack**:
|
|
120
|
-
- [x] `Trouble`: Problems panel.
|
|
121
|
-
- [x] `Spectre`: Search/Replace.
|
|
122
|
-
- [x] `Autopairs`: Auto-close brackets.
|
|
123
|
-
- [x] `Todo-Comments`: TODO/FIXME highlighting.
|
|
124
|
-
- [x] `Persistence`: Session management.
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Phase 9: Repository Polish & PR #62 (In Progress)
|
|
129
|
-
Focus: Finalize the `dotfiles` repository for public consumption and sync the local "Gold Standard" environment.
|
|
130
|
-
|
|
131
|
-
- [x] **Repository Sync**:
|
|
132
|
-
- [x] Clone official repo to `~/dotfiles`.
|
|
133
|
-
- [ ] Sync validated configuration (Neovim, scripts, tuning) into repository.
|
|
134
|
-
- [ ] **Documentation Update**:
|
|
135
|
-
- [ ] Refactor `README.md` for the modern architecture.
|
|
136
|
-
- [ ] Add "Easy Setup" and "Troubleshooting" guides.
|
|
137
|
-
- [ ] **Final PR Submission**:
|
|
138
|
-
- [ ] Verify clean diff against original PR #62.
|
|
139
|
-
- [ ] Push updates to PR #62 branch.
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|