Skip to content

robvenn/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Cross-platform dotfiles for Windows, macOS, and Linux.

Replaces my archived mac dotfiles with a unified, cross-platform setup built around modern CLI tools.

Stack

Package management

Tool Scope Platforms
Scoop (scoopfile.json) CLI / dev tools Windows
winget GUI / system tools Windows
Homebrew (Brewfile) CLI / dev tools macOS, Linux
mise (mise/config.toml) Node.js, npm globals, Go tools All
uv Python versions, venvs, packages All
rustup Rust toolchain All

topgrade orchestrates everything in one command: package managers → toolchains → mise install for ecosystem tools.

Conventions

  • XDG Base Directory — consistent config paths (~/.config/) across platforms
  • Deltas not defaults — only override defaults, never track full generated configs
  • No dot prefix — files stored without dots, Dotter maps to dotted targets
  • Flat layout — tool folders at root, single-file tools as bare files

Shell architecture

Nushell is the interactive shell. Zsh is the login shell on macOS/Linux — it owns environment variables and PATH.

Nushell can't be a login shell (it doesn't speak POSIX), so terminal emulators launch it via zsh -lc "exec nu". On Windows, env vars come from the system registry instead.

Where things are defined

What macOS / Linux Windows
Env vars (XDG, EDITOR, ...) shell/env.sh scripts/bootstrap.ps1 (registry)
PATH zsh/zprofile System PATH (Scoop, rustup)
Nushell config nushell/ nushell/
Shell integrations (starship, zoxide, mise) Generated by scripts/provision.nu into nushell vendor autoload Same

Machine-specific config (not tracked)

File Purpose
~/.config/shell/env.local.sh Extra env vars
~/.zshrc.local Zsh plugins, aliases, local PATH entries

Adding a new env var: add it to shell/env.sh, add the same value to scripts/bootstrap.ps1 — done.

Bootstrap

Warning

This installs a large set of packages tailored to my personal setup. Review scripts/bootstrap.ps1 or scripts/bootstrap.sh before running.

Windows (PowerShell):

irm https://raw.githubusercontent.com/robvenn/dotfiles/main/scripts/bootstrap.ps1 | iex

macOS/Linux (bash):

curl -fsSL https://raw.githubusercontent.com/robvenn/dotfiles/main/scripts/bootstrap.sh | bash

About

My new cross-platform dotfiles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors