Envhub
Manage your dotfiles, secrets and packages with ease. Define your $HOME as Code and re-use it everywhere (local machine, CI, server ...) ๐ป ๐ โจ
Install / Use
/learn @tsirysndr/EnvhubREADME
EnvHub is a simple tool to manage dotfiles and packages accross multiple machines.
Written in Rust, internally it uses nix/homebrew/pkgx/devbox to manage packages and home-manager/stow to manage dotfiles.

๐ Installation
Using bash :
curl -sSL https://install.envhub.sh | bash
Using Cargo :
cargo install envhub
Using Nix :
cachix use tsirysndr
nix profile install --experimental-features "nix-command flakes" github:tsirysndr/envhub
Compile from source :
git clone https://github.com/tsirysndr/envhub.git
cd envhub
nix develop --experimental-features "nix-command flakes"
cargo install --path crates/cli
envhub --help
Using Homebrew :
brew install tsirysndr/tap/envhub
Or download the latest release for your platform here.
๐ Quick Start
Initialize a new environment :
envhub init
It will create a new envhub.hcl file and a dotfiles directory in the current directory.
You can then edit the envhub.hcl file to add packages and add dotfiles to the dotfiles directory.
Enable the environment :
envhub use
๐ Example
The following example will install the hello package, set the EDITOR environment variable to vim, and copy the .screenrc and gradle.properties files from the current directory to the home directory.
# Path: envhub.hcl
packages = [
"hello"
]
envs {
"EDITOR" = "vim"
}
file ".screenrc" {
source = ".screenrc"
}
file ".gradle/gradle.properties" {
content = "org.gradle.daemon=true"
}
See demo and examples for a more complete example.
๐งฉ As a Dagger Module
Call from the command line:
dagger -m github.com/tsirysndr/daggerverse/envhub call \
use --environment github:tsirysndr/dotfiles-example \
--src .
call from a Fluent CI module:
import { use } from 'jsr:@fx/envhub';
await use(
".",
"github:tsirysndr/dotfiles-example"
);
As a GitHub Action
You can use EnvHub as a GitHub Action to manage your dotfiles and packages in your CI/CD workflow.
- uses: tsirysndr/setup-envhub@v1
with:
version: 'v0.2.18'
- run: envhub --help
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot ๅฏๅชไฝๆถๅ่ฝๅใไฝฟ็จ <qqmedia> ๆ ็ญพ๏ผ็ณป็ปๆ นๆฎๆไปถๆฉๅฑๅ่ชๅจ่ฏๅซ็ฑปๅ๏ผๅพ็/่ฏญ้ณ/่ง้ข/ๆไปถ๏ผใ
