@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/NEOVIM_IDE_GUIDE.md
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
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) |
|
package/docs/README.md
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
# Dotfiles Documentation
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
|
|
5
|
-
**A modern, cross-platform shell environment built for developers.**
|
|
6
|
-
|
|
7
|
-
[Quick Start](#quick-start) · [Features](#features) · [Architecture](#architecture) · [Security](#security) · [Contributing](#contributing)
|
|
8
|
-
|
|
9
|
-
</div>
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Overview
|
|
14
|
-
|
|
15
|
-
Welcome to the dotfiles documentation. This guide will help you install, configure, and customize your development environment across macOS, Linux, and WSL.
|
|
16
|
-
|
|
17
|
-
### What You'll Get
|
|
18
|
-
|
|
19
|
-
| Feature | Description |
|
|
20
|
-
|---------|-------------|
|
|
21
|
-
| 🚀 **Fast Shell** | Zsh with lazy loading, <500ms startup |
|
|
22
|
-
| 🔧 **Modern Tools** | Neovim, tmux, starship, fzf, ripgrep |
|
|
23
|
-
| 🔐 **Security First** | Encrypted secrets, credential management |
|
|
24
|
-
| 🎨 **Beautiful UI** | Nerd Fonts, themes, consistent styling |
|
|
25
|
-
| 📦 **Cross-Platform** | macOS, Linux, WSL2 support |
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Table of Contents
|
|
30
|
-
|
|
31
|
-
### Getting Started
|
|
32
|
-
- [Installation Guide](INSTALL.md) — Set up your environment in minutes
|
|
33
|
-
- [Walkthrough](WALKTHROUGH.md) — Interactive tour of key features
|
|
34
|
-
- [Features Overview](FEATURES.md) — Complete feature list
|
|
35
|
-
|
|
36
|
-
### Core Documentation
|
|
37
|
-
- [Architecture](ARCHITECTURE.md) — System design and structure
|
|
38
|
-
- [Operations Guide](OPERATIONS.md) — Daily usage and maintenance
|
|
39
|
-
- [Troubleshooting](TROUBLESHOOTING.md) — Common issues and solutions
|
|
40
|
-
|
|
41
|
-
### Configuration
|
|
42
|
-
- [Aliases Reference](ALIASES.md) — Shell aliases and shortcuts
|
|
43
|
-
- [Keybindings](KEYS.md) — Keyboard shortcuts catalog
|
|
44
|
-
- [Tools Reference](TOOLS.md) — Installed tools and utilities
|
|
45
|
-
- [Utilities](UTILS.md) — Helper scripts and functions
|
|
46
|
-
|
|
47
|
-
### Customization
|
|
48
|
-
- [Fonts Guide](FONTS.md) — Nerd Fonts installation
|
|
49
|
-
- [Screenshots](SCREENSHOTS.md) — Visual gallery
|
|
50
|
-
- [Neovim IDE Guide](NEOVIM_IDE_GUIDE.md) — Editor configuration
|
|
51
|
-
|
|
52
|
-
### Security
|
|
53
|
-
- [Security Overview](SECURITY.md) — Security model and practices
|
|
54
|
-
- [Security Checklist](SECURITY_CHECKLIST.md) — Hardening guide
|
|
55
|
-
- [Secrets Management](SECRETS.md) — Encrypted credentials
|
|
56
|
-
|
|
57
|
-
### Development
|
|
58
|
-
- [Testing Guide](TESTING.md) — Test framework and coverage
|
|
59
|
-
- [Compliance](COMPLIANCE.md) — Standards and policies
|
|
60
|
-
- [Architecture Decisions](adr/) — ADRs for key decisions
|
|
61
|
-
|
|
62
|
-
### Platform-Specific
|
|
63
|
-
- [WSL2 + Nix Guide](WSL2_NIX_TROUBLESHOOTING.md) — Windows Subsystem for Linux
|
|
64
|
-
|
|
65
|
-
### Reference
|
|
66
|
-
- [Roadmap](ROADMAP.md) — Future plans and priorities
|
|
67
|
-
- [Legacy Roadmap](LEGACY_ROADMAP.md) — Historical context
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Quick Start
|
|
72
|
-
|
|
73
|
-
### Prerequisites
|
|
74
|
-
|
|
75
|
-
- macOS 12+, Ubuntu 22.04+, or Windows 11 with WSL2
|
|
76
|
-
- Git 2.30+
|
|
77
|
-
- curl or wget
|
|
78
|
-
|
|
79
|
-
### Installation
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
# One-line install
|
|
83
|
-
curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/master/install.sh | bash
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Or clone and install manually:
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
git clone https://github.com/sebastienrousseau/dotfiles.git ~/.dotfiles
|
|
90
|
-
cd ~/.dotfiles && ./install.sh
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### First Steps
|
|
94
|
-
|
|
95
|
-
After installation, run these commands to explore:
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
dot help # Show all available commands
|
|
99
|
-
dot doctor # Check system health
|
|
100
|
-
dot learn # Interactive tour
|
|
101
|
-
dot keys # View keybindings
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Features
|
|
107
|
-
|
|
108
|
-
### Shell Environment
|
|
109
|
-
|
|
110
|
-
The shell configuration provides a fast, feature-rich experience:
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
114
|
-
│ Startup Time: <500ms │ Plugin Manager: Zinit │
|
|
115
|
-
│ Prompt: Starship │ Completions: Lazy-loaded │
|
|
116
|
-
│ History: Shared │ Syntax: fast-syntax-highlighting │
|
|
117
|
-
└─────────────────────────────────────────────────────────────┘
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
**Key Features:**
|
|
121
|
-
- Intelligent command suggestions with autosuggestions
|
|
122
|
-
- Fuzzy finding with fzf for files, history, and git
|
|
123
|
-
- Git integration with delta for beautiful diffs
|
|
124
|
-
- Directory jumping with zoxide
|
|
125
|
-
|
|
126
|
-
### Development Tools
|
|
127
|
-
|
|
128
|
-
Pre-configured toolchains for modern development:
|
|
129
|
-
|
|
130
|
-
| Language | Tools |
|
|
131
|
-
|----------|-------|
|
|
132
|
-
| **Rust** | rustup, cargo, clippy, rustfmt |
|
|
133
|
-
| **Go** | go, golangci-lint |
|
|
134
|
-
| **Node.js** | nvm, npm, pnpm |
|
|
135
|
-
| **Python** | pyenv, pipx, uv |
|
|
136
|
-
|
|
137
|
-
### AI Integration
|
|
138
|
-
|
|
139
|
-
Built-in support for AI coding assistants:
|
|
140
|
-
|
|
141
|
-
- **aider** — AI pair programming
|
|
142
|
-
- **Claude** — Anthropic's assistant
|
|
143
|
-
- **GitHub Copilot** — Code suggestions
|
|
144
|
-
- **git-ai-commit** — AI-powered commit messages
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Architecture
|
|
149
|
-
|
|
150
|
-
The dotfiles follow a modular architecture:
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
~/.dotfiles/
|
|
154
|
-
├── dot_config/ # XDG config files
|
|
155
|
-
│ ├── nvim/ # Neovim configuration
|
|
156
|
-
│ ├── zsh/ # Zsh configuration layers
|
|
157
|
-
│ └── git/ # Git configuration
|
|
158
|
-
├── dot_local/bin/ # User scripts and tools
|
|
159
|
-
├── install/ # Installation scripts
|
|
160
|
-
│ └── provision/ # Tool provisioning
|
|
161
|
-
├── scripts/ # Operational scripts
|
|
162
|
-
│ ├── dot/commands/ # CLI command modules
|
|
163
|
-
│ ├── diagnostics/ # Health checks
|
|
164
|
-
│ ├── security/ # Security tools
|
|
165
|
-
│ └── tuning/ # Performance tuning
|
|
166
|
-
└── docs/ # Documentation (you are here)
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Shell Layer System
|
|
170
|
-
|
|
171
|
-
Zsh configuration uses numbered layers for predictable loading:
|
|
172
|
-
|
|
173
|
-
| Range | Purpose | Examples |
|
|
174
|
-
|-------|---------|----------|
|
|
175
|
-
| 00-19 | Core | Environment, history, options |
|
|
176
|
-
| 20-49 | Middleware | Zinit, completions, plugins |
|
|
177
|
-
| 50-89 | Toolchain | Languages, package managers |
|
|
178
|
-
| 90-99 | UX | Prompt, aliases, keybindings |
|
|
179
|
-
|
|
180
|
-
### CLI Architecture
|
|
181
|
-
|
|
182
|
-
The `dot` CLI uses modular command dispatch:
|
|
183
|
-
|
|
184
|
-
```bash
|
|
185
|
-
dot <command> [args]
|
|
186
|
-
│
|
|
187
|
-
├── core.sh # apply, sync, update, diff
|
|
188
|
-
├── diagnostics.sh # doctor, heal, benchmark
|
|
189
|
-
├── tools.sh # tools, new, packages
|
|
190
|
-
├── appearance.sh # theme, fonts, wallpaper
|
|
191
|
-
├── secrets.sh # secrets-init, secrets
|
|
192
|
-
├── security.sh # firewall, backup, encrypt
|
|
193
|
-
└── meta.sh # upgrade, docs, learn
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
## Security
|
|
199
|
-
|
|
200
|
-
Security is a core principle, not an afterthought.
|
|
201
|
-
|
|
202
|
-
### Secrets Management
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
dot secrets-init # Initialize age encryption
|
|
206
|
-
dot secrets # Edit encrypted secrets
|
|
207
|
-
dot ssh-key # Encrypt SSH keys
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
Secrets are encrypted with [age](https://age-encryption.org/) and never stored in plaintext.
|
|
211
|
-
|
|
212
|
-
### Credential Management
|
|
213
|
-
|
|
214
|
-
Supported credential stores:
|
|
215
|
-
- **macOS** — Keychain integration
|
|
216
|
-
- **Linux** — libsecret / GNOME Keyring
|
|
217
|
-
- **Git** — git-credential-manager
|
|
218
|
-
|
|
219
|
-
### Security Hardening (Opt-in)
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
dot firewall # Configure firewall rules
|
|
223
|
-
dot telemetry # Disable OS telemetry
|
|
224
|
-
dot dns-doh # Enable DNS-over-HTTPS
|
|
225
|
-
dot encrypt-check # Verify disk encryption
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
All security modifications require explicit consent.
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## Contributing
|
|
233
|
-
|
|
234
|
-
We welcome contributions! Please see our guidelines:
|
|
235
|
-
|
|
236
|
-
1. **Fork** the repository
|
|
237
|
-
2. **Create** a feature branch
|
|
238
|
-
3. **Test** your changes with `dot doctor`
|
|
239
|
-
4. **Submit** a pull request
|
|
240
|
-
|
|
241
|
-
### Code Style
|
|
242
|
-
|
|
243
|
-
- Shell scripts: Follow ShellCheck recommendations
|
|
244
|
-
- Templates: Use `.chezmoitemplates/` for reusable logic
|
|
245
|
-
- Documentation: Use UPPERCASE.md naming convention
|
|
246
|
-
|
|
247
|
-
### Testing
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
./scripts/tests/framework/test_runner.sh # Unit tests
|
|
251
|
-
RUN_INTEGRATION=1 ./scripts/tests/framework/test_runner.sh # Integration
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## Support
|
|
257
|
-
|
|
258
|
-
- **Issues**: [GitHub Issues](https://github.com/sebastienrousseau/dotfiles/issues)
|
|
259
|
-
- **Discussions**: [GitHub Discussions](https://github.com/sebastienrousseau/dotfiles/discussions)
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
<div align="center">
|
|
264
|
-
|
|
265
|
-
**[Back to Top](#dotfiles-documentation)**
|
|
266
|
-
|
|
267
|
-
Made with ❤️ by [Sebastien Rousseau](https://github.com/sebastienrousseau)
|
|
268
|
-
|
|
269
|
-
</div>
|
package/docs/REPO_AUDIT.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Repo Audit
|
|
2
|
-
|
|
3
|
-
## Source of truth
|
|
4
|
-
- `~/.dotfiles` (chezmoi source directory)
|
|
5
|
-
|
|
6
|
-
## Key directories
|
|
7
|
-
- `.chezmoitemplates/` - templated aliases, functions, paths
|
|
8
|
-
- `dot_config/` - configs mapped into `~/.config`
|
|
9
|
-
- `dot_local/` - binaries and local data (e.g., `dot` CLI)
|
|
10
|
-
- `scripts/` - diagnostics, tests, tooling
|
|
11
|
-
- `tests/` - sandbox Dockerfile
|
|
12
|
-
- `nix/` - optional Nix toolchain
|
|
13
|
-
|
|
14
|
-
## Notable dependencies
|
|
15
|
-
- `chezmoi`
|
|
16
|
-
- `zsh`, `starship`
|
|
17
|
-
- `neovim`
|
|
18
|
-
- `ripgrep`, `fd`, `bat`, `fzf`, `zoxide`
|
|
19
|
-
- `lazygit`
|
|
20
|
-
|
|
21
|
-
## Notes
|
|
22
|
-
- Repo-only files excluded via `.chezmoiignore`.
|
|
23
|
-
- Secrets are handled via `age` + `dot secrets` (see `docs/SECRETS.md`).
|
package/docs/SCREENSHOTS.md
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# Screenshots gallery
|
|
2
|
-
|
|
3
|
-
See how the dotfiles look across different themes and configurations.
|
|
4
|
-
|
|
5
|
-
## Theme gallery
|
|
6
|
-
|
|
7
|
-
### Catppuccin Mocha (default)
|
|
8
|
-
|
|
9
|
-
The default theme, Catppuccin Mocha, gives you a dark palette with warm, muted colors.
|
|
10
|
-
|
|
11
|
-
```
|
|
12
|
-
Terminal: Ghostty / WezTerm / Alacritty
|
|
13
|
-
Font: JetBrains Mono Nerd Font
|
|
14
|
-
Theme: Catppuccin Mocha
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Key colors:
|
|
18
|
-
- Background: `#1e1e2e`
|
|
19
|
-
- Foreground: `#cdd6f4`
|
|
20
|
-
- Accent Blue: `#89b4fa`
|
|
21
|
-
- Accent Red: `#f38ba8`
|
|
22
|
-
|
|
23
|
-
### Catppuccin Latte (light)
|
|
24
|
-
|
|
25
|
-
A light theme option for daytime use.
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
Terminal: Ghostty / WezTerm / Alacritty
|
|
29
|
-
Font: JetBrains Mono Nerd Font
|
|
30
|
-
Theme: Catppuccin Latte
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Key colors:
|
|
34
|
-
- Background: `#eff1f5`
|
|
35
|
-
- Foreground: `#4c4f69`
|
|
36
|
-
- Accent Blue: `#1e66f5`
|
|
37
|
-
- Accent Red: `#d20f39`
|
|
38
|
-
|
|
39
|
-
## Terminal configurations
|
|
40
|
-
|
|
41
|
-
### Ghostty
|
|
42
|
-
|
|
43
|
-
Modern, native terminal with GPU acceleration.
|
|
44
|
-
|
|
45
|
-
Features:
|
|
46
|
-
- Native macOS integration
|
|
47
|
-
- Fast rendering
|
|
48
|
-
- Ligature support
|
|
49
|
-
- Custom key bindings
|
|
50
|
-
|
|
51
|
-
### WezTerm
|
|
52
|
-
|
|
53
|
-
Cross-platform terminal with Lua configuration.
|
|
54
|
-
|
|
55
|
-
Features:
|
|
56
|
-
- GPU acceleration
|
|
57
|
-
- Multiple windows/tabs
|
|
58
|
-
- Hyperlinks
|
|
59
|
-
- Image protocol support
|
|
60
|
-
|
|
61
|
-
### Alacritty
|
|
62
|
-
|
|
63
|
-
Minimal, fast terminal.
|
|
64
|
-
|
|
65
|
-
Features:
|
|
66
|
-
- Fast rendering
|
|
67
|
-
- Simple YAML config
|
|
68
|
-
- Vi mode
|
|
69
|
-
- Cross-platform
|
|
70
|
-
|
|
71
|
-
### Kitty
|
|
72
|
-
|
|
73
|
-
Feature-rich terminal.
|
|
74
|
-
|
|
75
|
-
Features:
|
|
76
|
-
- GPU rendering
|
|
77
|
-
- Ligatures
|
|
78
|
-
- Image support
|
|
79
|
-
- Keyboard protocol
|
|
80
|
-
|
|
81
|
-
## Prompt (Starship)
|
|
82
|
-
|
|
83
|
-
Your Starship prompt displays:
|
|
84
|
-
- Current directory
|
|
85
|
-
- Git branch and status
|
|
86
|
-
- Language versions (when relevant)
|
|
87
|
-
- Command duration
|
|
88
|
-
- Exit status
|
|
89
|
-
|
|
90
|
-
## Neovim
|
|
91
|
-
|
|
92
|
-
Your Neovim configuration includes:
|
|
93
|
-
- Catppuccin theme
|
|
94
|
-
- Treesitter syntax highlighting
|
|
95
|
-
- LSP integration
|
|
96
|
-
- Telescope fuzzy finder
|
|
97
|
-
- File tree (nvim-tree)
|
|
98
|
-
|
|
99
|
-
## tmux
|
|
100
|
-
|
|
101
|
-
Your tmux status bar displays:
|
|
102
|
-
- Session name
|
|
103
|
-
- Current window
|
|
104
|
-
- Host name
|
|
105
|
-
- Date and time
|
|
106
|
-
|
|
107
|
-
## Adding screenshots
|
|
108
|
-
|
|
109
|
-
To contribute screenshots:
|
|
110
|
-
|
|
111
|
-
1. Take a screenshot of your terminal
|
|
112
|
-
2. Save as PNG in `docs/themes/`
|
|
113
|
-
3. Add reference in this file
|
|
114
|
-
4. Submit a PR
|
|
115
|
-
|
|
116
|
-
Recommended screenshot size: 1920x1080 or 2560x1440
|
package/docs/SECRETS.md
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Secrets
|
|
2
|
-
|
|
3
|
-
You can encrypt secrets using `age` with `chezmoi`.
|
|
4
|
-
|
|
5
|
-
## Get started
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
dot secrets-init
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
The command creates `~/.config/chezmoi/key.txt` and prints your public key. It also updates `~/.config/chezmoi/chezmoi.toml` with the `age` backend settings.
|
|
12
|
-
|
|
13
|
-
> [!IMPORTANT]
|
|
14
|
-
> Verify that `age` is installed before running this command. You can install it through `brew`, `apt`, or your preferred toolchain.
|
|
15
|
-
|
|
16
|
-
## Enable encryption
|
|
17
|
-
|
|
18
|
-
Edit `~/.config/chezmoi/chezmoi.toml` (local only):
|
|
19
|
-
|
|
20
|
-
```toml
|
|
21
|
-
encryption = "age"
|
|
22
|
-
|
|
23
|
-
[age]
|
|
24
|
-
identity = "~/.config/chezmoi/key.txt"
|
|
25
|
-
recipient = "age1..."
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
You can also re-run:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
chezmoi init --apply --promptDefaults
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Edit secrets
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
dot secrets
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
The command opens `~/.config/chezmoi/encrypted_secrets.age` for editing and applies changes when you save.
|
|
41
|
-
|
|
42
|
-
## Create secrets
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
dot secrets-create
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Then edit:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
dot secrets
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Encrypt an SSH key
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
dot ssh-key ~/.ssh/id_ed25519
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The command creates a local encrypted file at:
|
|
61
|
-
`~/.config/chezmoi/encrypted_id_ed25519.age`
|
|
62
|
-
|
|
63
|
-
If you want it tracked (encrypted) in your dotfiles, run:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
chezmoi add --encrypt ~/.config/chezmoi/encrypted_id_ed25519.age
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Important notes
|
|
70
|
-
|
|
71
|
-
> [!WARNING]
|
|
72
|
-
> Keep `~/.config/chezmoi/key.txt` private. Never commit this file to a public repository.
|
|
73
|
-
|
|
74
|
-
- You can share the public key freely for encrypting data.
|
|
75
|
-
- Consider rotating keys yearly (or after any potential leak).
|
|
76
|
-
To rotate: generate a new key, update `chezmoi.toml`, re-encrypt your secrets, and delete the old key.
|
package/docs/SECURITY.md
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Security
|
|
2
|
-
|
|
3
|
-
Learn how Dotfiles handles security and system modifications.
|
|
4
|
-
|
|
5
|
-
## Principles
|
|
6
|
-
|
|
7
|
-
- **Opt-In Only**: No hardening is applied unless the `DOTFILES_` variables are set to `1`.
|
|
8
|
-
- **Local Logging**: Actions are logged to `~/.local/share/dotfiles.log`. No telemetry.
|
|
9
|
-
- **No Hidden Sudo**: Sudo is only requested for system managers (apt, etc) and never cached indefinitely.
|
|
10
|
-
|
|
11
|
-
## Hardening
|
|
12
|
-
|
|
13
|
-
| Feature | Env Var | Action (macOS) | Action (Linux) |
|
|
14
|
-
|---|---|---|---|
|
|
15
|
-
| Firewall | `DOTFILES_FIREWALL` | Enables `socketfilterfw` + Stealth Mode | Configures UFW |
|
|
16
|
-
| Telemetry | `DOTFILES_TELEMETRY` | Disables Diagnostic plists | Disables `whoopsie`/`apport` |
|
|
17
|
-
| DNS-over-HTTPS | `DOTFILES_DOH` | Browser-level settings | Configures `resolvectl` |
|
|
18
|
-
| Idle Security | `DOTFILES_LOCK` | Sets screensaver idle time | Sets GNOME/KDE idle-delay |
|
|
19
|
-
|
|
20
|
-
## Secrets
|
|
21
|
-
|
|
22
|
-
Dotfiles uses **age** for encryption.
|
|
23
|
-
|
|
24
|
-
- **Initialization**: `dot secrets-init` creates a key at `~/.config/chezmoi/key.txt`.
|
|
25
|
-
- **Storage**: Secrets are stored as `.age` encrypted files.
|
|
26
|
-
- **Protection**: Private keys are never committed to the repo.
|
|
27
|
-
|
|
28
|
-
## Report an issue
|
|
29
|
-
|
|
30
|
-
If you discover a security vulnerability, please do not open a public issue. Follow the instructions in the Security Policy.
|