Personal dotfiles managed with chezmoi, applied via a custom Go installer. Supports both personal and work environments on macOS and Linux.
Like any other dotfiles project, this is a templated solution for applying a consistent environment across new Unix machines. A dotfiles manager (chezmoi) handles templating and per-machine differences, while a dedicated Go installer binary automates the full setup - from prerequisites to shell configuration.
Download and run the installer in one command:
curl -fsSL https://raw.githubusercontent.com/MrPointer/dotfiles/main/get.sh | bash -s -- --runOr download first, then run manually:
curl -fsSL https://raw.githubusercontent.com/MrPointer/dotfiles/main/get.sh | bash
dotfiles-installer install| Option | Description | Default |
|---|---|---|
--work-env |
Treat this installation as a work environment | false |
--work-name |
Work environment name | sedg |
--work-email |
Work email address | timor.gruber@solaredge.com |
--shell |
Shell to install and set as default | zsh |
--install-brew |
Install Homebrew if not present | true |
--shell-source |
Where to find the shell: auto, brew, system |
auto |
--multi-user-system |
Configure for multi-user system | false |
--git-clone-protocol |
Git protocol for operations | https |
--install-prerequisites |
Automatically install missing prerequisites | false |
These work with any command:
| Option | Description |
|---|---|
-v, --verbose |
Enable verbose output (use -vv for extra verbose) |
--plain |
Show plain text instead of progress indicators |
--non-interactive |
Disable interactive prompts |
--extra-verbose |
Enable maximum verbosity |
# Work environment
dotfiles-installer install --work-env --work-email your.email@company.com
# Non-interactive with prerequisites
dotfiles-installer install --non-interactive --install-prerequisites
# Check compatibility before installing
dotfiles-installer check-compatibility
dotfiles-installer installThe get.sh script itself accepts these flags:
| Option | Description | Default |
|---|---|---|
-d, --dir |
Download directory | $HOME/.local/bin |
-v, --version |
Specific version to download | latest |
-r, --run |
Run the installer after download | false |
Pass installer flags after --:
curl -fsSL .../get.sh | bash -s -- --run -- --work-env --install-prerequisitesManual download from GitHub Releases
Download pre-built binaries from GitHub Releases.
macOS (Apple Silicon):
curl -L -o dotfiles-installer.tar.gz https://github.com/MrPointer/dotfiles/releases/latest/download/dotfiles-installer-*-darwin-arm64.tar.gz
tar -xzf dotfiles-installer.tar.gz && chmod +x dotfiles-installerLinux (x86_64):
curl -L -o dotfiles-installer.tar.gz https://github.com/MrPointer/dotfiles/releases/latest/download/dotfiles-installer-*-linux-x86_64.tar.gz
tar -xzf dotfiles-installer.tar.gz && chmod +x dotfiles-installerLinux (ARM64):
curl -L -o dotfiles-installer.tar.gz https://github.com/MrPointer/dotfiles/releases/latest/download/dotfiles-installer-*-linux-arm64.tar.gz
tar -xzf dotfiles-installer.tar.gz && chmod +x dotfiles-installerBuild from source
git clone https://github.com/MrPointer/dotfiles.git
cd dotfiles/installer
go build -o dotfiles-installer .
./dotfiles-installer installUsing go install
go install github.com/MrPointer/dotfiles/installer@latest
dotfiles-installer installThe installer walks through these steps:
- System Compatibility Check - Verifies the system can run the dotfiles
- Prerequisites Installation - Installs required tools and dependencies
- Homebrew Setup - Installs Homebrew on macOS (optional on Linux)
- Shell Installation - Installs and configures the specified shell
- GPG Setup - Configures GPG keys for secure operations
- Dotfiles Manager Setup - Installs and configures chezmoi
- Template Application - Applies the dotfiles with user-specific configuration
Real-time progress indicators and detailed logging track each step.