/dotfiles.fish

my own dotfiles ported to fish

Primary LanguageShellMIT LicenseMIT

header image

lucasmelin's dotfiles

Config files for Fish, Editors, Terminals and more.


Installation

Dependencies

First, make sure you have all those things installed:

  • git: to clone the repo
  • curl: to download some stuff
  • tar: to extract downloaded stuff
  • fish: the shell
  • sudo: some configs may need that

Install

Then, run these steps:

$ git clone https://github.com/lucasmelin/dotfiles.fish.git ~/.dotfiles
$ cd ~/.dotfiles
$ ./script/bootstrap.fish

All changed files will be backed up with a .backup suffix.

Update

To update, you just need to git pull and run the bootstrap script again:

$ cd ~/.dotfiles
$ git pull origin master
$ ./script/bootstrap.fish

Revert

Reverting is not totally automated, but it pretty much consists in removing the fish config and dotfiles folder, as well as moving back some config files.

Remove the folders:

$ rm -rf ~/.dotfiles ~/.config/fish

Some config files were changed, you can find them using fd:

$ fd -e backup -e local -H -E Library -d 3 .

And then manually inspect/revert them.

Recommended Software

For macOS, I recommend:

  • iTerm: a better terminal emulator;

For both Linux and macOS:

  • bat a cat with wings;
  • delta for better git diffs;
  • dog the command-line DNS client;
  • exa a modern replacement for ls;
  • fd a simple, fast and user-friendly alternative to find;
  • fzf for a fuzzy-finder, used in ,t on vim, for example;
  • gh for more GitHub integration with the terminal;
  • grc to colorize command's outputs;
  • starship.rs the shell we are using;
  • kubectx for better Kubernetes context and namespace switch;
  • ripgrep a faster grep;
  • zoxide a smarter cd command;

To install them all with brew:

$ brew install fish bat git-delta dog exa fd fzf gh grc kubectx ripgrep starship zoxide

On Ubuntu:

sh -c "$(curl -fsSL https://starship.rs/install.sh)"
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install unzip fish grc fzf bat delta exa gh fd-find ripgrep zoxide

Windows Terminal

Add the Dracula theme to the Windows Terminal settings.json in the schema section:

{
  "background": "#282A36",
  "black": "#21222C",
  "blue": "#BD93F9",
  "brightBlack": "#6272A4",
  "brightBlue": "#D6ACFF",
  "brightCyan": "#A4FFFF",
  "brightGreen": "#69FF94",
  "brightPurple": "#FF92DF",
  "brightRed": "#FF6E6E",
  "brightWhite": "#FFFFFF",
  "brightYellow": "#FFFFA5",
  "cursorColor": "#F8F8F2",
  "cyan": "#8BE9FD",
  "foreground": "#F8F8F2",
  "green": "#50FA7B",
  "name": "Dracula",
  "purple": "#FF79C6",
  "red": "#FF5555",
  "selectionBackground": "#44475A",
  "white": "#F8F8F2",
  "yellow": "#F1FA8C"
},

then set the font and theme as the defaults:

"defaults": {
            "colorScheme": "Dracula",
            "fontFace": "JetBrainsMono NF"
        },

Themes and fonts being used

Theme is Dracula and font is Jetbrains Mono.

Screenshots

screenshot 1

screenshot 2