Skip to content

sarpuser/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

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.

Using the dotfiles without any additional setup

git clone https://www.github.com/sarpuser/dotfiles ~/dotfiles
stow -d ~/dotfiles .

Requirements

Important

If using a different terminal emulator, its font should be changed to the Nerd font.

Setup Scripts

Mac

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

Post-Script Setup

  • Log into apps
  • Create WireGuard conf
    • Place <confName>.conf in /etc/wireguard
    • Alias vpn-on to wg-quick up <confName>
    • Alias vpn-off to wg-quick down <confName>
  • Bartender configuration
  • Add accounts

Debian/Ubuntu

This script will install packages, set up dotfiles, install the Hack Nerd Font, set zsh as default, set the locale, and try to set the MOTD. The script ends with switching to zsh.

wget -qO- https://raw.githubusercontent.com/sarpuser/dotfiles/refs/heads/main/scripts/debian-setup.sh | sudo bash
Installed packages
  • curl
  • eza
  • fontconfig
  • fzf
  • git
  • python3
  • python3-pip
  • speedtest
  • stow
  • uv (installed in /opt/cargo and symlinked to /usr/local/bin)
  • zsh

Reference

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

Note

Unless --no-folding is used, .stow-local-ignore file can only ignore paths in the root of the package.

Syntax

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.

Options

  • -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
  • --no-folding: Only create symlinks for files, not directories

About

Linux and Mac dotfiles & setup scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published