- zsh
- Git -- Apple Git does NOT support XDG Base Directory, so you should use ordinary Git.
- tmux
- Neovim
- Node.js -- required by coc.nvim
- npm -- required by coc.nvim
- fzf
- bat -- colorized
cat
.alias cat=bat
will be defined ifbat
exists - GNU
ls
in Coreutils --ls
using$LS_COLORS
(BSDls
uses$LSCOLORS
, not$LS_COLORS
).alias ls=gls
will be defined ifgls
exists - The Fuck -- command correction tool.
fuck
function will be defined ifthefuck
exists
- LightDM -- Display manager
- light-locker -- Screen locker
- i3 -- Tiling window manager
- i3blocks -- Status bar
- Alacritty -- Terminal emulator
- rofi -- Launcher
$ curl -fsSL r.livewing.net/dot | sh
If you want to clone the repository using SSH, run below instead:
$ curl -fsSL r.livewing.net/dot | sh -s -- --ssh
NOTE: r.livewing.net/dot
will redirect to the bootstrap script.
$ cd
$ git clone https://github.com/livewing/dotfiles.git
$ ./dotfiles/bin/install-dotfiles
Change home directory by exporting $HOME
, then install dotfiles.
$ export HOME="/path/to/temporary/home"
$ curl -fsSL r.livewing.net/dot | sh
Git configuration is stored in $XDG_CONFIG_HOME/git/config
, except for the user identity. You should configure it by following commands:
$ git config --global user.name 'Your Name'
$ git config --global user.email '[email protected]'
If you want to sign the commits, run below:
$ git config --global commit.gpgsign true
NOTE: git config --global
command tries to write configurations to existing $HOME/.gitconfig
rather than $XDG_CONFIG_HOME/git/config
.
Some configurations can be written outside of version control:
$HOME/.gitconfig
$HOME/.tmux.conf.local
$HOME/.vimrc.local
$HOME/.xprofile.local
$HOME/.zshenv.local
$HOME/.zshrc.local
- Control+b: Prefix (default)
- Meta+hjkl: Select pane
- Meta+m: Maximize/Restore pane
- Shift+Meta+hjkl: Resize pane
- Meta+12345: Select layout
- Meta+1: Even-horizontal
- Meta+2: Even-vertical
- Meta+3: Main-horizontal
- Meta+4: Main-vertical
- Meta+5: Tiled
- Meta+|-: Split window
- Meta+[]: Swap pane
- Meta+np: Switch window
- Shift+Meta+np: Switch session
- Meta+c: New window
- Meta+d: Detach session
- Meta+q: Kill pane
- Shift+Meta+q: Kill window
- Meta+r: Rename window
- Shift+Meta+r: Rename session
- Meta+w: Show switcher
- Meta+s: Enter copy mode
- Space: Begin selection
- Return: Copy selection
- Meta+v: Paste buffer
- Control+[ (Esc): Enter normal mode (vicmd)
- Control+f: Complete suggestion
- Control+r: Show history finder
Leader is Space.
- Control+np: Switch buffer
- Control+hjkl: Select pane
- Leadera:
:CocAction
(Show coc.nvim actions) - Leaderb:
:Buffers
(Show buffer list) - Leaderf:
:FZF
(Show file finder) - Leaderga:
:Gwrite
(git add
) - Leadergb:
:Gblame
(git blame
) - Leadergc:
:Gcommit
(git commit
) - Leadergd:
:Gdiff
(git diff
) - Leaderge:
:GFiles?
(Show modified file finder) - Leadergf:
:GFiles
(Show Git file finder) - Leadergg:
:GitGutterToggle
(Toggle Git diff sign) - Leadergi:
:Git
(Invoke git command) - Leadergs:
:Gstatus
(git status
) - Leaderr:
:QuickRun
(Run buffer) - Leaders:
:Startify
(Show start page)
- Control+Space: Show completion popup
$mod is Super (Windows).
- $mod+Return: Launch Alacritty
- $mod+Space: Launch rofi
- $mod+Shift+x: Lock screen
- $mod+q: Close window
- $mod+hjkl: Change focus
- $mod+Shift+hjkl: Move focused window
- $mod+a: Split horizontally
- $mod+o: Split vertically
- $mod+f: Toggle fullscreen
- $mod+c: Stacked layout
- $mod+t: Tabbed layout
- $mod+s: Toggle split
- $mod+d: Toggle floating
- $mod+Shift+d: Change focus between tiling / floating
- $mod+p: Focus parent
- $mod+i: Focus child
- $mod+1234567890: Switch to workspace
- $mod+Shift+1234567890: Move focused container to workspace
- $mod+Shift+c: Reload i3 configurations
- $mod+Shift+r: Restart i3
- $mod+Shift+q: Logout
- $mod+r: Enter resize mode
- hjkl: Resize window
- Return: Back to normal mode
- Esc: Back to normal mode
- $mod+r: Back to normal mode