Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Cross-platform developer environment for Windows and Linux (Fedora, Debian, Ubuntu).

Configs live in this repo. Symlink scripts deploy them to the paths each app expects. Bootstrap scripts handle one-time machine setup.

Architecture

configs/          Source of truth (mirrors $HOME layout)
scripts/link      Deploy configs via symlinks (run after every pull)
bootstrap/        Install packages and tools (run once per machine)
templates/        Machine-specific stubs (PowerShell profile, gitconfig.local)
flowchart LR
  clone["git clone"] --> bootstrap["bootstrap/ once"]
  bootstrap --> link["scripts/link"]
  link --> done["Open new terminal"]
Loading

Quick start

Windows

git clone https://github.com/gherbetto/dotfiles.git ~/dev/dotfiles
cd ~/dev/dotfiles
pwsh -File bootstrap/windows.ps1

Linux

git clone https://github.com/gherbetto/dotfiles.git ~/dev/dotfiles
cd ~/dev/dotfiles
bash bootstrap/linux.sh

After bootstrap, customize ~/.gitconfig.local with your preferred editor path.

Day-to-day

Edit configs in this repo, commit, push. On another machine:

# Windows
git pull
pwsh -File scripts/link.ps1
# Linux
git pull
bash scripts/link.sh

What's included

Tool Config path Platforms
WezTerm ~/.wezterm.lua Windows, Linux
Starship ~/.config/starship.toml Windows, Linux
Git ~/.gitconfig + ~/.gitconfig.local Windows, Linux
PowerShell ~/.config/powershell/user_profile.ps1 Windows
Bash ~/.bashrc.dotfiles (hooked from ~/.bashrc) Linux
whkd ~/.config/whkdrc Windows
yasb ~/.config/yasb/ Windows
komorebi-ui ~/.config/komorebi-ui/ Windows
Scoop ~/.config/scoop/ Windows

Supported platforms

OS Package manager Bootstrap script
Windows 10/11 Scoop bootstrap/windows.ps1
Fedora / RHEL dnf bootstrap/linux.sh
Debian / Ubuntu apt bootstrap/linux.sh

PowerShell profile

PowerShell expects a profile in Documents (or OneDrive-redirected Documents). Instead of storing your config there, scripts/link.ps1 writes a one-line stub that loads ~/.config/powershell/user_profile.ps1. Your real config lives in the repo — no OneDrive needed for backup.

Fonts

WezTerm is configured to use Lilex Nerd Font. Install it manually from Nerd Fonts releases.

Leaving OneDrive

If you previously kept PowerShell configs in OneDrive-synced Documents, you can stop syncing that folder after running bootstrap/windows.ps1. The profile stub is recreated from this repo at whatever path $PROFILE resolves to.

Windows symlinks

For live sync between the repo and $HOME, enable Developer Mode in Windows Settings (System → For developers). Without it, scripts/link.ps1 falls back to directory junctions and file copies.

License

MIT — see LICENSE.

About

Cross-platform dotfiles for Windows and Linux. Configs, bootstrap, and link scripts for fast machine setup.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages