@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/WALKTHROUGH.md
CHANGED
|
@@ -1,165 +1,46 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Universal Configuration Walkthrough (v0.2.471)
|
|
2
2
|
|
|
3
|
-
## Overview
|
|
3
|
+
## 🚀 Overview
|
|
4
|
+
We have successfully transformed the dotfiles into a modern, **universal configuration** managed by `chezmoi`. This release establishes a secure, high-performance, and compliant foundation for macOS, Linux, and Windows.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
## 🛠️ Implemented Features
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
### 1. **Core Architecture**
|
|
9
|
+
- **Chezmoi**: Replaced legacy Makefiles/symlinks with a robust template engine.
|
|
10
|
+
- **Universal Templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
|
|
11
|
+
- **Performance**: Startup time validated at **~16ms** (Target: <20ms).
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Step 1: Verify installation
|
|
12
|
-
|
|
13
|
-
After running the installer, verify that everything works:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Check dot CLI is available
|
|
17
|
-
dot --version
|
|
18
|
-
|
|
19
|
-
# Run health checks
|
|
20
|
-
dot doctor
|
|
21
|
-
|
|
22
|
-
# View configuration status
|
|
23
|
-
dot status
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Step 2: Explore the shell
|
|
27
|
-
|
|
28
|
-
Your shell comes pre-configured with modern tools:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Use zoxide for smart directory navigation
|
|
32
|
-
z dotfiles # Jump to ~/.dotfiles
|
|
33
|
-
z - # Go back
|
|
34
|
-
|
|
35
|
-
# Use fzf for fuzzy finding
|
|
36
|
-
<Ctrl-R> # Search command history
|
|
37
|
-
<Ctrl-T> # Find files
|
|
38
|
-
|
|
39
|
-
# Use modern tool replacements
|
|
40
|
-
ls # Runs 'eza'
|
|
41
|
-
cat file.txt # Runs 'bat'
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Step 3: Git workflow
|
|
45
|
-
|
|
46
|
-
Git includes helpful aliases:
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
# Quick status and log
|
|
50
|
-
gst # git status
|
|
51
|
-
lg # pretty git log graph
|
|
52
|
-
|
|
53
|
-
# Stage and commit
|
|
54
|
-
ga . # git add
|
|
55
|
-
gcm "message" # git commit -m
|
|
56
|
-
|
|
57
|
-
# Open lazygit TUI
|
|
58
|
-
lgui
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Step 4: Tmux basics
|
|
62
|
-
|
|
63
|
-
If tmux is running:
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
# Prefix is Ctrl-a (not Ctrl-b)
|
|
67
|
-
<Ctrl-a> c # New window
|
|
68
|
-
<Ctrl-a> | # Split vertically
|
|
69
|
-
<Ctrl-a> - # Split horizontally
|
|
70
|
-
<Ctrl-a> h/j/k/l # Navigate panes (vim-style)
|
|
71
|
-
<Ctrl-a> f # Fuzzy session switcher
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Step 5: Neovim IDE
|
|
75
|
-
|
|
76
|
-
Open Neovim:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
nvim .
|
|
80
|
-
|
|
81
|
-
# Inside Neovim:
|
|
82
|
-
<Space> # Leader key, shows command menu
|
|
83
|
-
<Space>ff # Find files
|
|
84
|
-
<Space>fg # Live grep
|
|
85
|
-
<Space>e # Toggle file tree
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Step 6: Docker workflow
|
|
89
|
-
|
|
90
|
-
Docker aliases:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
dps # List running containers
|
|
94
|
-
dco up -d # Docker compose up
|
|
95
|
-
dlogsf container # Follow container logs
|
|
96
|
-
lzd # Open lazydocker TUI
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Step 7: Kubernetes (if enabled)
|
|
100
|
-
|
|
101
|
-
Kubernetes aliases:
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
k get pods # kubectl get pods
|
|
105
|
-
kctx # Switch context
|
|
106
|
-
kn # Switch namespace
|
|
107
|
-
k9 # Open k9s TUI
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Core architecture
|
|
111
|
-
|
|
112
|
-
- **Chezmoi**: Replaces legacy Makefiles and symlinks with a robust template engine.
|
|
113
|
-
- **Universal templates**: `run_onchange_*.sh.tmpl` scripts adapt to OS (Darwin/Linux) automatically.
|
|
114
|
-
- **Performance**: Startup time benchmarks at **~16ms** (target: <20ms).
|
|
115
|
-
|
|
116
|
-
## Universal installer
|
|
117
|
-
|
|
118
|
-
- **Bootstrap**: `install.sh` enables one-line installation through `curl`.
|
|
13
|
+
### 2. **Universal Installer (Zero-Dep)**
|
|
14
|
+
- **Bootstrap**: `install.sh` enables one-line installation via `curl`.
|
|
119
15
|
- **Teleport**: `dot teleport user@host` pushes configs ephemerally to remote servers.
|
|
120
|
-
- **Verification**:
|
|
121
|
-
|
|
122
|
-
## Deep integration
|
|
16
|
+
- **Verification**: Syntax checked and validated.
|
|
123
17
|
|
|
124
|
-
|
|
18
|
+
### 3. **Deep Integration**
|
|
19
|
+
- **macOS**: `defaults` hardening (Screensaver, Firewall, Finder).
|
|
125
20
|
- **Fonts**: Auto-installation of `JetBrainsMono Nerd Font`.
|
|
126
|
-
- **Compliance**:
|
|
127
|
-
|
|
128
|
-
## Self-healing and compliance
|
|
21
|
+
- **Compliance**: STRICT XDG Base Directory enforcement.
|
|
129
22
|
|
|
23
|
+
### 4. **Self-Healing & Compliance**
|
|
130
24
|
- **Doctor**: `dot doctor` diagnoses drift, paths, and dependencies.
|
|
131
|
-
- **Audit**:
|
|
132
|
-
- **Privacy**:
|
|
25
|
+
- **Audit**: `logging` of all changes to `~/.dotfiles_audit.log`.
|
|
26
|
+
- **Privacy**: `privacy-mode` alias disables telemetry.
|
|
133
27
|
|
|
134
|
-
## Verification
|
|
28
|
+
## 🧪 Verification Results
|
|
135
29
|
|
|
136
30
|
| Test | Status | Notes |
|
|
137
31
|
| :--- | :--- | :--- |
|
|
138
|
-
| **Syntax** | PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
|
|
139
|
-
| **Performance** | PASSED | **~16ms** Zsh startup time. |
|
|
140
|
-
| **Drift** | VARIES |
|
|
141
|
-
| **
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
| New project | `dot new python myapp` |
|
|
154
|
-
| Enter sandbox | `dot sandbox` |
|
|
155
|
-
|
|
156
|
-
## Video tutorial
|
|
157
|
-
|
|
158
|
-
A future release will include a video walkthrough. Until then, use this document and the individual tool documentation.
|
|
159
|
-
|
|
160
|
-
## Next steps
|
|
161
|
-
|
|
162
|
-
- Customize your shell prompt in `~/.config/starship.toml`
|
|
163
|
-
- Add custom aliases in `~/.dotfiles/.chezmoitemplates/aliases/`
|
|
164
|
-
- Configure Neovim plugins in `~/.config/nvim/`
|
|
165
|
-
- Set up secrets with `dot secrets-init`
|
|
32
|
+
| **Syntax** | ✅ PASSED | `install.sh`, `pkg.sh`, `teleport.sh` verified. |
|
|
33
|
+
| **Performance** | ✅ PASSED | **~16ms** Zsh startup time. |
|
|
34
|
+
| **Drift** | ⚠️ VARIES | Minor state drift may be reported due to audit logs. |
|
|
35
|
+
| **Drift** | ⚠️ VARIES | Minor state drift may be reported due to audit logs. |
|
|
36
|
+
| **Docker** | ✅ PASSED | **Ubuntu 26.04** bootstrap verified (`dotfiles:0.2.471`). |
|
|
37
|
+
|
|
38
|
+
## 📦 Artifacts
|
|
39
|
+
- **Installer**: `curl -sL dotfiles.io/install.sh | sh`
|
|
40
|
+
- **Package**: `dist/dotfiles-v0.2.471.tar.gz`
|
|
41
|
+
- **Docs**: Full `README.md`, `COMPLIANCE.md`, `OPERATIONS.md`.
|
|
42
|
+
|
|
43
|
+
## 🔮 Next Steps
|
|
44
|
+
- Merge Pull Request.
|
|
45
|
+
- Deploy to production workstations.
|
|
46
|
+
- Begin Phase 28 (Cloud-Native Bootstrapping).
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebastienrousseau/dotfiles",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.499",
|
|
4
4
|
"description": "The Trusted Shell Platform — Universal dotfiles managed by Chezmoi. Features Bash & Zsh for macOS, Linux & WSL. Rust modern tooling & enterprise-grade security.",
|
|
5
5
|
"main": "install.sh",
|
|
6
6
|
"bin": {
|
|
7
7
|
"dotfiles-install": "./install.sh"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"test": "bash -
|
|
10
|
+
"test": "bash ./scripts/qa/reliability-audit.sh",
|
|
11
|
+
"test:quick": "bash ./scripts/qa/reliability-audit.sh --quick",
|
|
12
|
+
"test:unit": "bash ./scripts/qa/reliability-audit.sh --unit-only",
|
|
13
|
+
"test:integration": "bash ./scripts/qa/reliability-audit.sh --with-integration",
|
|
14
|
+
"examples": "bash ./scripts/qa/validate-examples.sh",
|
|
11
15
|
"lint": "shellcheck install.sh scripts/**/*.sh"
|
|
12
16
|
},
|
|
13
17
|
"repository": {
|
|
@@ -29,11 +33,19 @@
|
|
|
29
33
|
"cli",
|
|
30
34
|
"automation",
|
|
31
35
|
"devops",
|
|
32
|
-
"security"
|
|
36
|
+
"security",
|
|
37
|
+
"nix",
|
|
38
|
+
"home-manager",
|
|
39
|
+
"starship",
|
|
40
|
+
"mise",
|
|
41
|
+
"age-encryption",
|
|
42
|
+
"terminal",
|
|
43
|
+
"configuration-management",
|
|
44
|
+
"infrastructure-as-code"
|
|
33
45
|
],
|
|
34
46
|
"author": {
|
|
35
47
|
"name": "Sebastien Rousseau",
|
|
36
|
-
"email": "
|
|
48
|
+
"email": "sebastienrousseau@users.noreply.github.com",
|
|
37
49
|
"url": "https://sebastienrousseau.com"
|
|
38
50
|
},
|
|
39
51
|
"license": "MIT",
|
|
@@ -46,7 +58,7 @@
|
|
|
46
58
|
"url": "https://github.com/sponsors/sebastienrousseau"
|
|
47
59
|
},
|
|
48
60
|
"engines": {
|
|
49
|
-
"node": ">=18.0.0"
|
|
61
|
+
"node": ">=18.0.0 <26.0.0"
|
|
50
62
|
},
|
|
51
63
|
"publishConfig": {
|
|
52
64
|
"access": "public",
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
## 🆅🅰🆁🅸🅰🅱🅻🅴🆂 - Set Dotfiles variables.
|
|
9
|
+
DF_DOTFILESDIR="${HOME}/.dotfiles" # Location of dotfiles.
|
|
10
|
+
DF_TIMESTAMP=$(date +"%Y%m%d_%H%M%S") # Timestamp for backup directory
|
|
11
|
+
DF_BACKUPDIR="${HOME}/.dotfiles_backup" # Base backup directory
|
|
12
|
+
DF="dotfiles" # Directory name for dotfiles backup
|
|
13
|
+
|
|
14
|
+
# ANSI color codes - defined here instead of relying on external file
|
|
15
|
+
RED='\033[0;31m'
|
|
16
|
+
GREEN='\033[0;32m'
|
|
17
|
+
YELLOW='\033[0;33m'
|
|
18
|
+
CYAN='\033[0;36m'
|
|
19
|
+
NC='\033[0m' # No Color
|
|
20
|
+
|
|
21
|
+
## 🅱🅰🅲🅺🆄🅿 - Backup existing files.
|
|
22
|
+
backup() {
|
|
23
|
+
echo ""
|
|
24
|
+
echo -e "${RED}❭${NC} Starting Backup Procedure."
|
|
25
|
+
echo ""
|
|
26
|
+
|
|
27
|
+
# Create base backup directory if it doesn't exist
|
|
28
|
+
if [[ -d "${DF_BACKUPDIR}" ]]; then
|
|
29
|
+
echo -e "${RED} ✘${NC} Backup directory already exists."
|
|
30
|
+
else
|
|
31
|
+
echo -e "${GREEN} ✔${NC} Creating backup directory '${GREEN}${DF_BACKUPDIR}${NC}'..."
|
|
32
|
+
mkdir -p "${DF_BACKUPDIR}"
|
|
33
|
+
if [[ $? -ne 0 ]]; then
|
|
34
|
+
echo -e "${RED} ✘${NC} Failed to create backup directory. Exiting."
|
|
35
|
+
return 1
|
|
36
|
+
fi
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# Create timestamped backup directory
|
|
40
|
+
CURRENT_BACKUP_DIR="${DF_BACKUPDIR}/${DF_TIMESTAMP}"
|
|
41
|
+
mkdir -p "${CURRENT_BACKUP_DIR}"
|
|
42
|
+
if [[ $? -ne 0 ]]; then
|
|
43
|
+
echo -e "${RED} ✘${NC} Failed to create timestamped backup directory. Exiting."
|
|
44
|
+
return 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# Backup existing Dotfiles directory.
|
|
48
|
+
if [[ -d "${HOME}"/.dotfiles ]]; then
|
|
49
|
+
echo -e "${GREEN} ✔${NC} Backing up previous Dotfiles installation to '${GREEN}${CURRENT_BACKUP_DIR}/${DF}${NC}'..."
|
|
50
|
+
mkdir -p "${CURRENT_BACKUP_DIR}/${DF}"
|
|
51
|
+
if [[ $? -ne 0 ]]; then
|
|
52
|
+
echo -e "${RED} ✘${NC} Failed to create dotfiles backup directory. Skipping dotfiles backup."
|
|
53
|
+
else
|
|
54
|
+
# Use rsync instead of mv to preserve original until we know the backup succeeded
|
|
55
|
+
rsync -a "${DF_DOTFILESDIR}/" "${CURRENT_BACKUP_DIR}/${DF}/"
|
|
56
|
+
if [[ $? -ne 0 ]]; then
|
|
57
|
+
echo -e "${RED} ✘${NC} Failed to backup dotfiles directory."
|
|
58
|
+
fi
|
|
59
|
+
fi
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
# File list (use trailing slash for directories)
|
|
63
|
+
FILES="
|
|
64
|
+
.alias
|
|
65
|
+
.bash_aliases
|
|
66
|
+
.bash_profile
|
|
67
|
+
.bash_prompt
|
|
68
|
+
.bashrc
|
|
69
|
+
.curlrc
|
|
70
|
+
.dir_colors
|
|
71
|
+
.exports
|
|
72
|
+
.functions
|
|
73
|
+
.gemrc
|
|
74
|
+
.gitattributes
|
|
75
|
+
.gitconfig
|
|
76
|
+
.gitignore
|
|
77
|
+
.gitmessage
|
|
78
|
+
.inputrc
|
|
79
|
+
.nanorc
|
|
80
|
+
.npmrc
|
|
81
|
+
.path
|
|
82
|
+
.profile
|
|
83
|
+
.tmux.conf
|
|
84
|
+
.vimrc
|
|
85
|
+
.wgetrc
|
|
86
|
+
.yarnrc
|
|
87
|
+
.zshenv
|
|
88
|
+
.zshrc
|
|
89
|
+
.zprofile
|
|
90
|
+
cacert.pem
|
|
91
|
+
"
|
|
92
|
+
|
|
93
|
+
# Create dotfiles directory in the backup location
|
|
94
|
+
mkdir -p "${CURRENT_BACKUP_DIR}/files"
|
|
95
|
+
|
|
96
|
+
# Track if we've successfully backed up any files
|
|
97
|
+
BACKUP_COUNT=0
|
|
98
|
+
|
|
99
|
+
for file in ${FILES}; do
|
|
100
|
+
if [[ -f "${HOME}/${file}" ]]; then
|
|
101
|
+
echo -e "${GREEN} ✔${NC} Backing up '${YELLOW}${file}${NC}'"
|
|
102
|
+
cp -f "${HOME}/${file}" "${CURRENT_BACKUP_DIR}/files/${file}"
|
|
103
|
+
if [[ $? -eq 0 ]]; then
|
|
104
|
+
((BACKUP_COUNT++))
|
|
105
|
+
else
|
|
106
|
+
echo -e "${RED} ✘${NC} Failed to backup '${YELLOW}${file}${NC}'"
|
|
107
|
+
fi
|
|
108
|
+
fi
|
|
109
|
+
done
|
|
110
|
+
|
|
111
|
+
if [[ ${BACKUP_COUNT} -gt 0 ]]; then
|
|
112
|
+
echo -e "${GREEN} ✔${NC} ${BACKUP_COUNT} files have been backed up to '${CYAN}${CURRENT_BACKUP_DIR}/files${NC}'"
|
|
113
|
+
else
|
|
114
|
+
echo -e "${YELLOW} ⚠${NC} No files were backed up."
|
|
115
|
+
fi
|
|
116
|
+
|
|
117
|
+
echo ""
|
|
118
|
+
echo -e "${GREEN}❭${NC} Backup procedure completed."
|
|
119
|
+
echo ""
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
# Process command line arguments
|
|
123
|
+
case "$1" in
|
|
124
|
+
backup)
|
|
125
|
+
backup
|
|
126
|
+
;;
|
|
127
|
+
help|--help|-h)
|
|
128
|
+
echo "Usage: $0 [command]"
|
|
129
|
+
echo ""
|
|
130
|
+
echo "Commands:"
|
|
131
|
+
echo " backup Backup dotfiles and configuration files"
|
|
132
|
+
echo " help Display this help message"
|
|
133
|
+
echo ""
|
|
134
|
+
;;
|
|
135
|
+
"")
|
|
136
|
+
echo "No command specified. Use '$0 help' for usage information."
|
|
137
|
+
;;
|
|
138
|
+
*)
|
|
139
|
+
echo "Unknown command: $1"
|
|
140
|
+
echo "Use '$0 help' for usage information."
|
|
141
|
+
;;
|
|
142
|
+
esac
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
## 🅱🅰🅽🅽🅴🆁 - Display banner.
|
|
9
|
+
|
|
10
|
+
# shellcheck disable=SC2154
|
|
11
|
+
clear
|
|
12
|
+
cat <<EOF
|
|
13
|
+
|
|
14
|
+
┌───────────────────────────────────────────────┐
|
|
15
|
+
│ $(echo -e "\033[1;96mDotfiles (v${DF_VERSION})\033[0m\n") │
|
|
16
|
+
├───────────────────────────────────────────────┤
|
|
17
|
+
│ $(echo -e "\033[0;93mSimply designed to fit your shell life\033[0m\n") │
|
|
18
|
+
└───────────────────────────────────────────────┘
|
|
19
|
+
|
|
20
|
+
EOF
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# standard-benchmarks.sh
|
|
4
|
+
# Measures shell startup time to ensure performance goals (<20ms) are met.
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
log_info() { echo -e "\n[INFO] $*"; }
|
|
9
|
+
|
|
10
|
+
# Check for hyperfine (preferred) or fall back to simplified loop
|
|
11
|
+
if command -v hyperfine >/dev/null; then
|
|
12
|
+
log_info "Running benchmark with hyperfine..."
|
|
13
|
+
hyperfine --warmup 3 --min-runs 10 "zsh -i -c exit"
|
|
14
|
+
else
|
|
15
|
+
log_info "Hyperfine not found. Using simple loop..."
|
|
16
|
+
echo "Running 10 iterations of 'zsh -i -c exit'..."
|
|
17
|
+
for _ in {1..10}; do
|
|
18
|
+
time zsh -i -c exit
|
|
19
|
+
done
|
|
20
|
+
fi
|
package/scripts/build.sh
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
# shellcheck disable=SC1091
|
|
9
|
+
. "./lib/configurations/default/constants.sh"
|
|
10
|
+
|
|
11
|
+
# shellcheck disable=SC1091
|
|
12
|
+
. "./scripts/backup.sh"
|
|
13
|
+
|
|
14
|
+
# shellcheck disable=SC1091
|
|
15
|
+
. "./scripts/download.sh"
|
|
16
|
+
|
|
17
|
+
# shellcheck disable=SC1091
|
|
18
|
+
. "./scripts/unpack.sh"
|
|
19
|
+
|
|
20
|
+
# shellcheck disable=SC1091
|
|
21
|
+
. "./scripts/copy.sh"
|
|
22
|
+
|
|
23
|
+
## 🅱🆄🅸🅻🅳 - Build the dotfiles on your system.
|
|
24
|
+
build() {
|
|
25
|
+
|
|
26
|
+
# shellcheck disable=SC2154
|
|
27
|
+
echo "${RED}❭${NC} Preparing the dotfiles on your system."
|
|
28
|
+
|
|
29
|
+
backup &&
|
|
30
|
+
download &&
|
|
31
|
+
unpack &&
|
|
32
|
+
copy
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
args=$* # Arguments passed to script.
|
|
37
|
+
export args="${args}" # Exporting arguments.
|
|
38
|
+
if [[ ${args} = "build" ]]; then
|
|
39
|
+
echo "$*"
|
|
40
|
+
build
|
|
41
|
+
fi
|
package/scripts/clean.sh
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
## 🅲🅻🅴🅰🅽 - Clean up.
|
|
9
|
+
clean() {
|
|
10
|
+
|
|
11
|
+
# shellcheck disable=SC1091
|
|
12
|
+
. "./lib/configurations/default/constants.sh"
|
|
13
|
+
|
|
14
|
+
echo ""
|
|
15
|
+
# shellcheck disable=SC2154
|
|
16
|
+
echo "${RED}❭${NC} Starting Cleanup."
|
|
17
|
+
echo ""
|
|
18
|
+
|
|
19
|
+
# shellcheck disable=SC2154
|
|
20
|
+
echo "${GREEN} ✔${NC} Cleaning up installation files."
|
|
21
|
+
rm -fr dist/
|
|
22
|
+
rm -f tsconfig.tsbuildinfo
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
args=$* # Arguments passed to script.
|
|
27
|
+
export args="${args}" # Exporting arguments.
|
|
28
|
+
if [[ ${args} = "clean" ]]; then
|
|
29
|
+
echo "$*"
|
|
30
|
+
clean
|
|
31
|
+
fi
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
## 🅲🅾🅼🅿🅸🅻🅴 🅳🅾🆃🅵🅸🅻🅴🆂 - Compile dotfiles.
|
|
9
|
+
|
|
10
|
+
compile() {
|
|
11
|
+
|
|
12
|
+
# shellcheck disable=SC1091
|
|
13
|
+
. "./lib/configurations/default/constants.sh"
|
|
14
|
+
|
|
15
|
+
echo ""
|
|
16
|
+
# shellcheck disable=SC2154
|
|
17
|
+
echo "${RED}❭${NC} Starting Compilation."
|
|
18
|
+
echo ""
|
|
19
|
+
|
|
20
|
+
echo "${GREEN} ✔${NC} Copying libraries."
|
|
21
|
+
# shellcheck disable=SC1091
|
|
22
|
+
cp -R ./lib ./dist/
|
|
23
|
+
|
|
24
|
+
echo "${GREEN} ✔${NC} Copying scripts."
|
|
25
|
+
# shellcheck disable=SC1091
|
|
26
|
+
cp -R ./scripts ./dist/
|
|
27
|
+
|
|
28
|
+
echo "${GREEN} ✔${NC} Removing temporary files."
|
|
29
|
+
# shellcheck disable=SC1091
|
|
30
|
+
rimraf \"./dist/lib/**/*.tmp\"
|
|
31
|
+
|
|
32
|
+
echo "${GREEN} ✔${NC} Copying JavaScript binaries."
|
|
33
|
+
cp -f -R ./bin ./dist/
|
|
34
|
+
|
|
35
|
+
echo "${GREEN} ✔${NC} Copying Makefile."
|
|
36
|
+
cp -f ./Makefile ./dist
|
|
37
|
+
|
|
38
|
+
echo "${GREEN} ✔${NC} Compressing JavaScript files."
|
|
39
|
+
jsmin ./bin/backup.js >dist/bin/backup.js && jsmin ./bin/constants.js >dist/bin/constants.js && jsmin ./bin/copy.js >dist/bin/copy.js && jsmin ./bin/dotfiles.js >dist/bin/dotfiles.js && jsmin ./bin/download.js >dist/bin/download.js && jsmin ./bin/index.js >dist/bin/index.js && jsmin ./bin/transfer.js >dist/bin/transfer.js && jsmin ./bin/unpack.js >dist/bin/unpack.js
|
|
40
|
+
|
|
41
|
+
echo "${GREEN} ✔${NC} Determining the file sizes."
|
|
42
|
+
filesizes ./dist/ >./dist/filesizes.txt
|
|
43
|
+
|
|
44
|
+
# shellcheck disable=SC2154
|
|
45
|
+
echo "${GREEN} ✔${NC} Compilation completed."
|
|
46
|
+
echo ""
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
args=$* # Arguments passed to script.
|
|
50
|
+
export args="${args}" # Exporting arguments.
|
|
51
|
+
if [[ ${args} = "compile" ]]; then
|
|
52
|
+
echo "$*"
|
|
53
|
+
compile
|
|
54
|
+
fi
|
package/scripts/copy.sh
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 🅳🅾🆃🅵🅸🅻🅴🆂 (v0.2.471) - <https://dotfiles.io>
|
|
4
|
+
# Made with ♥ in London, UK by Sebastien Rousseau
|
|
5
|
+
# Copyright (c) 2015-2025. All rights reserved
|
|
6
|
+
# License: MIT
|
|
7
|
+
|
|
8
|
+
## 🅲🅾🅿🆈 - Copy the dotfiles on your system.
|
|
9
|
+
copy() {
|
|
10
|
+
|
|
11
|
+
# shellcheck disable=SC1091
|
|
12
|
+
. "./lib/configurations/default/constants.sh"
|
|
13
|
+
|
|
14
|
+
echo ""
|
|
15
|
+
# shellcheck disable=SC2154
|
|
16
|
+
echo "${RED}❭${NC} Starting Copying Procedure."
|
|
17
|
+
echo ""
|
|
18
|
+
|
|
19
|
+
# shellcheck disable=SC2154
|
|
20
|
+
# if [[ -d "${DF_DIR}" ]]; then
|
|
21
|
+
# echo "${RED}❭${NC} Copying Binaries to ${DF_DIR}."
|
|
22
|
+
# cp -f -R ./bin/ "${DF_DIR}"bin/
|
|
23
|
+
# else
|
|
24
|
+
# echo "${RED}❭${NC} Copying Binaries to ${DF_DIR}."
|
|
25
|
+
# mkdir -p "${DF_DIR}"
|
|
26
|
+
# cp -f -R ./bin/ "${DF_DIR}"bin/
|
|
27
|
+
# fi
|
|
28
|
+
|
|
29
|
+
# shellcheck disable=SC2154
|
|
30
|
+
if [[ -d "${DF_DIR}" ]]; then
|
|
31
|
+
echo "${RED}❭${NC} Copying ${GREEN}Dotfiles v${DF_VERSION}${NC} to ${CYAN}${DF_DIR}${NC}"
|
|
32
|
+
cp -f -R ./lib/ "${DF_DIR}"lib/
|
|
33
|
+
else
|
|
34
|
+
echo "${RED}❭${NC} Copying ${GREEN}Dotfiles v${DF_VERSION}${NC} to ${CYAN}${DF_DIR}${NC}"
|
|
35
|
+
mkdir -p "${DF_DIR}"
|
|
36
|
+
cp -f -R ./lib/ "${DF_DIR}"lib/
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# shellcheck disable=SC2154
|
|
40
|
+
# if [[ -d "${DF_DIR}" ]]; then
|
|
41
|
+
# echo "${RED}❭${NC} Copying Scripts to ${CYAN}${DF_DIR}${NC}"
|
|
42
|
+
# cp -f -R ./scripts/ "${DF_DIR}"scripts/
|
|
43
|
+
# else
|
|
44
|
+
# echo "${RED}❭${NC} Copying Scripts to ${CYAN}${DF_DIR}${NC}"
|
|
45
|
+
# mkdir -p "${DF_DIR}"
|
|
46
|
+
# cp -f -R ./scripts/ "${DF_DIR}"scripts/
|
|
47
|
+
# fi
|
|
48
|
+
|
|
49
|
+
# cacert -- Copying cacert.pem file.
|
|
50
|
+
# shellcheck disable=SC2154
|
|
51
|
+
cp -f "${PWD}"/lib/configurations/curl/cacert.pem "${HOME}"/.cacert.pem &&
|
|
52
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}cacert.pem${NC}'" &&
|
|
53
|
+
|
|
54
|
+
# bashrc -- Copying .bashrc file.
|
|
55
|
+
cp -f "${PWD}"/lib/configurations/bash/bashrc "${HOME}"/.bashrc &&
|
|
56
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.bashrc${NC}'" &&
|
|
57
|
+
|
|
58
|
+
# curlrc -- Copying .curlrc file.
|
|
59
|
+
cp -f "${PWD}"/lib/configurations/curl/curlrc "${HOME}"/.curlrc &&
|
|
60
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.curlrc${NC}'" &&
|
|
61
|
+
|
|
62
|
+
# gemrc -- Copying .gemrc file.
|
|
63
|
+
cp -f "${PWD}"/lib/configurations/gem/gemrc "${HOME}"/.gemrc &&
|
|
64
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.gemrc${NC}'" &&
|
|
65
|
+
|
|
66
|
+
# inputrc -- Copying .inputrc file.
|
|
67
|
+
cp -f "${PWD}"/lib/configurations/input/inputrc "${HOME}"/.inputrc &&
|
|
68
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.inputrc${NC}'" &&
|
|
69
|
+
|
|
70
|
+
# jshintrc -- Copying .jshintrc file.
|
|
71
|
+
cp -f "${PWD}"/lib/configurations/jshint/jshintrc "${HOME}"/.jshintrc &&
|
|
72
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.jshintrc${NC}'" &&
|
|
73
|
+
|
|
74
|
+
# nanorc -- Copying .nanorc file.
|
|
75
|
+
cp -f "${PWD}"/lib/configurations/nano/nanorc "${HOME}"/.nanorc &&
|
|
76
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.nanorc${NC}'" &&
|
|
77
|
+
|
|
78
|
+
# profile -- Copying .profile file.
|
|
79
|
+
cp -f "${PWD}"/lib/configurations/profile/profile "${HOME}"/.profile &&
|
|
80
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.profile${NC}'" &&
|
|
81
|
+
|
|
82
|
+
# tmux -- Copying .tmux.conf file.
|
|
83
|
+
cp -f "${PWD}"/lib/configurations/tmux/tmux "${HOME}"/.tmux.conf &&
|
|
84
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.tmux.conf${NC}'" &&
|
|
85
|
+
|
|
86
|
+
# vimrc -- Copying .vimrc file.
|
|
87
|
+
cp -f "${PWD}"/lib/configurations/vim/vimrc "${HOME}"/.vimrc &&
|
|
88
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.vimrc${NC}'" &&
|
|
89
|
+
|
|
90
|
+
# wgetrc -- Copying .wgetrc file.
|
|
91
|
+
cp -f "${PWD}"/lib/configurations/wget/wgetrc "${HOME}"/.wgetrc &&
|
|
92
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.wgetrc${NC}'" &&
|
|
93
|
+
|
|
94
|
+
# zshrc -- Copying .zshrc file.
|
|
95
|
+
cp -f "${PWD}"/lib/configurations/zsh/zshrc "${HOME}"/.zshrc &&
|
|
96
|
+
echo "${GREEN} ✔${NC} Copying '${YELLOW}.zshrc${NC}'"
|
|
97
|
+
|
|
98
|
+
# shellcheck disable=SC2154
|
|
99
|
+
echo "${GREEN} ✔${NC} All files have been copied up'"
|
|
100
|
+
echo ""
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
args=$* # Arguments passed to script.
|
|
104
|
+
export args="${args}" # Exporting arguments.
|
|
105
|
+
if [[ ${args} = "copy" ]]; then
|
|
106
|
+
echo "$*"
|
|
107
|
+
copy
|
|
108
|
+
fi
|
|
@@ -7,7 +7,7 @@ import os
|
|
|
7
7
|
import re
|
|
8
8
|
import sys
|
|
9
9
|
|
|
10
|
-
BASE_DIR = os.path.expanduser("~/.
|
|
10
|
+
BASE_DIR = os.path.expanduser("~/.local/share/chezmoi/.chezmoitemplates")
|
|
11
11
|
ALIASES_DIR = os.path.join(BASE_DIR, "aliases")
|
|
12
12
|
FUNCTIONS_DIR = os.path.join(BASE_DIR, "functions")
|
|
13
13
|
|