Skip to content

nolte/workstation

Repository files navigation

workstation

Build Release Drafter Auto-merge

This project uses chezmoi to provision developer workstations from a single source tree: asdf-pinned CLI tool versions, a baseline git configuration, zsh plugins, and a reusable Taskfile collection. It targets developers who want a reproducible, idempotent setup across machines.

Purpose

  • Provision a developer workstation deterministically with chezmoi: one chezmoi init --apply brings a fresh machine to a known state.
  • Pin CLI tool versions through asdf so every machine resolves the same versions, kept current by Renovate.
  • Ship a baseline git configuration, zsh plugins, and a reusable Taskfile collection without per-machine hand-editing.
  • Aimed at the workstation operator applying this repository to their own machine — not at application code or project scaffolding.

Features

Package manager (asdf)

Manage a set of extra Repositories, not managed at asdf-vm/asdf-plugins

Git

The basic Git configurations such as default branch are pre-configured.

zsh

The local terminal optimised with various extensions to further increase productivity.

Taskfile

reusable go-task/task pool, for works with the installed tools. More Information about the Different Tasks.

Usage

Initial setup

Before you can start, create a local configuration at ~/.config/chezmoi/chezmoi.toml with the information required for file generation:

[data]
    git_email = "<EmailForGitConfig>"
    git_name  = "<NameForGitConfig>"

See the chezmoi configuration reference for details. Use this repository as your dotfile source:

chezmoi init --apply --verbose https://github.com/nolte/workstation.git

Day-to-day

Pull the latest changes and apply them, or preview and apply local edits:

chezmoi update
chezmoi apply

See the chezmoi quick-start guide for more commands.

Structure

.chezmoiroot            # points chezmoi at chezmoi_config/ as the source dir
chezmoi_config/         # the chezmoi source tree applied to target machines
  dot_tool-versions     # asdf tool versions (-> ~/.tool-versions)
  dot_gitconfig.tmpl    # templated git config (-> ~/.gitconfig)
  run_onchange_*.sh     # provisioning hooks (plugins, asdf install, venvs)
  .chezmoiexternal.toml # external sources (zsh plugins, taskfile collection)
docs/                   # MkDocs documentation source
.github/                # CI workflows and repository configuration

Everything outside chezmoi_config/ is repository tooling and is not delivered to target machines.

Related repositories

  • nolte/gh-plumbing — reusable GitHub workflows and Probot/Renovate presets this repository extends.
  • nolte/taskfiles — the reusable Taskfile collection fetched onto provisioned machines.
  • nolte/vale-style — the Vale prose-style package used to lint this repository's docs.

Status

Early stage, personal-use. Actively maintained for a single operator's Linux workstation; interfaces may change without notice.

License

MIT © 2026 nolte

About

Local Workstation Configuration

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors