blux10k v2.0 is a stabilized, portable shell environment repository. It ships reusable dotfiles plus bootstrap/maintenance scripts for setup, validation, backup, sync, and symlink-based management.
.
├── cp_dotfiles.sh
├── dotfiles/
│ ├── .bashrc
│ ├── .gitconfig
│ ├── .p10k.zsh
│ ├── .profile
│ └── .zshrc
├── scripts/
│ ├── activate_venv.sh
│ ├── backup_dotfiles.sh
│ ├── bootstrap-debian.sh
│ ├── diff_dotfiles.sh
│ ├── doctor.sh
│ ├── ensure_dirs.sh
│ ├── check_version.sh
│ ├── link.sh
│ ├── list_dotfiles.sh
│ ├── managed_entries.sh
│ ├── py_venv.sh
│ ├── reload_shell.sh
│ ├── restore_dotfiles_backup.sh
│ ├── safe_zip.sh
│ ├── sync_dotfiles.sh
│ ├── unlink.sh
│ └── update_plugins.sh
├── .gitignore
└── README.md
Run from repository root:
./cp_dotfiles.shPrompt flow (in order):
- Optional backup (
scripts/backup_dotfiles.sh) - Copy
dotfiles/contents into$HOME - Optional bootstrap (
scripts/bootstrap-debian.sh) - Optional set zsh as login shell
- Optional ensure expected directories (
scripts/ensure_dirs.sh) - Optional copy
scripts/into$HOME/tools/scripts - Optional environment doctor (
scripts/doctor.sh) - Optional managed-entry listing (
scripts/list_dotfiles.sh) - Optional managed-entry diff (
scripts/diff_dotfiles.sh) - Optional plugin updates (
scripts/update_plugins.sh) - End-of-run reminder to open a new shell or run
zsh - End-of-run reminder to run
p10k configuremanually (interactive zsh session)
Use this path for normal human setup when prompts are desired.
Run from repository root:
./cp_dotfiles.sh --noninteractiveThis mode is deterministic and has no prompts. It is intended for automation (including AXIOM use). Defaults are conservative and explicit:
backup=yesbootstrap=noset-shell=noensure-dirs=yescopy-scripts=yes(installs helper scripts into$HOME/tools/scripts)doctor=nolist=nodiff=noupdate-plugins=no
At runtime, cp_dotfiles.sh --noninteractive prints these defaults before execution so logs clearly show the selected path.
Run from repository root:
./scripts/link.shlink.sh links managed entries from dotfiles/ (top-level tracked entries) into matching paths under $HOME. unlink.sh removes only matching symlinks created from this repo.
scripts/managed_entries.sh— canonical managed-entry list (direct children ofdotfiles/)scripts/backup_dotfiles.sh— backup managed entries from$HOMEinto~/.blux10k_backup/<timestamp>/scripts/restore_dotfiles_backup.sh— restore latest backup from~/.blux10k_backup/scripts/sync_dotfiles.sh— sync managed entries from$HOMEback intodotfiles/(supports--dry-run)scripts/list_dotfiles.sh— list managed entriesscripts/diff_dotfiles.sh— compare managed entries indotfiles/vs$HOMEscripts/link.sh— symlink managed entries into$HOMEscripts/unlink.sh— remove matching blux10k-managed symlinks from$HOMEscripts/bootstrap-debian.sh— Debian/Ubuntu bootstrap viaapt, plus zplug/powerlevel10k setup (does not runp10k configure)scripts/update_plugins.sh— update zplug plugins and powerlevel10k (if installed)scripts/doctor.sh— non-destructive environment/tooling reportscripts/ensure_dirs.sh— ensure$HOME/tools,$HOME/tools/scripts,$HOME/tools/scripts/axiom,$HOME/.config,$HOME/.config/axiom, and$HOME/.config/bluxgptscripts/check_version.sh— semantic-version gate utility for downstream checks against the repoVERSIONfilescripts/safe_zip.sh— createblux10k_safe_YYYYMMDD.zipexcluding common sensitive/cache/git artifacts (must be run from repository root, not from$HOME; does not exclude~/.blux10k_backup)scripts/activate_venv.sh— source-only bash venv activator for.venv/venvscripts/py_venv.sh— source-only POSIX helper to create/activate.venvscripts/reload_shell.sh— source-only helper to reload current shell rc file
dotfiles/.zshrc includes wrappers that execute installed scripts from:
$HOME/tools/scriptsThis can be overridden with:
LOCAL_TOOL_SCRIPTS=/custom/pathUse:
b10k -h
b10k --helpto show the helper menu.
dotfiles/.zshrc exports the following each shell session:
BLUX10K_VERSION=2.0.0
BLUX10K_READY=1b10k version (or b10k --version / b10k -v) prints the current blux10k version.
If a helper script is missing, wrappers show the missing script name, expected path, and a fix hint to copy scripts/ into $HOME/tools/scripts.
Helper names:
pv,avbackup_dotfiles,bootstrap_debian,diff_dotfiles,doctor,ensure_dirslink_dotfiles,list_dotfiles,reload_shell,restore_dotfiles_backupsafe_zip,sync_dotfiles,unlink_dotfiles,update_pluginsb10k(help/entry layer)
.zshrc— zsh defaults, helper wrappers, plugin initialization, p10k loading, blux10k readiness/version exports, and local override support.p10k.zsh— tracked Powerlevel10k prompt configuration (generated from upstreamp10k configureflow).bashrc— portable interactive bash defaults with guarded optional toolchain loading and local override support.profile— portable login-shell PATH and guarded environment loading with local override support.gitconfig— neutral shared baseline; personal identity/settings belong in~/.gitconfig.local
- Theme source: upstream clone at
$HOME/powerlevel10k/powerlevel10k.zsh-theme - Config source: tracked
~/.p10k.zsh p10k configureis not run automatically- Run
p10k configuremanually after installation from an interactive zsh session scripts/bootstrap-debian.shandcp_dotfiles.shdo not runp10k configureinline
This repository does not ship a custom Powerlevel10k theme framework.
- Copy vs symlink:
cp_dotfiles.shcopies files;scripts/link.shcreates symlinks. - Managed scope: maintenance scripts operate on managed entries defined by
scripts/managed_entries.sh. - Backup/restore: backups are written under
~/.blux10k_backup/and restored from the latest timestamp directory. - Debian assumption:
scripts/bootstrap-debian.shis explicitly for Debian/Ubuntu systems.- Package installation runs as root directly, or via
sudofor non-root users.
- Package installation runs as root directly, or via
- Source vs execute:
- source
scripts/activate_venv.sh - source
scripts/py_venv.sh - source
scripts/reload_shell.sh reload_shell.shmust be sourced; executing it cannot reload a parent shell.
- source
- Local overrides: use untracked
.zshrc.local,.bashrc.local,.profile.local, and.gitconfig.localfor machine-specific settings..zshrc.localremains the extension seam and is sourced at the bottom of.zshrc.
- AXIOM slot:
$HOME/tools/scripts/axiomis reserved for AXIOM script extensions. - AXIOM config:
$HOME/.config/axiomis reserved for AXIOM config state. - BluxGPT config:
$HOME/.config/bluxgptis reserved for BluxGPT config state.
Current release target: blux10k v2.0.