Personal workstation and homelab configuration.
chezmoi/: the chezmoi source tree. Chezmoi is responsible for dotfiles in$HOME.homelab/: container apps and host service config for the homelab server.scripts/: first-run install scripts that install base dependencies, clone this repo, and hand off to chezmoi.
Auto-detect Fedora, Debian, or Ubuntu:
curl -fsSL https://raw.githubusercontent.com/yanklio/dotfiles/main/scripts/install.sh | bashForce a distro when needed:
curl -fsSL https://raw.githubusercontent.com/yanklio/dotfiles/main/scripts/fedora-install.sh | bash
curl -fsSL https://raw.githubusercontent.com/yanklio/dotfiles/main/scripts/debian-install.sh | bashThe install scripts install git, curl, ca-certificates, and chezmoi, clone this repo to ~/Dotfiles, then run:
chezmoi init --source="$HOME/Dotfiles/chezmoi"
chezmoi applyOverride the clone target or repository when needed:
curl -fsSL https://raw.githubusercontent.com/yanklio/dotfiles/main/scripts/install.sh | bash -s -- --dir "$HOME/src/Dotfiles" --repo "https://github.com/yanklio/dotfiles.git"Pass installer flags after the downloaded script:
curl -fsSL https://raw.githubusercontent.com/yanklio/dotfiles/main/scripts/install.sh | bash -s -- --server --no-gnomeSupported flags are --server, --client, --gnome, --no-gnome, --repo URL, --dir PATH, and --distro NAME.
Initialize and apply the dotfiles source directly:
chezmoi init --source="$HOME/Dotfiles/chezmoi"
chezmoi applyPreview changes before applying:
chezmoi --source="$HOME/Dotfiles/chezmoi" diff --exclude=scriptsDotfiles are applied with chezmoi. Packages, tools, services, and GNOME settings are handled explicitly by chezmoi/scripts/bootstrap.sh; the first-run installer calls it after chezmoi apply.
Run repository checks:
~/Dotfiles/scripts/check.shHomelab files are intentionally outside the chezmoi source. Install a fresh server with:
~/Dotfiles/homelab/scripts/install-server.shRuntime state and secrets under homelab/ are ignored by git.