This repository is a lightweight, rootless alternative to my declarative NixOS configuration. It is specifically designed for High-Performance Computing (HPC) clusters or any environment where I lack sudo access.
It uses Pixi for user-space package management and Chezmoi for dotfile templating and deployment.
curl -fsSL https://raw.githubusercontent.com/HugoHakem/dotfiles/main/install.sh | bash
Managed entirely in user-space via pixi global:
chezmoi- Dotfile managerstarship- Cross-shell promptdirenv- Directory-specific environmentsbat- Acatclone with syntax highlightinghtop- Interactive process viewer and system monitortree- Visual, depth-indented directory listertldr- Simplified, practical man pages with quick command examplesuv- fast Python package and project manager, written in Rust (used by Pixi under the hood).
.
├── .chezmoi.toml.tmpl # Chezmoi config template (handles VS Code merge setup)
├── dot_bashrc # Bash config (HPC safe + Starship + direnv)
├── dot_config
│ └── starship.toml # Cross-shell prompt configuration
├── dot_gitconfig.tmpl # Git config with LFS filters and dynamic user data
├── dot_pixi
│ └── manifests
│ └── pixi-global.toml # The declarative list of all required software
├── dot_tmux.conf
├── dot_vimrc # Classic Vim setup
├── dot_zshrc # Zsh config (HPC safe + Starship + direnv)
├── install.sh # Interactive bootstrap script
└── README.md
If you want to fork and use this setup for your own environments:
- Fork the repo: Create your own copy on GitHub.
- Run the bootstrap: Execute the
curlcommand above on your target machine (remembering to point to your fork's URL). The script will interactively prompt you for your GitHub username and Git credentials.
Do not manually edit the pixi-global.toml manifest right out of the box. Instead, manage your tools dynamically using the CLI:
pixi global install <package-name>
pixi global uninstall <package-name>Persist Your Changes: Once you are happy with your new toolset, use the manifest to ensure reproducibility across your other machines by adding the updated file back to Chezmoi:
chezmoi add ~/.pixi/manifests/pixi-global.toml
chezmoi cd
git add dot_pixi/manifests/pixi-global.toml
git commit -m "chore: update pixi global manifest"
git pushThe Cache storage in the HPC is changed from the $HOME dir default as on the HPC there is not much space allocated for individual user $HOME. Change the line here: