Skip to content

Repository files navigation

✨ Dotfiles

My personal dotfiles, managed with stow (macOS/Linux) and PowerShell symlinks (Windows).

🖥️ Supported Platforms

PlatformScriptPackage Manager
macOSinstall.shHomebrew
Ubuntu / Debianinstall.shapt + Linuxbrew
Fedora / RHELinstall.shdnf + Linuxbrew
Arch Linuxinstall.shpacman + Linuxbrew
openSUSEinstall.shzypper + Linuxbrew
WSLinstall.sh(distro PM + Linuxbrew)
Windows (native)install.ps1winget

🚀 Installation

One command to set up everything. The script automatically installs prerequisites (Xcode CLI tools, Homebrew, git, etc.), clones the repo, and runs a full restore.

macOS / Linux / WSL

bash <(curl -fsSL https://raw.githubusercontent.com/rdrkr/dotfiles/main/install.sh)

Windows (native)

Run as Administrator in PowerShell:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm "https://raw.githubusercontent.com/rdrkr/dotfiles/main/install.ps1?$(Get-Date-UFormat %s)"| iex

The scripts detect your platform, install any missing prerequisites, clone the repo to ~/dotfiles, and run restore.

🛠️ Usage

Restore

Restore dotfiles and install all dependencies:

# macOS / Linux / WSL
./install.sh restore
# Windows
.\install.ps1 restore

Backup

Update package lists with the current setup and commit changes:

# macOS / Linux / WSL
./install.sh backup
# Windows
.\install.ps1 backup

Schedule

Schedule hourly automated backups:

# macOS / Linux / WSL (cron)
./install.sh schedule
# Windows (Task Scheduler)
.\install.ps1 schedule

Dry Run

Preview what would happen without making changes:

# macOS / Linux / WSL
./install.sh restore --dry-run
# Windows
.\install.ps1 restore -DryRun

📁 Package List Files

FilePurpose
.config/BrewfileHomebrew packages (macOS)
.config/apt-packages.txtapt packages (Debian/Ubuntu)
.config/dnf-packages.txtdnf packages (Fedora/RHEL)
.config/pacman-packages.txtpacman packages (Arch)
.config/zypper-packages.txtzypper packages (openSUSE)
.config/winget-packages.txtwinget packages (Windows)
.config/npm-global-packages.txtGlobal npm packages (all platforms)
.config/pipx-packages.txtPipx packages (all platforms)
.config/bun-packages.txtBun packages (all platforms)

License

This project is licensed under the MIT License - see the [LICENSE] file for details.

About

My dotfiles synced from localhost and remote machines

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages