Skip to content

Repository files navigation

🚀 Rootless HPC Dotfiles (Pixi + Chezmoi)

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.

📥 Quick Install

curl -fsSL https://raw.githubusercontent.com/HugoHakem/dotfiles/main/install.sh | bash

📦 Included Packages

Managed entirely in user-space via pixi global:

  • chezmoi - Dotfile manager
  • starship - Cross-shell prompt
  • direnv - Directory-specific environments
  • bat - A cat clone with syntax highlighting
  • htop - Interactive process viewer and system monitor
  • tree - Visual, depth-indented directory lister
  • tldr - Simplified, practical man pages with quick command examples
  • uv - fast Python package and project manager, written in Rust (used by Pixi under the hood).

📂 Repository Structure

.
├── .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

🛠️ Guidelines for Replication

If you want to fork and use this setup for your own environments:

  1. Fork the repo: Create your own copy on GitHub.
  2. Run the bootstrap: Execute the curl command 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.

⚙️ Manage Packages Interactively

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 push

Package Cache Storage

The 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:

📋 TO-DO

About

Rootless, reproducible dotfiles for HPC environments. Managed by Chezmoi and Pixi.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages