This repository includes configuration files for various programs, as well as setup scripts for Mac and Debian that download all the dependencies and any desired applications, set settings, and copy this dotfiles repository.
git clone https://www.github.com/sarpuser/dotfiles ~/dotfiles
stow -d ~/dotfiles .
Important
If using a different terminal emulator, its font should be changed to the Nerd font.
This script will install Homebrew (if not already installed), install brew & App Store apps, set up terminal environment by cloning this repository, and change settings. The Homebrew apps include desktop apps and if these are found on the Applications directory (installed from a website perhaps), the script will replace the executables with the Homebrew version without app data loss. Each of the script components (Homebrew & apps, terminal, and settings) are opt-in and safe to run multiple times.
bash <(curl -fsS https://raw.githubusercontent.com/sarpuser/dotfiles/main/scripts/mac-setup.sh)
Installed Apps
- 1Password
- 1Password CLI # needed for Alfred
- Alacritty
- AlDente
- Alfred
- Arc Browser
- App Cleaner
- Balena Etcher
- Bartender
- Better Display
- [Optional] Discord
- defaultbrowser
- eza
- Hack Nerd Font
- Hand Mirror
- fping
- fzf
- gh
- git
- git-delta
- [Optional] KeepingYouAwake
- Keyboard Clean Tool
- Logi Options+
- mas
- Mission Control Plus
- neofetch
- Oh My Posh
- picocom
- [Optional] Private Internet Access
- pyenv
- Raspberry Pi Imager
- Rust & Rustup
- shellcheck
- Spark Mail
- Speedtest CLI
- Spotify
- [Optional] Steam
- Things
- GNU Stow
- Visual Studio Code
- UTM
- Wireguard Go
- zoxide
Stow manages symlinks for all the files in the dotfiles repository. By default it creates symlinks for the selected "packages" (the dotfiles in this case) in the parent directory. For ~/dotfiles/.zshrc
, stow would create the symlink ~/.zshrc
. Likewise, for ~/dotfiles/.config/alacritty
it would create ~/.config/alacritty
.
Any files/folders that stow should not create symlinks for can be placed in .stow-local-ignore
stow [options] package
Note
The package
in the stow syntax is in relation to the stow directory (see below). Using .
would mean all the packages in the stow directory, NOT the current directory.
-d
: Stow directory (directory where all the "packages" are stored)- Default: Current directory
-t
: Target directory (where all the symlinks will be created)- Default: Parent of stow directory
-R
: Restow (delete all symlinks and recreate them)-D
: Delete all symlinks