Skip to content

timomeh/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

78 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

dotfiles

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

Features

  • cd is zoxide
  • ls is eza
  • ping is pingu, noot noot
  • fuck for fuckups
  • rm is disabled and will nope out
  • rrm for rm when you really mean it
  • 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, clone this project into your home directory, cd into it, then run stow ..

Tracking dotfiles

To link a new dotfile, create it inside this project as if the project root were the home directory. Then run:

stow .

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:

stow --adopt .

It will copy the contents and link it.

Use brew bundle

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

bb add [formulae]
bb install
bb remove [formulae]
bb cleanup [--force]

Background

  • stow manages symlinks to sync and backup dotfiles.
  • fish is a fast and easy to configure shell with many batteries included, so it doesn't need crazy setups like zsh does.
  • brew installs tools that I may use globally and/or when I don't care about the versions and just want the latest.
  • mise also installs tools but I use it for stuff that is specific to a project (like different runtime versions), and I want to automatically switch it depending on the current working directory.

I usually use CLI tools instead of IDE tools or GUIs, but I still like to use vscode as my code editor. I use the terminal in vscode in combination with a global hotkey terminal with Ghostty. I'm usually using git or running tests in the editor's terminal, and use the external terminal for anything else.

I often define my own aliases and shortcuts based on my own mnemonics, so they're all a bit non-standard, but they work for me. I like to use my keyboard to navigate around, but I'm also not afraid to touch my mouse. It just depends on what I'm currently doing. When I'm reading text or code, I have a habit of selecting a chunk of text with my mouse as I read, so I'm on my mouse from time to time anyway.

I use raycast, contexts and rectangle pro a lot. Because I'm often using cli tools, I use a lot of completions, history, fuzzy finding and other stuff to make CLIs more productive. Not everything can be synced to my dotfiles though.

About

πŸ—‚ my dotfile setup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published