Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Public-safe, reusable dotfiles for Windows, WSL2, Linux servers, GPU servers, and Raspberry Pis. Used to manage personal infrastructure and as a template for new machines.

Roles

Shell and PowerShell configuration is split into a shared baseline plus small role overlays. Role selection is private and lives outside the repository.

For Bash or Zsh, create ~/.dotfiles-role on each machine:

export DOTFILES_ROLE="ubuntu wsl workstation"

For PowerShell, create ~/.dotfiles-role.ps1 on Windows:

$env:DOTFILES_ROLE = "windows workstation"

Recommended role mapping:

Windows PowerShell        windows workstation
Windows WSL2              ubuntu wsl workstation
CPU cloud server          ubuntu cpu-server
GPU cloud server          ubuntu gpu-server
Linux workstation         ubuntu workstation
Raspberry Pi              ubuntu cpu-server

Keep machine-specific paths, private hostnames, SSH details, credentials, and API keys in local files such as ~/.localrc or ~/.local_profile.ps1, never in this repository.

Shell Frameworks

Zsh workstation configuration can load Oh My Zsh when it is already installed, but this repository does not install it or define plugins yet. PowerShell on Windows can load Oh My Posh when the oh-my-posh command already exists; prompt themes are intentionally left for later review.

Inventory First

Before adding package installation to bootstrap scripts, run the read-only inventory scripts and review the output locally:

mkdir -p local/inventory
inventory/linux.sh > local/inventory/linux.txt
New-Item -ItemType Directory -Force local/inventory | Out-Null
powershell -NoProfile -ExecutionPolicy Bypass -File inventory/windows.ps1 > local/inventory/windows.txt

Raw inventory outputs should stay uncommitted. Use them to decide which generic tools belong in workstation, WSL2, CPU server, and GPU server setup.

Editors

Vim configuration lives under editors/vim/. The shared vimrc is plugin-free and safe for servers; role overlays add small differences for workstation, WSL2, CPU server, GPU server, and Windows.

Neovim with LazyVim is planned for workstation and WSL2 use under editors/nvim/lazyvim/, but plugin configuration is intentionally not added yet.

Git

Git configuration lives under git/. The shared config contains safe defaults and aliases, but no [user] identity, signing keys, credentials, private remotes, or host-specific include rules.

Git Bash on Windows should be treated as Bash shell configuration. Reusable Git Bash behavior belongs under shell/, with Windows-specific shell behavior in shell/roles/windows.sh.

Prompts and tmux

Server prompts and tmux status bars are plain, dependency-free, and informative. Workstation prompts and status bars can become richer after prompt, font, and plugin choices are finalized.

About

Dotfiles for personal infrastructure management.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages