Skip to content

jhchabran/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Those are my dotfiles and are meant to be used on a macOS computer. Everything is splitted in modules making the maintainance and the evolutions easy.

💡 If you're looking for my vimfiles, they're in another repository: https://github.com/jhchabran/nvim-config

A brief interlude about workflow

Dotfiles, often are a pile of configuration snippets on top of each others and a courageous person can sometimes find useful ideas to port in their own config. While I think that's pretty neat in itself, I feel like half of the value is being left out because it's really hard to grasp the author workflow without some high-level description.

So at the bottom of this README, I describe how I do things. I hope that I'll remember to update it as my workflow change 💪

Install

Clone this repository to ~/.dotfiles

git clone git@github.com:jhchabran/dotfiles.git ~/.dotfiles

Then install the dotfiles:

~/.dotfiles/setup.sh

The script will ask for information regarding Git configuration(name, email), computer name as well as sudo password.

And from time to time, feel free to run the following command to keep your system up-to-date(OSX, Brew, and dotfiles).

dotfiles-update

Dependencies

Workflow

A typical session looks like the following:

  1. cmd+e to fuzzy find within a list of both work and personal repositories and either open a new terminal (window in Kitty's jargon) or jump on that terminal if it already exists.
  1. vi, which will launch neovim in the project root. It'll restore the previous session (opened files and buffers) automatically.
  2. open another terminal within neovim when needed

Sometimes I'll need to deal with some state on the system:

  • kill ** and then pressing TAB will open up FZF and fuzzy find through the process list.
  • who-listens 8080 will tell me which process is listening on 8080.

Frequently, I'm searching for something:

  • rg ... for plain-text searches
  • LSP symbols fuzzy search, within neovim, when searching for a function or a type name

When it comes to git, it's pretty vanilla:

  • straight git commands, aliasing only confuses me, I never seem to remember them.
  • gco to switch branches with fuzzy finding
  • delta to provide more readable diffs, and I really like the side by side view.
  • half the time, git commands are performed within the editor, with plugins.

Multitasking:

  • kitty provides tabs and splits, which is largely enough for me.
    • I have been a heavy tmux user for years but I don't use it anymore, it always felt like a broken abstraction.
  • I use magnet to provide a kind-of tiling WM experience.

Licence

It is free software, and may be redistributed under the terms specified in the LICENSE file.