Skip to content

Yestercafe/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yestercafe's Dotfiles & UNIX Setups Manuals

Clone This Repo Manually

All instructions depend on git, you should install it before git cloneing:

## Fedora
sudo dnf install git
## Ubuntu
sudo apt install git
## macOS
xcode-select --install
### Optionally, you can install the latest git using Homebrew
#brew install git
## HTTPS protocol
git clone --depth 1 --recursive https:://github.com/Yestercafe/.dotfiles.git $HOME/.dotfiles
## SSH protocol
git clone --depth 1 --recursive git@github.com:Yestercafe/.dotfiles.git $HOME/.dotfiles

Install Some Parts Manually

Firstly, define path DOTFILES:

DOTFILES=$HOME/.dotfiles

Shells

Bash

mv $HOME/.bashrc $HOME/.bashrc.bak
ln -sf $DOTFILES/.bashrc $HOME/.bashrc

Zsh

Depend on zinit and thefuck, install them firstly.

## zinit
if ! command -v zinit > /dev/null 2>&1; then
    sh -c "$(curl -fsSL https://git.io/zinit-install)"
fi

## install thefuck, depend on Python3 and pip
python3 -m pip install thefuck   # need `sudo` possibly , or use
#python3 -m pip install thefuck --user   # directly

Then link zsh configs:

mv $HOME/.zshenv $HOME/.zshenv.bak
mv $HOME/.zshrc $HOME/.zshrc.bak
ln -sf $DOTFILES/.zshrc $HOME/.zshrc
ln -sf $DOTFILES/.zshenv $HOME/.zshenv

If this is a macOS machine, you can use this additional config for macOS optionally:

mv $HOME/.zshrc.local $HOME/.zshrc.local.bak
ln -sf $DOTFILES/.zshrc.macos.local $HOME/.zshrc.local

TUI Tools

Homebrew, macOS

\bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/Homebrew/install@HEAD/install.sh)"

tmux

Depend on TPM:

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Then:

ln -sf $DOTFILES/.tmux.conf $HOME/.tmux.conf

joshuto

https://github.com/kamiyaa/joshuto

Editors

Emacs

My Emacs config is called zero.emacs:

mv $HOME/.emacs $HOME/.emacs.bak
mv $HOME/.emacs.d $HOME/.emacs.d.bak
## HTTPS protocol
git clone https://github.com/Yestercafe/zero.emacs.git $HOME/.emacs.d
## SSH protocol
git clone git://github.com:Yestercafe/zero.emacs.git $HOME/.emacs.d

NeoVim

mv $HOME/.config/nvim $HOME/.config/nvim.bak
mkdir -p $HOME/.config
## HTTPS protocol
git clone https://github.com/Yestercafe/nvim.git $HOME/.config/nvim
## SSH protocol
git clone git://github.com:Yestercafe/nvim.git $HOME/.config/nvim

Vim, Deprecated

This Vim config is deprecated, should use NeoVim config instead.

mv $HOME/.vim $HOME/.vim.bak
mv $HOME/.vimrc $HOME/.vimrc.bak
## HTTPS protocol
git clone --depth 1 --recursive https://github.com/Yestercafe/vim.git $HOME/.vim
## SSH protocol
git clone --depth 1 --recursive git@github.com/Yestercafe/vim.git $HOME/.vim

IdeaVim

If you wanna use IdeaVim config, you should clone the deprecated Vim config firstly. And then:

mv $HOME/.ideavimrc $HOME/.ideavimrc.bak
ln -sf $DOTFILES/.ideavimrc $HOME/.ideavimrc

Helix

mkdir -p $HOME/.config/helix
mv $HOME/.config/helix/config.toml $HOME/.config/helix/config.toml.bak
ln -sf $DOTFILES/helix.toml $HOME/.config/helix/config.toml

Terminal Emulators

https://github.com/alacritty/alacritty

Alacritty

mkdir -p $HOME/.config/alacritty
mv $HOME/.config/alacritty/alacritty.yml $HOME/.config/alacritty/alacritty.yml.bak
ln -sf $DOTFILES/alacritty.yml $HOME/.config/alacritty/alacritty.yml

Kitty

https://sw.kovidgoyal.net/kitty/

mkdir -p $HOME/.config/kitty
mv $HOME/.config/kitty/kitty.conf $HOME/.config/kitty/kitty.conf.bak
ln -sf $DOTFILES/kitty.conf $HOME/.config/kitty/kitty.conf

WezTerm

https://wezfurlong.org/wezterm/

mkdir -p $HOME/.config/wezterm
mv $HOME/.config/wezterm/wezterm.lua $HOME/.config/wezterm/wezterm.lua.bak
ln -sf $DOTFILES/wezterm.lua $HOME/.config/wezterm/wezterm.lua

iTerm 2 & iTerm 2 Integrations, macOS

ITERM_UTILITIES=(imgcat imgls it2api it2attention it2check it2copy it2dl it2getvar it2git it2setcolor it2setkeylabel it2tip it2ul it2universion it2profile)
for U in "${ITERM_UTILITIES[@]}"; do
    echo "Downloading $U..."
    curl -SsL "https://iterm2.com/utilities/$U" > "$DOTDIR/.iterm2/$U" && chmod +x "$DOTDIR/.iterm2/$U"
done

Programming Languages

Rust

https://www.rust-lang.org/learn/get-started

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Go

https://go.dev/dl/

Haskell (GHCup)

https://www.haskell.org/ghcup/

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

Anaconda and Python

mv $HOME/.condarc $HOME/.condarc.bak
ln -sf $DOTFILES/.condarc $HOME/.condarc

Ruby

mv $HOME/.irbrc $HOME/.irbrc.bak
ln -sf $DOTFILES/.irbrc $HOME/.irbrc