@sebastienrousseau/dotfiles 0.2.469 → 0.2.481
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +285 -0
- package/README.md +236 -319
- package/docs/ALIASES.md +128 -0
- package/docs/ARCHITECTURE.md +229 -0
- package/docs/COMPLIANCE.md +47 -0
- package/docs/COPYRIGHT +7 -0
- package/docs/FEATURES.md +166 -0
- package/docs/FONTS.md +147 -0
- package/docs/INSTALL.md +119 -0
- package/docs/KEYS.md +40 -0
- package/docs/KEY_ROTATION.md +219 -0
- package/docs/LEGACY_ROADMAP.md +142 -0
- package/docs/NEOVIM_IDE_GUIDE.md +52 -0
- package/docs/OPERATIONS.md +130 -0
- package/docs/PLAN.md +161 -0
- package/docs/PR_DESCRIPTION.md +149 -0
- package/docs/README.md +269 -0
- package/docs/REPO_AUDIT.md +23 -0
- package/docs/ROADMAP.md +148 -0
- package/docs/SCREENSHOTS.md +116 -0
- package/docs/SECRETS.md +76 -0
- package/docs/SECURITY.md +30 -0
- package/docs/SECURITY_CHECKLIST.md +25 -0
- package/docs/TASK.md +99 -0
- package/docs/TESTING.md +190 -0
- package/docs/TOOLS.md +146 -0
- package/docs/TROUBLESHOOTING.md +112 -0
- package/docs/UTILS.md +105 -0
- package/docs/WALKTHROUGH.md +165 -0
- package/docs/WSL2_NIX_TROUBLESHOOTING.md +723 -0
- package/docs/adr/ADR-001-ci-cd-pipeline.md +101 -0
- package/docs/adr/ADR-002-shell-performance.md +121 -0
- package/docs/adr/ADR-003-security-first.md +140 -0
- package/docs/adr/ADR-004-cli-architecture.md +157 -0
- package/docs/adr/ADR-005-chezmoi-choice.md +89 -0
- package/docs/adr/ADR-006-shell-selection.md +115 -0
- package/docs/adr/README.md +33 -0
- package/docs/themes/README.md +20 -0
- package/dot_config/aider/aider.conf.yml +32 -0
- package/dot_config/alacritty/alacritty.toml.tmpl +483 -0
- package/dot_config/ansible/ansible.cfg.tmpl +11 -0
- package/dot_config/atuin/config.toml +23 -0
- package/dot_config/bat/config +8 -0
- package/dot_config/brave-flags.conf.tmpl +7 -0
- package/dot_config/btop/btop.conf +16 -0
- package/dot_config/btop/themes/tokyonight.theme +34 -0
- package/dot_config/bun/bunfig.toml.tmpl +33 -0
- package/dot_config/claude/mcp_servers.json +49 -0
- package/dot_config/clippy.toml +55 -0
- package/dot_config/containers/containers.conf +14 -0
- package/dot_config/curl/dot_curlrc +18 -0
- package/dot_config/dlv/config.yml +39 -0
- package/dot_config/docker/config.json.tmpl +15 -0
- package/dot_config/dotfiles/boot/README.md +11 -0
- package/dot_config/dotfiles/grub/README.md +11 -0
- package/dot_config/dotfiles/lock/README.md +11 -0
- package/dot_config/dotfiles/versions.env.tmpl +19 -0
- package/dot_config/duf/duf.conf +6 -0
- package/dot_config/duti/defaults.duti +5 -0
- package/dot_config/emoji/emoji.txt +34 -0
- package/dot_config/fastfetch/config.jsonc +28 -0
- package/dot_config/firefox/user.js +8 -0
- package/dot_config/flatpak/flatpak.list +4 -0
- package/dot_config/fontconfig/fonts.conf.tmpl +44 -0
- package/dot_config/gh/config.yml +12 -0
- package/dot_config/ghostty/config.tmpl +661 -0
- package/dot_config/git/attributes +12 -0
- package/dot_config/git/config.tmpl +77 -0
- package/dot_config/git/ignore +27 -0
- package/dot_config/gnupg/gpg-agent.conf.tmpl +11 -0
- package/dot_config/go/aliases.sh +61 -0
- package/dot_config/go/env.sh +24 -0
- package/dot_config/go/golangci.yml +118 -0
- package/dot_config/go/gopls.json +30 -0
- package/dot_config/goose/config.yaml +29 -0
- package/dot_config/gtk-3.0/gtk.css.tmpl +305 -0
- package/dot_config/gtk-3.0/settings.ini.tmpl +66 -0
- package/dot_config/gtk-4.0/gtk.css.tmpl +309 -0
- package/dot_config/gtk-4.0/settings.ini.tmpl +21 -0
- package/dot_config/htop/htoprc +20 -0
- package/dot_config/ice/README.md +13 -0
- package/dot_config/inputrc +2 -0
- package/dot_config/ipython/profile_default/ipython_config.py.tmpl +5 -0
- package/dot_config/just/justfile +104 -0
- package/dot_config/k9s/config.yaml.tmpl +65 -0
- package/dot_config/k9s/skins/catppuccin-mocha.yaml +116 -0
- package/dot_config/karabiner/karabiner.json +14 -0
- package/dot_config/kitty/kitty.conf.tmpl +517 -0
- package/dot_config/lazydocker/config.yml +186 -0
- package/dot_config/lazygit/config.yml +23 -0
- package/dot_config/lsd/config.yaml +19 -0
- package/dot_config/mas/masapps.txt +5 -0
- package/dot_config/minikube/config.json +13 -0
- package/dot_config/mise/config.toml +41 -0
- package/dot_config/mongosh/mongoshrc.js +67 -0
- package/dot_config/mycli/myclirc +67 -0
- package/dot_config/nano/nanorc +28 -0
- package/dot_config/ncdu/config +12 -0
- package/dot_config/nvim/init.lua +4 -0
- package/dot_config/nvim/lazy-lock.json +27 -0
- package/dot_config/nvim/lua/config/autocmds.lua +63 -0
- package/dot_config/nvim/lua/config/keymaps.lua +87 -0
- package/dot_config/nvim/lua/config/lazy.lua +34 -0
- package/dot_config/nvim/lua/config/options.lua +48 -0
- package/dot_config/nvim/lua/plugins/coding.lua +234 -0
- package/dot_config/nvim/lua/plugins/dap.lua +201 -0
- package/dot_config/nvim/lua/plugins/editor.lua +59 -0
- package/dot_config/nvim/lua/plugins/git.lua +9 -0
- package/dot_config/nvim/lua/plugins/lsp.lua +221 -0
- package/dot_config/nvim/lua/plugins/markdown.lua +17 -0
- package/dot_config/nvim/lua/plugins/rust.lua +33 -0
- package/dot_config/nvim/lua/plugins/sessions.lua +32 -0
- package/dot_config/nvim/lua/plugins/ui.lua +537 -0
- package/dot_config/nvim/snippets/all.lua +9 -0
- package/dot_config/nvim/snippets/python.lua +16 -0
- package/dot_config/pip/pip.conf.tmpl +32 -0
- package/dot_config/pypoetry/config.toml.tmpl +6 -0
- package/dot_config/pyrightconfig.json.tmpl +5 -0
- package/dot_config/raycast/README.md +13 -0
- package/dot_config/redis/redisclirc +41 -0
- package/dot_config/shell/00-container-detect.sh +53 -0
- package/dot_config/shell/00-core-paths.sh.tmpl +95 -0
- package/dot_config/shell/05-core-safety.sh.tmpl +13 -0
- package/dot_config/shell/40-ls-colors.sh.tmpl +31 -0
- package/dot_config/shell/50-logic-functions.sh.tmpl +10 -0
- package/dot_config/shell/90-theme-switch.sh +70 -0
- package/dot_config/shell/90-ux-aliases.sh.tmpl +35 -0
- package/dot_config/shell/91-ux-aliases-lazy.sh.tmpl +23 -0
- package/dot_config/shell/Brewfile +207 -0
- package/dot_config/shell/Brewfile.cask +92 -0
- package/dot_config/shell/Brewfile.cli +119 -0
- package/dot_config/shell/README.md +267 -0
- package/dot_config/shell/custom/context_suggest.zsh +68 -0
- package/dot_config/shell/custom/error_analysis.zsh +45 -0
- package/dot_config/sops/dot_sops.yaml +23 -0
- package/dot_config/starship.toml.tmpl +124 -0
- package/dot_config/task/Taskfile.yml +86 -0
- package/dot_config/tflint/tflint.hcl.tmpl +9 -0
- package/dot_config/tmux/tmux.conf.tmpl +181 -0
- package/dot_config/topgrade/topgrade.toml.tmpl +42 -0
- package/dot_config/vscode/extensions.txt +11 -0
- package/dot_config/vscode/settings.json.tmpl +123 -0
- package/dot_config/waybar/style.css +8 -0
- package/dot_config/wezterm/wezterm.lua.tmpl +236 -0
- package/dot_config/wget/wgetrc +12 -0
- package/dot_config/yarn/yarnrc.yml.tmpl +36 -0
- package/dot_config/yazi/yazi.toml +40 -0
- package/dot_config/zellij/config.kdl +79 -0
- package/dot_config/zsh/dot_zprofile +13 -0
- package/dot_config/zsh/dot_zshenv +6 -0
- package/dot_config/zsh/dot_zshrc.tmpl +199 -0
- package/dot_config/zsh/rc.d/05-ssh-agent.zsh +5 -0
- package/dot_config/zsh/rc.d/10-env.zsh.tmpl +28 -0
- package/dot_config/zsh/rc.d/20-zinit.zsh.tmpl +22 -0
- package/dot_config/zsh/rc.d/30-options.zsh.tmpl +123 -0
- package/dot_config/zsh/rc.d/40-bell.zsh.tmpl +20 -0
- package/dot_config/zsh/rc.d/50-login-fortune.zsh.tmpl +9 -0
- package/dot_local/bin/executable_ai_core +130 -0
- package/dot_local/bin/executable_b64 +59 -0
- package/dot_local/bin/executable_dot +178 -0
- package/dot_local/bin/executable_dot_completion +55 -0
- package/dot_local/bin/executable_epoch +62 -0
- package/dot_local/bin/executable_extract +108 -0
- package/dot_local/bin/executable_git-ai-commit +160 -0
- package/dot_local/bin/executable_git-ai-diff +154 -0
- package/dot_local/bin/executable_hash +123 -0
- package/dot_local/bin/executable_hex +79 -0
- package/dot_local/bin/executable_ip +37 -0
- package/dot_local/bin/executable_jsonv +54 -0
- package/dot_local/bin/executable_jwt +78 -0
- package/dot_local/bin/executable_kill-port +59 -0
- package/dot_local/bin/executable_lorem +103 -0
- package/dot_local/bin/executable_regex +96 -0
- package/dot_local/bin/executable_tmux-sessionizer +187 -0
- package/dot_local/bin/executable_tour +137 -0
- package/dot_local/bin/executable_update +108 -0
- package/dot_local/bin/executable_uuid +57 -0
- package/dot_local/bin/executable_yamlv +39 -0
- package/dot_local/bin/executable_zig-install +89 -0
- package/dot_local/bin/voice_ops +7 -0
- package/dot_local/share/bash-completion/completions/dot +54 -0
- package/dot_local/share/zsh/completions/.keep +0 -0
- package/install.sh +255 -0
- package/package.json +52 -76
- package/scripts/ci/validate-ci-config.sh +222 -0
- package/scripts/demo/record.sh +41 -0
- package/scripts/diagnostics/benchmark.sh +201 -0
- package/scripts/diagnostics/doctor.sh +115 -0
- package/scripts/diagnostics/drift-dashboard.sh +26 -0
- package/scripts/diagnostics/health.sh +356 -0
- package/scripts/diagnostics/history-analysis.sh +77 -0
- package/scripts/diagnostics/security-score.sh +392 -0
- package/scripts/diagnostics/verify_state.sh +60 -0
- package/scripts/dot/commands/appearance.sh +63 -0
- package/scripts/dot/commands/core.sh +130 -0
- package/scripts/dot/commands/diagnostics.sh +100 -0
- package/scripts/dot/commands/meta.sh +117 -0
- package/scripts/dot/commands/restore.sh +209 -0
- package/scripts/dot/commands/secrets.sh +81 -0
- package/scripts/dot/commands/security.sh +73 -0
- package/scripts/dot/commands/tools.sh +228 -0
- package/scripts/dot/lib/utils.sh +72 -0
- package/scripts/fonts/install-nerd-fonts.sh +59 -0
- package/scripts/fonts/patch-fonts.sh +34 -0
- package/scripts/ops/chezmoi-apply.sh +42 -0
- package/scripts/ops/chezmoi-diff.sh +14 -0
- package/scripts/ops/chezmoi-remove.sh +43 -0
- package/scripts/ops/chezmoi-update.sh +16 -0
- package/scripts/ops/heal.sh +466 -0
- package/scripts/ops/health-check.sh +380 -0
- package/scripts/ops/rollback.sh +531 -0
- package/scripts/ops/teleport.sh +32 -0
- package/scripts/secrets/age-init.sh +69 -0
- package/scripts/secrets/create-secrets-file.sh +44 -0
- package/scripts/secrets/encrypt-ssh-key.sh +42 -0
- package/scripts/security/backup.sh +17 -0
- package/scripts/security/dns-doh.sh +29 -0
- package/scripts/security/encryption-check.sh +39 -0
- package/scripts/security/enforce-policies.sh +339 -0
- package/scripts/security/firewall.sh +34 -0
- package/scripts/security/lock-configs.sh +57 -0
- package/scripts/security/lock-screen.sh +33 -0
- package/scripts/security/manage-secrets.sh +415 -0
- package/scripts/security/telemetry-kill.sh +28 -0
- package/scripts/security/usb-safety.sh +29 -0
- package/scripts/tests/README.md +241 -0
- package/scripts/tests/benchmark.sh +91 -0
- package/scripts/tests/framework/assertions.sh +283 -0
- package/scripts/tests/framework/mocks.sh +201 -0
- package/scripts/tests/framework/test_runner.sh +189 -0
- package/scripts/tests/integration/test_install.sh +237 -0
- package/scripts/tests/performance/benchmark_runner.sh +156 -0
- package/scripts/tests/performance/regression_check.sh +73 -0
- package/scripts/tests/performance/stress_test.sh +65 -0
- package/scripts/tests/test-aliases.sh +25 -0
- package/scripts/tests/test-docker.sh +48 -0
- package/scripts/tests/unit/test_ai_aliases.sh +158 -0
- package/scripts/tests/unit/test_ai_cli_checks.sh +47 -0
- package/scripts/tests/unit/test_backup.sh +227 -0
- package/scripts/tests/unit/test_case_functions.sh +238 -0
- package/scripts/tests/unit/test_cd_aliases.sh +367 -0
- package/scripts/tests/unit/test_dot_cli.sh +217 -0
- package/scripts/tests/unit/test_encode64.sh +67 -0
- package/scripts/tests/unit/test_environment.sh +78 -0
- package/scripts/tests/unit/test_extract.sh +163 -0
- package/scripts/tests/unit/test_framework_edge_cases.sh +113 -0
- package/scripts/tests/unit/test_genpass.sh +298 -0
- package/scripts/tests/unit/test_install_edge_cases.sh +167 -0
- package/scripts/tests/unit/test_installers.sh +172 -0
- package/scripts/tests/unit/test_keygen.sh +68 -0
- package/scripts/tests/unit/test_logging.sh +96 -0
- package/scripts/tests/unit/test_os_detection_comprehensive.sh +388 -0
- package/scripts/tests/unit/test_package_managers_comprehensive.sh +321 -0
- package/scripts/tests/unit/test_prependpath.sh +66 -0
- package/scripts/tests/unit/test_prependpath_refactored.sh +89 -0
- package/scripts/tests/unit/test_rd.sh +230 -0
- package/scripts/tests/unit/test_security_fixes.sh +130 -0
- package/scripts/tests/unit/test_security_scripts.sh +87 -0
- package/scripts/tests/unit/test_template_validation.sh +238 -0
- package/scripts/tests/unit/test_utility_functions.sh +144 -0
- package/scripts/tests/unit/test_wave1_alias_split.sh +132 -0
- package/scripts/tests/unit/test_wave1_ci_pinning.sh +61 -0
- package/scripts/tests/unit/test_wave1_gitleaks_config.sh +52 -0
- package/scripts/tests/unit/test_wave1_heal_fixes.sh +97 -0
- package/scripts/tests/unit/test_wave1_install_gpg.sh +35 -0
- package/scripts/tests/unit/test_wave1_zshenv_path.sh +89 -0
- package/scripts/tests/unit/test_wave1_zshrc_lazy_hook.sh +115 -0
- package/scripts/tests/unit/test_wave2_dot_new_guard.sh +75 -0
- package/scripts/tests/unit/test_zipf.sh +76 -0
- package/scripts/theme/apply-gnome-theme.sh +297 -0
- package/scripts/theme/install-boot-logo.sh +61 -0
- package/scripts/theme/install-catppuccin-themes.sh +346 -0
- package/scripts/theme/install-cursors.sh +24 -0
- package/scripts/theme/install-file-icons.sh +25 -0
- package/scripts/theme/install-grub-theme.sh +51 -0
- package/scripts/theme/install-lock-icon.sh +29 -0
- package/scripts/theme/switch.sh +250 -0
- package/scripts/theme/wallpaper-rotate.sh +82 -0
- package/scripts/theme/wallpaper-sync.sh +42 -0
- package/scripts/tools/cmatrix.sh +20 -0
- package/scripts/tools/detect-collisions.py +84 -0
- package/scripts/tools/emoji-picker.sh +45 -0
- package/scripts/tools/figlet-banner.sh +17 -0
- package/scripts/tools/log-rotate.sh +29 -0
- package/scripts/tools/lolcat-wrap.sh +18 -0
- package/scripts/tools/pipes.sh +47 -0
- package/scripts/tuning/linux.sh +175 -0
- package/scripts/tuning/macos.sh +46 -0
- package/templates/projects/go/README.md +7 -0
- package/templates/projects/go/cmd/__PROJECT_NAME__/main.go +7 -0
- package/templates/projects/go/go.mod +3 -0
- package/templates/projects/molecule/README.md +7 -0
- package/templates/projects/molecule/converge.yml +7 -0
- package/templates/projects/molecule/molecule.yml +16 -0
- package/templates/projects/node/README.md +7 -0
- package/templates/projects/node/package.json +10 -0
- package/templates/projects/node/src/index.js +2 -0
- package/templates/projects/packer/README.md +15 -0
- package/templates/projects/packer/main.pkr.hcl +15 -0
- package/templates/projects/python/README.md +7 -0
- package/templates/projects/python/pyproject.toml +25 -0
- package/templates/projects/python/src/__PROJECT_NAME__/__init__.py +1 -0
- package/templates/projects/python/tests/test_basic.py +2 -0
- package/dist/Makefile +0 -140
- package/dist/bin/backup.d.ts +0 -3
- package/dist/bin/backup.d.ts.map +0 -1
- package/dist/bin/backup.js +0 -4
- package/dist/bin/backup.js.map +0 -1
- package/dist/bin/constants.d.ts +0 -7
- package/dist/bin/constants.d.ts.map +0 -1
- package/dist/bin/constants.js +0 -2
- package/dist/bin/constants.js.map +0 -1
- package/dist/bin/copy.d.ts +0 -3
- package/dist/bin/copy.d.ts.map +0 -1
- package/dist/bin/copy.js +0 -3
- package/dist/bin/copy.js.map +0 -1
- package/dist/bin/dotfiles.d.ts +0 -3
- package/dist/bin/dotfiles.d.ts.map +0 -1
- package/dist/bin/dotfiles.js +0 -2
- package/dist/bin/dotfiles.js.map +0 -1
- package/dist/bin/download.d.ts +0 -3
- package/dist/bin/download.d.ts.map +0 -1
- package/dist/bin/download.js +0 -2
- package/dist/bin/download.js.map +0 -1
- package/dist/bin/index.d.ts +0 -2
- package/dist/bin/index.d.ts.map +0 -1
- package/dist/bin/index.js +0 -1
- package/dist/bin/index.js.map +0 -1
- package/dist/bin/transfer.d.ts +0 -3
- package/dist/bin/transfer.d.ts.map +0 -1
- package/dist/bin/transfer.js +0 -4
- package/dist/bin/transfer.js.map +0 -1
- package/dist/bin/unpack.d.ts +0 -3
- package/dist/bin/unpack.d.ts.map +0 -1
- package/dist/bin/unpack.js +0 -3
- package/dist/bin/unpack.js.map +0 -1
- package/dist/filesizes.txt +0 -382
- package/dist/lib/README.md +0 -86
- package/dist/lib/aliases/README.md +0 -57
- package/dist/lib/aliases/archives/README.md +0 -145
- package/dist/lib/aliases/archives/archives.aliases.sh +0 -114
- package/dist/lib/aliases/cd/README.md +0 -146
- package/dist/lib/aliases/cd/cd.aliases.sh +0 -51
- package/dist/lib/aliases/chmod/README.md +0 -160
- package/dist/lib/aliases/chmod/chmod.aliases.sh +0 -107
- package/dist/lib/aliases/clear/README.md +0 -37
- package/dist/lib/aliases/clear/clear.aliases.sh +0 -71
- package/dist/lib/aliases/configuration/README.md +0 -39
- package/dist/lib/aliases/configuration/configuration.aliases.sh +0 -70
- package/dist/lib/aliases/default/README.md +0 -40
- package/dist/lib/aliases/default/default.aliases.sh +0 -139
- package/dist/lib/aliases/dig/README.md +0 -37
- package/dist/lib/aliases/dig/dig.aliases.sh +0 -43
- package/dist/lib/aliases/disk-usage/README.md +0 -36
- package/dist/lib/aliases/disk-usage/du.aliases.sh +0 -84
- package/dist/lib/aliases/editor/README.md +0 -53
- package/dist/lib/aliases/editor/editor.aliases.sh +0 -26
- package/dist/lib/aliases/find/README.md +0 -46
- package/dist/lib/aliases/find/find.aliases.sh +0 -60
- package/dist/lib/aliases/gcloud/README.md +0 -63
- package/dist/lib/aliases/gcloud/gcloud.aliases.sh +0 -335
- package/dist/lib/aliases/git/README.md +0 -153
- package/dist/lib/aliases/git/git.aliases.sh +0 -544
- package/dist/lib/aliases/gnu/README.md +0 -89
- package/dist/lib/aliases/gnu/gnucoreutils-aliases.sh +0 -150
- package/dist/lib/aliases/heroku/README.md +0 -430
- package/dist/lib/aliases/heroku/heroku.aliases.sh +0 -1053
- package/dist/lib/aliases/interactive/README.md +0 -55
- package/dist/lib/aliases/interactive/interactive.aliases.sh +0 -50
- package/dist/lib/aliases/list/README.md +0 -131
- package/dist/lib/aliases/list/list.aliases.sh +0 -132
- package/dist/lib/aliases/macOS/README.md +0 -42
- package/dist/lib/aliases/macOS/macos.aliases.sh +0 -65
- package/dist/lib/aliases/make/README.md +0 -32
- package/dist/lib/aliases/make/make.aliases.sh +0 -35
- package/dist/lib/aliases/mkdir/README.md +0 -30
- package/dist/lib/aliases/mkdir/mkdir.aliases.sh +0 -29
- package/dist/lib/aliases/npm/README.md +0 -41
- package/dist/lib/aliases/npm/npm.aliases.sh +0 -61
- package/dist/lib/aliases/permission/README.md +0 -47
- package/dist/lib/aliases/permission/permission.aliases.sh +0 -73
- package/dist/lib/aliases/pnpm/README.md +0 -53
- package/dist/lib/aliases/pnpm/pnpm.aliases.sh +0 -76
- package/dist/lib/aliases/ps/README.md +0 -29
- package/dist/lib/aliases/ps/ps.aliases.sh +0 -20
- package/dist/lib/aliases/python/python.aliases.sh +0 -141
- package/dist/lib/aliases/rsync/README.md +0 -25
- package/dist/lib/aliases/rsync/rsync.aliases.sh +0 -17
- package/dist/lib/aliases/rust/README.md +0 -182
- package/dist/lib/aliases/rust/rust.aliases.sh +0 -119
- package/dist/lib/aliases/subversion/README.md +0 -66
- package/dist/lib/aliases/subversion/subversion.aliases.sh +0 -47
- package/dist/lib/aliases/sudo/README.md +0 -27
- package/dist/lib/aliases/sudo/sudo.aliases.sh +0 -20
- package/dist/lib/aliases/tmux/README.md +0 -31
- package/dist/lib/aliases/tmux/tmux.aliases.sh +0 -36
- package/dist/lib/aliases/update/README.md +0 -38
- package/dist/lib/aliases/update/update.aliases.sh +0 -310
- package/dist/lib/aliases/uuid/README.md +0 -24
- package/dist/lib/aliases/uuid/uuid.aliases.sh +0 -19
- package/dist/lib/aliases/wget/README.md +0 -27
- package/dist/lib/aliases/wget/wget.aliases.sh +0 -22
- package/dist/lib/aliases.sh +0 -50
- package/dist/lib/configurations/README.md +0 -18
- package/dist/lib/configurations/bash/bashrc +0 -167
- package/dist/lib/configurations/curl/cacert.pem +0 -3460
- package/dist/lib/configurations/curl/curlrc +0 -53
- package/dist/lib/configurations/default/color.sh +0 -24
- package/dist/lib/configurations/default/constants.sh +0 -43
- package/dist/lib/configurations/default/editor.sh +0 -18
- package/dist/lib/configurations/default/prompt.sh +0 -48
- package/dist/lib/configurations/input/inputrc +0 -23
- package/dist/lib/configurations/jshint/jshintrc +0 -37
- package/dist/lib/configurations/nano/nanorc +0 -35
- package/dist/lib/configurations/profile/profile +0 -37
- package/dist/lib/configurations/prompt/prompt.sh +0 -81
- package/dist/lib/configurations/tmux/default +0 -18
- package/dist/lib/configurations/tmux/display +0 -30
- package/dist/lib/configurations/tmux/linux +0 -18
- package/dist/lib/configurations/tmux/navigation +0 -30
- package/dist/lib/configurations/tmux/panes +0 -10
- package/dist/lib/configurations/tmux/theme +0 -29
- package/dist/lib/configurations/tmux/tmux +0 -21
- package/dist/lib/configurations/vim/vimrc +0 -193
- package/dist/lib/configurations/wget/wgetrc +0 -40
- package/dist/lib/configurations/zsh/zshrc +0 -50
- package/dist/lib/configurations.sh +0 -45
- package/dist/lib/functions/README.md +0 -92
- package/dist/lib/functions/apihealth.sh +0 -277
- package/dist/lib/functions/apilatency.sh +0 -157
- package/dist/lib/functions/apiload.sh +0 -165
- package/dist/lib/functions/backup.sh +0 -143
- package/dist/lib/functions/cdls.sh +0 -60
- package/dist/lib/functions/curlheader.sh +0 -78
- package/dist/lib/functions/curlstatus.sh +0 -74
- package/dist/lib/functions/curltime.sh +0 -75
- package/dist/lib/functions/encode64.sh +0 -107
- package/dist/lib/functions/environment.sh +0 -78
- package/dist/lib/functions/extract.sh +0 -86
- package/dist/lib/functions/freespace.sh +0 -67
- package/dist/lib/functions/genpwd.sh +0 -105
- package/dist/lib/functions/goto.sh +0 -67
- package/dist/lib/functions/hexdump.sh +0 -96
- package/dist/lib/functions/hiddenfiles.sh +0 -77
- package/dist/lib/functions/hostinfo.sh +0 -98
- package/dist/lib/functions/hstats.sh +0 -75
- package/dist/lib/functions/httpdebug.sh +0 -113
- package/dist/lib/functions/kebabcase.sh +0 -61
- package/dist/lib/functions/keygen.sh +0 -194
- package/dist/lib/functions/last.sh +0 -112
- package/dist/lib/functions/logout.sh +0 -120
- package/dist/lib/functions/lowercase.sh +0 -61
- package/dist/lib/functions/matrix.sh +0 -216
- package/dist/lib/functions/mount_read_only.sh +0 -11
- package/dist/lib/functions/myproc.sh +0 -9
- package/dist/lib/functions/prependpath.sh +0 -21
- package/dist/lib/functions/ql.sh +0 -9
- package/dist/lib/functions/rd.sh +0 -17
- package/dist/lib/functions/remove_disk.sh +0 -11
- package/dist/lib/functions/ren.sh +0 -73
- package/dist/lib/functions/sentencecase.sh +0 -63
- package/dist/lib/functions/showhiddenfiles.sh +0 -14
- package/dist/lib/functions/size.sh +0 -16
- package/dist/lib/functions/snakecase.sh +0 -61
- package/dist/lib/functions/stopwatch.sh +0 -15
- package/dist/lib/functions/sysinfo.sh +0 -145
- package/dist/lib/functions/titlecase.sh +0 -65
- package/dist/lib/functions/uppercase.sh +0 -61
- package/dist/lib/functions/view-source.sh +0 -9
- package/dist/lib/functions/vscode.sh +0 -32
- package/dist/lib/functions/whoisport.sh +0 -14
- package/dist/lib/functions/zipf.sh +0 -16
- package/dist/lib/functions.sh +0 -46
- package/dist/lib/history.sh +0 -90
- package/dist/lib/paths/README.md +0 -52
- package/dist/lib/paths/custom.paths.sh +0 -40
- package/dist/lib/paths/default.paths.sh +0 -37
- package/dist/lib/paths.sh +0 -46
- package/dist/scripts/backup.sh +0 -95
- package/dist/scripts/banner.sh +0 -20
- package/dist/scripts/build.sh +0 -41
- package/dist/scripts/clean.sh +0 -31
- package/dist/scripts/compile.sh +0 -54
- package/dist/scripts/copy.sh +0 -108
- package/dist/scripts/dotfiles.sh +0 -63
- package/dist/scripts/download.sh +0 -35
- package/dist/scripts/help.sh +0 -57
- package/dist/scripts/ssh.sh +0 -55
- package/dist/scripts/unpack.sh +0 -28
- /package/{dist/lib/configurations → dot_config}/gem/gemrc +0 -0
package/README.md
CHANGED
|
@@ -1,398 +1,315 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="right">
|
|
2
|
+
<img src="https://kura.pro/dotfiles/v2/images/logos/dotfiles.svg" alt="Dotfiles logo" width="64" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
src="https://kura.pro/dotfiles/v2/images/logos/dotfiles.svg"
|
|
5
|
-
alt="dotfiles logo"
|
|
6
|
-
width="66"
|
|
7
|
-
align="right"
|
|
8
|
-
/>
|
|
5
|
+
# Dotfiles — A Fast, Idempotent Shell Environment
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
[](https://github.com/sebastienrousseau/dotfiles/actions)
|
|
8
|
+
[](https://github.com/sebastienrousseau/dotfiles/releases/tag/v0.2.481)
|
|
9
|
+
[](LICENSE)
|
|
10
|
+
[](https://github.com/sebastienrousseau/dotfiles/releases)
|
|
11
|
+
[](https://github.com/sebastienrousseau/dotfiles/commits)
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
---
|
|
13
14
|
|
|
14
|
-
|
|
15
|
+
## Overview
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
<center>
|
|
18
|
-
<!-- markdownlint-enable MD033 MD041 -->
|
|
17
|
+
Set up your development environment in minutes and keep it consistent across every machine. Dotfiles is a cross‑platform shell distribution managed by [Chezmoi](https://github.com/twpayne/chezmoi) that works on macOS, Linux, and WSL. It is **idempotent** by design: run it once or a hundred times, and the result is always the same.
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
Git + templates + guarded scripts = a reproducible shell.
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
[![Contributors][contributors-shield]][14]
|
|
24
|
-
[![Forks][forks-shield]][13]
|
|
25
|
-
[![License][license]][02]
|
|
26
|
-
[![Love][love]][00]
|
|
21
|
+
---
|
|
27
22
|
|
|
28
|
-
|
|
29
|
-
• [Report Bug][17] • [Request Feature][17]
|
|
30
|
-
• [Contributing Guidelines][05]
|
|
23
|
+
## Table of contents
|
|
31
24
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
- [Why dotfiles](#why-dotfiles)
|
|
26
|
+
- [Safety](#safety)
|
|
27
|
+
- [Get started](#get-started)
|
|
28
|
+
- [Discover](#discover)
|
|
29
|
+
- [Install details](#install-details)
|
|
30
|
+
- [Make it yours](#make-it-yours)
|
|
31
|
+
- [Reference](#reference)
|
|
32
|
+
- [How it works](#how-it-works)
|
|
33
|
+
- [Roadmap](#roadmap)
|
|
34
|
+
- [Contribute](#contribute)
|
|
35
|
+
- [Changelog](#changelog)
|
|
36
|
+
- [License](#license)
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
---
|
|
37
39
|
|
|
38
|
-
##
|
|
40
|
+
## Why dotfiles
|
|
39
41
|
|
|
40
|
-
Dotfiles
|
|
41
|
-
Windows providing scripts and customized settings to streamline your
|
|
42
|
-
workflow. These files are an essential tool for developers and users who
|
|
43
|
-
want to modify their environment and applications to their exact needs.
|
|
42
|
+
Dotfiles takes an infrastructure‑oriented approach to managing your shell. It is designed for developers who work across multiple machines and value **daily usability, reproducibility, and auditability.**
|
|
44
43
|
|
|
45
|
-
The
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
- **The Stack.** Zsh, Neovim, tmux, and AI CLI tools configured with sane defaults so you can start working immediately.
|
|
45
|
+
- **Unified Control.** The `dot` CLI wraps common workflows such as syncing, upgrading, and managing secrets.
|
|
46
|
+
- **Safety First.** Every system or security change requires explicit opt‑in.
|
|
47
|
+
- **Clean Slate.** Source files, generated configs, and system state stay cleanly separated.
|
|
49
48
|
|
|
50
|
-
<!-- markdownlint-disable MD033 MD041 MD043 -->
|
|
51
|
-
<br>
|
|
52
|
-
<center>
|
|
53
|
-
<!-- markdownlint-enable MD033 MD041 -->
|
|
54
49
|
|
|
55
|
-
|
|
56
|
-
[![Download Dotfiles v0.2.469][download_button]][12]
|
|
50
|
+
## Safety
|
|
57
51
|
|
|
58
|
-
|
|
59
|
-
</center>
|
|
60
|
-
<br />
|
|
61
|
-
<!-- markdownlint-enable MD033 MD041 -->
|
|
52
|
+
This is **infrastructure**, not an ad‑hoc shell script.
|
|
62
53
|
|
|
63
|
-
|
|
54
|
+
- No destructive actions without explicit opt‑in.
|
|
55
|
+
- No background daemons install automatically.
|
|
56
|
+
- No system settings change by default.
|
|
57
|
+
- System‑level behavior requires explicit opt‑in through environment variables.
|
|
58
|
+
- Dotfiles logs all privileged actions to `~/.local/share/dotfiles.log`.
|
|
64
59
|
|
|
65
|
-
|
|
66
|
-
- A unified set of aliases and useful commands for macOS, Linux, and
|
|
67
|
-
Windows.
|
|
68
|
-
- Coloured multiplexer tmux prompt, customizable, and easy to use.
|
|
69
|
-
- Fast and flexible configuration files for Bash, Zsh, and more.
|
|
70
|
-
- Fully documented and translated into several languages (English,
|
|
71
|
-
French, and more).
|
|
72
|
-
- Supports Apple Silicon (M1) and Intel chips (x86_64).
|
|
73
|
-
- Uses Roboto Mono for Powerline font for enhanced terminal experience.
|
|
60
|
+
---
|
|
74
61
|
|
|
75
|
-
|
|
62
|
+
## Get started
|
|
76
63
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
We are so delighted that you have decided to try Dotfiles, and are sure
|
|
80
|
-
that you will find Dotfiles unique and helpful.
|
|
81
|
-
|
|
82
|
-
To get started, please follow the instructions below. If you have any
|
|
83
|
-
questions, please feel free to contact us.
|
|
84
|
-
|
|
85
|
-
### Installation
|
|
86
|
-
|
|
87
|
-
We understand that you may want to install Dotfiles without reading long
|
|
88
|
-
manuals and lengthy documentation. In that respect, we have tried to
|
|
89
|
-
make the installation process as easy and automated as possible.
|
|
90
|
-
|
|
91
|
-
A range of installation methods are available, and we recommend that you
|
|
92
|
-
choose the one that best suits your needs.
|
|
93
|
-
|
|
94
|
-
Before you begin your installation, use this information to ensure that
|
|
95
|
-
you meet all the hardware, software, and system requirements for
|
|
96
|
-
installing Dotfiles.
|
|
97
|
-
|
|
98
|
-
#### 1) System Requirements
|
|
99
|
-
|
|
100
|
-
You need a modern operating system to install Dotfiles. Here's an non-
|
|
101
|
-
exhaustive list of the recommended operating systems that we support.
|
|
102
|
-
|
|
103
|
-
If you don't see your operating system listed, it may still work, but we
|
|
104
|
-
have yet been able to test it. If you have any issues, please let us
|
|
105
|
-
know.
|
|
106
|
-
|
|
107
|
-
- macOS 10.15 or later
|
|
108
|
-
- Windows 10 or later
|
|
109
|
-
- A Debian based distribution ([Debian][08], [Ubuntu][27],
|
|
110
|
-
[PoP!_OS][22], [Zorin OS][29], [Q4OS][23], [Kali Linux][18],
|
|
111
|
-
[Devuan][10], [Deepin][09], etc.)
|
|
112
|
-
|
|
113
|
-
#### 2) Software Requirements
|
|
114
|
-
|
|
115
|
-
The following programs must be installed on your system to install
|
|
116
|
-
Dotfiles:
|
|
117
|
-
|
|
118
|
-
- [**Bash**][03] - a shell, or command language interpreter, for the GNU
|
|
119
|
-
operating system.
|
|
120
|
-
- Or [**Zsh**][30] - a shell designed for interactive use, although it
|
|
121
|
-
is also a powerful scripting language.
|
|
122
|
-
- [**Git**][15] - a free and open source distributed version control
|
|
123
|
-
system designed to handle everything from small to very large projects
|
|
124
|
-
with speed and efficiency.
|
|
125
|
-
- [**Curl**][07] - a command line tool for transferring data with URL
|
|
126
|
-
syntax.
|
|
127
|
-
- [**Wget**][28] - a free software package for retrieving files using
|
|
128
|
-
HTTP, HTTPS and FTP, the most widely-used Internet protocols.
|
|
129
|
-
- [**Make**][19] - a tool which controls the generation of executables
|
|
130
|
-
and other non-source files of a program from the program's source
|
|
131
|
-
files.
|
|
132
|
-
- [**Shell**][26] - a shell command line interpreter program for Unix-
|
|
133
|
-
like operating systems.
|
|
134
|
-
- [**PnPM**][21] - a package manager for JavaScript and Node.js. It is
|
|
135
|
-
fast, disk space efficient and reliable.
|
|
136
|
-
|
|
137
|
-
#### 3) Font Requirements
|
|
138
|
-
|
|
139
|
-
We recommend using a font such as `Roboto Mono for Powerline` for
|
|
140
|
-
terminal and vscode editor.
|
|
141
|
-
|
|
142
|
-
On macOS, you can install the font using the following command:
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
brew tap homebrew/cask-fonts
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
brew install --cask font-roboto-mono-for-powerline
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
On Linux, you can install the font using the following command:
|
|
64
|
+
> [!IMPORTANT]
|
|
65
|
+
> The installer automatically backs up any existing dotfiles that chezmoi will overwrite (to `~/.dotfiles.bak.<timestamp>/`). It bootstraps `chezmoi` and applies this repo. OS packages install through Chezmoi hooks during the first apply.
|
|
153
66
|
|
|
154
67
|
```bash
|
|
155
|
-
|
|
68
|
+
# Works on macOS, Linux, and WSL
|
|
69
|
+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.481/install.sh)"
|
|
70
|
+
exec zsh
|
|
156
71
|
```
|
|
157
72
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
To read the documentation for Dotfiles, please visit:
|
|
161
|
-
|
|
162
|
-
- [Dotfiles website][00]
|
|
163
|
-
- [Dotfiles Docs GitHub repository][11]
|
|
164
|
-
|
|
165
|
-
![divider][divider]
|
|
166
|
-
|
|
167
|
-
## Usage 📖
|
|
168
|
-
|
|
169
|
-
### 1️⃣ Download Dotfiles
|
|
170
|
-
|
|
171
|
-
You can download the latest version (v0.2.469) with the following
|
|
172
|
-
options:
|
|
173
|
-
|
|
174
|
-
- [**Manual download**][24] - **The easiest way to install Dotfiles.**
|
|
175
|
-
- [**Install with PnPM**][20] `pnpm i @sebastienrousseau/dotfiles`.
|
|
176
|
-
- [**Install with Npm**][20] `npm install @sebastienrousseau/dotfiles`.
|
|
177
|
-
- [**Install with Yarn**][20] `yarn add @sebastienrousseau/dotfiles`.
|
|
178
|
-
- **Clone the main repository** to get all source files including build
|
|
179
|
-
scripts: `git clone https://github.com/sebastienrousseau/dotfiles.git`
|
|
180
|
-
. This will clone the latest version of the Dotfiles repository.
|
|
181
|
-
|
|
182
|
-
### 2️⃣ Back Up Your Existing Data
|
|
183
|
-
|
|
184
|
-
Before installing Dotfiles, we strongly recommend that you back up your
|
|
185
|
-
existing data. The Dotfiles installer will try to automatically backup
|
|
186
|
-
any previous installation of known dotfiles into a backup directory
|
|
187
|
-
`$HOME/dotfiles_backup`.
|
|
188
|
-
|
|
189
|
-
The backup files are the following:
|
|
190
|
-
|
|
73
|
+
For non‑interactive installs (servers and CI):
|
|
191
74
|
```bash
|
|
192
|
-
.
|
|
193
|
-
.bash_aliases
|
|
194
|
-
.bash_profile
|
|
195
|
-
.bash_prompt
|
|
196
|
-
.bashrc
|
|
197
|
-
.curlrc
|
|
198
|
-
.dir_colors
|
|
199
|
-
.exports
|
|
200
|
-
.functions
|
|
201
|
-
.gitattributes
|
|
202
|
-
.gitconfig
|
|
203
|
-
.gitignore
|
|
204
|
-
.gitmessage
|
|
205
|
-
.inputrc
|
|
206
|
-
.npmrc
|
|
207
|
-
.path
|
|
208
|
-
.profile
|
|
209
|
-
.tmux.conf
|
|
210
|
-
.vimrc
|
|
211
|
-
.wgetrc
|
|
212
|
-
.yarnrc
|
|
213
|
-
.zshenv
|
|
214
|
-
.zshrc
|
|
215
|
-
cacert.pem
|
|
75
|
+
DOTFILES_NONINTERACTIVE=1 sh -c "$(curl -fsSL https://raw.githubusercontent.com/sebastienrousseau/dotfiles/v0.2.481/install.sh)"
|
|
216
76
|
```
|
|
217
77
|
|
|
218
|
-
|
|
219
|
-
you could be required to restore your previous installation.
|
|
220
|
-
|
|
221
|
-
### 3️⃣ Try it out and let us know what you think
|
|
78
|
+
---
|
|
222
79
|
|
|
223
|
-
|
|
224
|
-
command:
|
|
80
|
+
## Discover
|
|
225
81
|
|
|
226
|
-
|
|
82
|
+
- [Installation Guide](docs/INSTALL.md) — Prerequisites and supported platforms.
|
|
83
|
+
- [Operations Guide](docs/OPERATIONS.md) — Common workflows and platform notes.
|
|
84
|
+
- [Security Guide](docs/SECURITY.md) — Hardening matrix and logging.
|
|
85
|
+
- [Secrets Guide](docs/SECRETS.md) — Age setup and encrypted files.
|
|
86
|
+
- [Tools Catalog](docs/TOOLS.md) — Core tools and optional utilities.
|
|
87
|
+
- [Dot Utils](docs/UTILS.md) — Aliases and dot CLI helpers.
|
|
88
|
+
- [Troubleshooting](docs/TROUBLESHOOTING.md) — Fixes for common issues.
|
|
227
89
|
|
|
228
|
-
|
|
229
|
-
will install the latest version of the dotfiles and will automatically
|
|
230
|
-
backup any existing dotfiles you may have into a backup directory
|
|
231
|
-
`$HOME/dotfiles_backup`.
|
|
90
|
+
---
|
|
232
91
|
|
|
233
|
-
|
|
234
|
-
PnPM installation method. If not, it will fallback to equivalent shell
|
|
235
|
-
scripts.
|
|
92
|
+
## Install details
|
|
236
93
|
|
|
237
|
-
|
|
94
|
+
**Prerequisites**
|
|
95
|
+
- Required: `git`, `curl`
|
|
96
|
+
- Optional: Homebrew (macOS), `apt-get` (Linux/WSL), Nix (toolchain)
|
|
238
97
|
|
|
98
|
+
**Update**
|
|
239
99
|
```bash
|
|
240
|
-
|
|
100
|
+
dot update
|
|
241
101
|
```
|
|
242
102
|
|
|
243
|
-
|
|
244
|
-
running:
|
|
245
|
-
|
|
103
|
+
**Non‑interactive apply**
|
|
246
104
|
```bash
|
|
247
|
-
|
|
105
|
+
DOTFILES_NONINTERACTIVE=1 dot apply
|
|
248
106
|
```
|
|
249
107
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
108
|
+
## Make it yours
|
|
109
|
+
|
|
110
|
+
- [Operations](docs/OPERATIONS.md)
|
|
111
|
+
- [Secrets](docs/SECRETS.md)
|
|
112
|
+
- [Security](docs/SECURITY.md)
|
|
113
|
+
- [Troubleshooting](docs/TROUBLESHOOTING.md)
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Reference
|
|
118
|
+
|
|
119
|
+
Run `dot --help` or `dot <command> --help` for inline documentation.
|
|
120
|
+
|
|
121
|
+
| Command | Description | Category |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| `dot apply` | Apply dotfiles (chezmoi apply) | Core |
|
|
124
|
+
| `dot sync` | Alias of apply | Core |
|
|
125
|
+
| `dot update` | Pull latest changes and apply | Core |
|
|
126
|
+
| `dot add` | Add a file to chezmoi source | Core |
|
|
127
|
+
| `dot diff` | Show chezmoi diff (excludes scripts) | Core |
|
|
128
|
+
| `dot status` | Show configuration drift | Core |
|
|
129
|
+
| `dot remove` | Safely remove a managed file | Core |
|
|
130
|
+
| `dot cd` | Print source directory path | Core |
|
|
131
|
+
| `dot upgrade` | Update flake, plugins, and dotfiles | Core |
|
|
132
|
+
| `dot edit` | Open chezmoi source in your editor | Core |
|
|
133
|
+
| `dot docs` | Show repo README | Core |
|
|
134
|
+
| `dot --version` | Show version information | Core |
|
|
135
|
+
| `dot help` | Show help | Core |
|
|
136
|
+
| `dot drift` | Drift dashboard (chezmoi status) | Diagnostics |
|
|
137
|
+
| `dot history` | Shell history analysis | Diagnostics |
|
|
138
|
+
| `dot doctor` | Check system health and configuration | Diagnostics |
|
|
139
|
+
| `dot health` | Comprehensive health dashboard (37 checks) | Diagnostics |
|
|
140
|
+
| `dot security-score` | Security assessment with grading | Diagnostics |
|
|
141
|
+
| `dot benchmark` | Shell startup benchmark (`--detailed`, `--profile`) | Diagnostics |
|
|
142
|
+
| `dot restore` | Restore from backup or git ref | Diagnostics |
|
|
143
|
+
| `dot theme` | Switch terminal theme (dark/light) | UX |
|
|
144
|
+
| `dot wallpaper` | Apply a wallpaper from your library | UX |
|
|
145
|
+
| `dot keys` | Show keybindings catalog | UX |
|
|
146
|
+
| `dot learn` | Interactive tour of tools (requires `gum`) | UX |
|
|
147
|
+
| `dot fonts` | Install Nerd Fonts | UX |
|
|
148
|
+
| `dot sandbox` | Launch a safe sandbox preview | Tools |
|
|
149
|
+
| `dot tools` | Show tools or install through Nix | Tools |
|
|
150
|
+
| `dot tools install` | Enter Nix development shell | Tools |
|
|
151
|
+
| `dot new` | Create a new project from a template | Tools |
|
|
152
|
+
| `dot log-rotate` | Rotate `~/.local/share/dotfiles.log` | Tools |
|
|
153
|
+
| `dot secrets-init` | Initialise age key for secrets | Secrets |
|
|
154
|
+
| `dot secrets` | Edit encrypted secrets | Secrets |
|
|
155
|
+
| `dot secrets-create` | Create an encrypted secrets file | Secrets |
|
|
156
|
+
| `dot ssh-key` | Encrypt an SSH key locally with age | Secrets |
|
|
157
|
+
| `dot backup` | Create a compressed backup of your home directory | Security |
|
|
158
|
+
| `dot firewall` | Apply firewall hardening (opt‑in) | Security |
|
|
159
|
+
| `dot telemetry` | Disable OS telemetry (opt‑in) | Security |
|
|
160
|
+
| `dot dns-doh` | Enable DNS‑over‑HTTPS (opt‑in) | Security |
|
|
161
|
+
| `dot encrypt-check` | Check disk encryption status | Security |
|
|
162
|
+
| `dot lock-screen` | Enforce lock‑screen idle settings (opt‑in) | Security |
|
|
163
|
+
| `dot usb-safety` | Disable automount for removable media | Security |
|
|
164
|
+
|
|
165
|
+
### Developer CLI Tools
|
|
166
|
+
|
|
167
|
+
These utilities are installed to `~/.local/bin/`:
|
|
168
|
+
|
|
169
|
+
| Tool | Description |
|
|
170
|
+
|------|-------------|
|
|
171
|
+
| `jsonv` | JSON validator and formatter |
|
|
172
|
+
| `yamlv` | YAML validator |
|
|
173
|
+
| `epoch` | Unix timestamp converter |
|
|
174
|
+
| `b64` | Base64 encoder/decoder |
|
|
175
|
+
| `jwt` | JWT token decoder |
|
|
176
|
+
| `hex` | Hex viewer/converter |
|
|
177
|
+
| `regex` | Regex tester |
|
|
178
|
+
| `lorem` | Lorem ipsum generator |
|
|
179
|
+
| `uuid` | UUID generator |
|
|
180
|
+
| `hash` | MD5/SHA hash calculator |
|
|
181
|
+
| `ip` | Show public/local IP addresses |
|
|
182
|
+
| `kill-port` | Kill process by port |
|
|
183
|
+
| `extract` | Universal archive extraction |
|
|
184
|
+
| `update` | Update all system packages |
|
|
185
|
+
|
|
186
|
+
**Examples**
|
|
255
187
|
|
|
256
188
|
```bash
|
|
257
|
-
|
|
189
|
+
# Initialise secrets (prints a public key)
|
|
190
|
+
DOTFILES_NONINTERACTIVE=1 dot secrets-init
|
|
191
|
+
# Output: Age key created at ~/.config/chezmoi/key.txt
|
|
258
192
|
```
|
|
259
193
|
|
|
260
|
-
|
|
261
|
-
automatically backup any existing dotfiles you may have into a backup
|
|
262
|
-
directory `$HOME/dotfiles_backup`.
|
|
263
|
-
|
|
264
|
-
#### Using PnPM (highly recommended if you have PnPM installed)
|
|
194
|
+
### Security changes
|
|
265
195
|
|
|
266
|
-
|
|
267
|
-
|
|
196
|
+
These scripts are **opt‑in** and run only when you set the matching environment variable.
|
|
197
|
+
All security changes are logged to `~/.local/share/dotfiles.log`.
|
|
268
198
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
199
|
+
| Script | macOS | Linux |
|
|
200
|
+
|---|---|---|
|
|
201
|
+
| `dot firewall` | Enables macOS firewall and stealth mode via `socketfilterfw` | Configures UFW defaults and OpenSSH allow |
|
|
202
|
+
| `dot telemetry` | Writes `DiagnosticMessagesHistory.plist` flags | Disables `whoopsie`, `apport`, `popularity-contest` |
|
|
203
|
+
| `dot dns-doh` | No system change (browser‑level only) | Enables DoH via `resolvectl` with Cloudflare DNS |
|
|
204
|
+
| `dot lock-screen` | `com.apple.screensaver` defaults and idleTime | GNOME `gsettings` lock and idle timeout |
|
|
205
|
+
| `dot usb-safety` | No system change (manual UI) | GNOME `gsettings` automount off |
|
|
206
|
+
| `dot encrypt-check` | Reads FileVault status via `fdesetup` | Detects LUKS via `lsblk` |
|
|
274
207
|
|
|
275
|
-
|
|
276
|
-
automatically backup any existing dotfiles you may have into a backup
|
|
277
|
-
directory `$HOME/dotfiles_backup`.
|
|
208
|
+
### Nix
|
|
278
209
|
|
|
279
|
-
|
|
210
|
+
Nix is **optional**. The repo does **not** install the Nix daemon.
|
|
280
211
|
|
|
281
|
-
|
|
282
|
-
|
|
212
|
+
- Use `nix develop` to enter a reproducible shell environment.
|
|
213
|
+
- Use `dot tools` to see the curated utilities overview.
|
|
214
|
+
- No toggle replaces Homebrew or Apt with Nix automatically.
|
|
283
215
|
|
|
284
|
-
|
|
285
|
-
successful, you should be able to see a new interface of your terminal
|
|
286
|
-
and be able to start using the dotfiles aliases and other
|
|
287
|
-
configurations.
|
|
216
|
+
---
|
|
288
217
|
|
|
289
|
-
|
|
218
|
+
### Install guide
|
|
290
219
|
|
|
291
|
-
|
|
220
|
+
See [docs/INSTALL.md](docs/INSTALL.md) for prerequisites, supported platforms, and the full install flow.
|
|
292
221
|
|
|
293
|
-
|
|
222
|
+
<p align="right"><a href="#dotfiles--your-shell-everywhere">↑ Back to Top</a></p>
|
|
294
223
|
|
|
295
|
-
|
|
224
|
+
## How it works
|
|
296
225
|
|
|
297
|
-
|
|
226
|
+
If Mermaid does not render, the flow is: `install.sh` → `Chezmoi` → `~/.dotfiles` → `~/.config + ~/.local`.
|
|
298
227
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
[
|
|
228
|
+
```mermaid
|
|
229
|
+
flowchart LR
|
|
230
|
+
A["install.sh"] --> B["Chezmoi"]
|
|
231
|
+
B --> C["~/.dotfiles (source)"]
|
|
232
|
+
B --> D["~/.config + ~/.local (targets)"]
|
|
233
|
+
E["dot CLI"] --> B
|
|
234
|
+
E --> F["scripts/*"]
|
|
235
|
+
```
|
|
304
236
|
|
|
305
|
-
|
|
237
|
+
### Shell startup flow
|
|
306
238
|
|
|
307
|
-
|
|
239
|
+
```
|
|
240
|
+
.zshenv ─▶ .zshrc ─▶ rc.d/{10..50} ─▶ shell/{00,05,40,50,90} ─▶ [precmd: 91-lazy] ─▶ tool init
|
|
241
|
+
│ │ │ │ │ │
|
|
242
|
+
│ │ │ │ │ ├─ atuin
|
|
243
|
+
XDG zinit options, paths, safety, tool-specific ├─ starship
|
|
244
|
+
PATH plugins lazy fnm/nvm functions, aliases (deferred) ├─ zoxide
|
|
245
|
+
core aliases (eager) └─ fzf
|
|
246
|
+
```
|
|
308
247
|
|
|
309
|
-
- See [
|
|
248
|
+
Core aliases (~40KB) load at startup. Tool-specific aliases (~137KB) load after the first prompt via a `precmd` hook — keeping shell startup fast while still providing full alias coverage. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the full startup sequence and ordering conventions.
|
|
249
|
+
|
|
250
|
+
**Repository Layout**
|
|
251
|
+
|
|
252
|
+
```text
|
|
253
|
+
~/.dotfiles/
|
|
254
|
+
├── dot_config/ # Maps to ~/.config/ (app configs)
|
|
255
|
+
│ ├── nvim/ # Neovim config (Lua)
|
|
256
|
+
│ ├── zsh/ # Zsh config (modular)
|
|
257
|
+
│ ├── tmux/ # Tmux config
|
|
258
|
+
│ ├── shell/ # Shell logic (aliases, functions, paths)
|
|
259
|
+
│ ├── wezterm/ alacritty/ kitty/ ghostty/
|
|
260
|
+
│ ├── btop/ fastfetch/ atuin/ yazi/ ...
|
|
261
|
+
│ └── docker/ containers/ ...
|
|
262
|
+
├── dot_local/ # Maps to ~/.local/ (CLI tools)
|
|
263
|
+
│ └── bin/ # dot CLI and helpers
|
|
264
|
+
├── dot_etc/ # System configs (sudoers, sysctl, Chrome policies; may require sudo)
|
|
265
|
+
├── dot_ssh/ # SSH config templates
|
|
266
|
+
├── templates/ # Project scaffolds used by `dot new`
|
|
267
|
+
├── scripts/ # Install, security, theme, diagnostics
|
|
268
|
+
├── install/ # Chezmoi run_onchange and run_before hooks
|
|
269
|
+
├── nix/ # Optional Nix shell environment
|
|
270
|
+
├── docs/ # Guides, keys, roadmap, architecture
|
|
271
|
+
└── install.sh # Bootstrap installer
|
|
272
|
+
```
|
|
310
273
|
|
|
311
|
-
|
|
274
|
+
---
|
|
312
275
|
|
|
313
|
-
|
|
276
|
+
## Roadmap
|
|
314
277
|
|
|
315
|
-
|
|
278
|
+
Track progress on [GitHub Issues](https://github.com/sebastienrousseau/dotfiles/issues) and [Milestones](https://github.com/sebastienrousseau/dotfiles/milestones).
|
|
316
279
|
|
|
317
|
-
|
|
280
|
+
---
|
|
318
281
|
|
|
319
|
-
|
|
320
|
-
community. Please read our [Code of Conduct][04].
|
|
282
|
+
## Contribute
|
|
321
283
|
|
|
322
|
-
|
|
284
|
+
Please read [CONTRIBUTING.md](.github/CONTRIBUTING.md) before opening a pull request.
|
|
323
285
|
|
|
324
|
-
|
|
286
|
+
For security issues, see [SECURITY.md](.github/SECURITY.md).
|
|
325
287
|
|
|
326
|
-
|
|
327
|
-
- We take our passion beyond code into our daily practices.
|
|
328
|
-
- We are just obsessed about creating and delivering exceptional
|
|
329
|
-
solutions.
|
|
288
|
+
---
|
|
330
289
|
|
|
331
|
-
|
|
290
|
+
## Troubleshooting
|
|
332
291
|
|
|
333
|
-
|
|
292
|
+
See [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md).
|
|
334
293
|
|
|
335
|
-
|
|
336
|
-
[contributing guidelines][05] for more information.
|
|
294
|
+
---
|
|
337
295
|
|
|
338
|
-
|
|
339
|
-
submitted for inclusion in the work by you, as defined in the
|
|
340
|
-
Apache-2.0 license, shall be dual licensed as above, without any
|
|
341
|
-
additional terms or conditions.
|
|
296
|
+
## Changelog
|
|
342
297
|
|
|
343
|
-
|
|
298
|
+
See [CHANGELOG.md](CHANGELOG.md).
|
|
344
299
|
|
|
345
|
-
|
|
300
|
+
---
|
|
346
301
|
|
|
347
|
-
|
|
348
|
-
Apache License (Version 2.0).
|
|
302
|
+
## License
|
|
349
303
|
|
|
350
|
-
|
|
351
|
-
- [MIT license][02]
|
|
304
|
+
This project is licensed under the **MIT License**. See [LICENSE](LICENSE).
|
|
352
305
|
|
|
353
|
-
|
|
306
|
+
Some bundled third‑party dependencies are licensed under GPL‑3.0; the LICENSE file lists them explicitly.
|
|
354
307
|
|
|
355
|
-
|
|
356
|
-
[01]: https://opensource.org/license/apache-2-0/ "Apache License, Version 2.0"
|
|
357
|
-
[02]: https://opensource.org/licenses/MIT "The MIT License"
|
|
358
|
-
[03]: https://www.gnu.org/software/bash/ "GNU Bash"
|
|
359
|
-
[04]: https://github.com/sebastienrousseau/dotfiles/blob/master/.github/CODE-OF-CONDUCT.md "Code of Conduct"
|
|
360
|
-
[05]: https://github.com/sebastienrousseau/dotfiles/blob/master/.github/CONTRIBUTING.md "Contributing Guidelines"
|
|
361
|
-
[06]:https://www.codacy.com/gh/sebastienrousseau/dotfiles/dashboard "Codacy"
|
|
362
|
-
[07]: https://curl.se/ "cURL"
|
|
363
|
-
[08]: https://www.debian.org/ "Debian"
|
|
364
|
-
[09]: https://www.deepin.org/en/ "Deepin"
|
|
365
|
-
[10]: https://devuan.org/ "Devuan"
|
|
366
|
-
[11]: https://github.com/sebastienrousseau/dotfiles/docs "Documentation"
|
|
367
|
-
[12]: https://github.com/sebastienrousseau/dotfiles/archive/refs/tags/v0.2.469.tar.gz "Download Dotfiles v0.2.469"
|
|
368
|
-
[13]: https://github.com/sebastienrousseau/dotfiles/network/members "List of members"
|
|
369
|
-
[14]: https://github.com/sebastienrousseau/dotfiles/graphs/contributors "List of contributors"
|
|
370
|
-
[15]: https://git-scm.com/ "Git"
|
|
371
|
-
[16]: https://github.com/sebastienrousseau/dotfiles "Dotfiles"
|
|
372
|
-
[17]: https://github.com/sebastienrousseau/dotfiles/issues "Issues"
|
|
373
|
-
[18]: https://www.kali.org/ "Kali Linux"
|
|
374
|
-
[19]: https://www.gnu.org/software/make/ "GNU Make"
|
|
375
|
-
[20]:https://www.npmjs.com/package/@sebastienrousseau/dotfiles "Dotfiles on NPM"
|
|
376
|
-
[21]: https://pnpm.io "PnPM"
|
|
377
|
-
[22]: https://pop.system76.com/ "Pop!_OS"
|
|
378
|
-
[23]: https://q4os.org/ "Q4OS"
|
|
379
|
-
[24]: https://github.com/sebastienrousseau/dotfiles/releases "Dotfiles Releases"
|
|
380
|
-
[25]: http://semver.org/ "Semantic Versioning"
|
|
381
|
-
[26]: https://www.gnu.org/software/shell/ "GNU Shell"
|
|
382
|
-
[27]: https://ubuntu.com/ "Ubuntu"
|
|
383
|
-
[28]: https://www.gnu.org/software/wget/ "GNU Wget"
|
|
384
|
-
[29]: https://zorinos.com/ "Zorin OS"
|
|
385
|
-
[30]: https://www.zsh.org/ "Zsh"
|
|
308
|
+
---
|
|
386
309
|
|
|
387
|
-
|
|
310
|
+
<div align="center">
|
|
388
311
|
|
|
389
|
-
[
|
|
390
|
-
[
|
|
391
|
-
[contributors-shield]: https://img.shields.io/github/contributors/sebastienrousseau/dotfiles.svg?style=for-the-badge "Contributors"
|
|
312
|
+
🎨 Designed by **[Sebastien Rousseau](https://sebastienrousseau.com/)**
|
|
313
|
+
🚀 Engineered with **[Euxis](https://euxis.co/)** — Enterprise Unified eXecution Intelligence System
|
|
392
314
|
|
|
393
|
-
|
|
394
|
-
[download_button]: https://kura.pro/common/images/buttons/button-secondary.svg "Download"
|
|
395
|
-
[forks-shield]: https://img.shields.io/github/forks/sebastienrousseau/dotfiles.svg?style=for-the-badge "Forks"
|
|
396
|
-
[getting_started]: https://kura.pro/common/images/buttons/button-primary.svg "Getting Started"
|
|
397
|
-
[license]: https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge\&color=ff69b4 "License"
|
|
398
|
-
[love]: https://kura.pro/common/images/shields/made-with-love.svg "Made with Love"
|
|
315
|
+
</div>
|