Skip to content

timomeh/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

dotfiles

Dotfiles. Mainly centered around 🐟 fish, 🐐 stow, 🍺 brew and πŸ§‘β€πŸ³ mise.

Features

  • Different profiles
  • cd is zoxide
  • ls is eza
  • ping is pingu, noot noot
  • fuck for fuckups
  • navi with Ctrl-g
  • mcfly with Ctrl-r
  • Search directory with Ctrl-Alt-F
  • Search git log with Ctrl-Alt-L
  • Search git status with Ctrl-Alt-S
  • Search processes with Ctrl-Alt-P
  • Search variables with Ctrl-V
  • g[alias] abbreviates to git [alias]

Workflows

Getting started

Hey future me! For a complete fresh setup:

  1. Run xcode-select --install to install git
  2. Install homebrew
  3. Clone this repo into your home directory (~/dotfiles)
  4. cd ~/dotfiles && stow --no-folding .
  5. ~/dotfiles/macos.sh
  6. brew bundle

Usage

Add a new file

Create the file in the ~/dotfiles directory, as if it were the home directory. Then run:

dot sync

# This will run: stow --no-folding .

Add an existing non-tracked file

To track an existing file in the home directory, create an empty file in this project as if the project root were the home directory. Then run:

dot adopt

# This will run: stow --adopt .

Pull changes

dot pull

# This will do a git pull of the dotfiles repo and then run sync

Use brew bundle

Use brew bundle [-g] [add|remove|cleanup|install] to manage installations via brew, so the brewfile is automatically updates. Read more

  • Run inside ~/Developer/[profile] to install for the current machine
  • Run with -g to install for all machines

macOS Settings

To backup the current macos settings, run:

prefs-export --output-directory ~/.config/defaults

Then look into the output directory's exec-defaults.sh file and copy the defaults to macos.sh.

Background

I can run those dotfiles on different machines with different configurations based on the FISH_PROFILE_NAME environment variable.

I use Homebrew (via brew bundle) for everything where I just want the latest version.

I use mise for stuff where I'm interested in a specific version, or for global npm packages.

About

πŸ—‚ my dotfile setup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published