Config files for fish, Editors, Terminals and more.
First, make sure you have all those things installed:
git
: to clone the repocurl
: to download some stufftar
: to extract downloaded stufffish
: to actually run the dotfilessudo
: some configs may need that
Then, run these steps:
git clone https://github.com/supercid/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./script/bootstrap
zsh # or just close and open your terminal again.
All changed files will be backed up with a
.backup
suffix.
For macOS, I recommend:
-
iTerm: a better terminal emulator; You can install by running
brew cask install iterm2
-
diff-so-fancy
: better git diffs (you'll need to rundot_update
to apply it); -
fzf
: fuzzy finder, used in,t
on vim, for example; -
bat
a cat replacement -
eza
a ls replacement -
jq
a json processor with syntax highlighting -
starship.rs
the shell we are using -
kubectx
for better Kubernetes context and namespace switch; -
grc
to colorize command's outputs; -
gh
for more GitHub integration with the terminal;
You use it by running: Read and tweak it first!
$DOTFILES/macos/set-defaults.sh
And logging out and in again/restart.
The default EDITOR
right now is subl
, which is the Sublime Text editor.
You can change that by adding your custom override.
PROJECTS
is default to ~/Developer
. The shortcut to that folder in the shell
is dev
.
Everything's built around topic areas. If you're adding a new area to your
forked dotfiles — say, "Erlang" — you can simply add a erlang
directory and
put files in there. Anything with an extension of .fish
will get automatically
included into your shell. Anything with an extension of .symlink
will get
symlinked without extension into $HOME
when you run script/bootstrap.fish
.
Since i pretty much only use macOS, i dropped the support for linux from the original fork of this project.
How to add custom configuration without messing the local repository
You can just change the default ~/.gitconfig
file, since it includes the
dotfiles managed one.
You can edit the ~/.ssh/config.local
file.
I've wrote a detailed instructions of how I use iTerm2 and its various functions. https://gist.github.com/supercid/1be22a2f5ecd93ea1ce7112aaf929fb8
Feel free to contribute. Pull requests will be automatically checked/linted with Shellcheck and shfmt.