Full and clean configurations for development environment on GNU Linux, macOS and Cygwin.
- GNU Linux, macOS, Windows, Cygwin
- Git, Zsh/Powershell, curl/wget
- Recommend: Vim, tmux
sh -c "$(curl -fsSL https://github.com/kyuna312/dotfiles/raw/main/install.sh)"
or
sh -c "$(wget https://github.com/kyuna312/dotfiles/raw/main/install.sh -O -)"or
git clone https://github.com/kyuna312/dotfiles.git ~/.dotfiles # or download the zip package
cd ~/.dotfiles
./install.shgit clone [https://github.com/kyuna312/dotfiles.git ](https://github.com/kyuna312/dotfiles.git)~/.dotfiles # or download the zip package
cd ~/.dotfiles
install_scoop.ps1 # or install_choco.ps1Alt-c: cd into the selected directory.Ctrl-r: Paste the selected command from history into the command line.Ctrl-t: Paste the selected file path(s) into the command line.TAB: To completions.
That's it. Enjoy!
Add your zsh environments in ~/.zshenv. This is recommended by ZSH officially.
For example:
export PATH=/usr/local/sbin:$PATH
export PATH=$HOME/.rbenv/shims:$PATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packagesSte your personal zsh configurations in ~/.zshrc.local. For example:
# Oh-my-zsh plugin
zinit snippet OMZP::golang
zinit snippet OMZP::python
zinit snippet OMZP::ruby
# Github plugin
zinit light ptavares/zsh-direnvSee details on zinit.
Set your git configurations in ~/.gitconfig.local, e.g. user credentials.
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = true
[user]
name = John Doe
email = [email protected]
signingkey = XXXXXXXX- vim (NeoVim) config
- tmux config
- git config
- fish config
- PowerShell config
- System Preferences > Desktop and Dock (bold is required):
- Mission Control: uncheck "Automatically rearrange Spaces based on most recent use"
- Some advanced features of
yabairequires SIP to be disabled. However, disabling SIP will also disable Apple Pay on your Mac. For my setup, I left SIP enabled. My configs doesn't use any advanced feature fromyabai
-
I am using the excellent sketchybar-app-font to display the active applications in the spaces.
-
Left clicking a space will focus it, right clicking a space will destroy that space; clicking in the separator (>) will create a new space (all using yabai SIP disabled; optional)
-
Mousing over the music icon in the center gives a small Spotify player widget with player controls:
- The volume icon on the right side can be clicked to toggle the volume slider and animates volume changes:
slider.mp4
-
The volume icon on the right side can be right-clicked to show and select the audio output device:

-
The bell can be hovered to view github notifications
-
Clicking the date/time toggles a "zen" mode, hiding all distracting items in the bar:
- The battery indicator is only shown when below 60%:
- Dependencies(
sf-symbols,jq,github-cli,switchaudio-osx, sketchybar-app-font):
brew install --cask sf-symbols
brew install jq
brew install gh
brew install switchaudio-osx
curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v1.0.4/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf- (optional)
gh auth loginfor GitHub notifications - (optional) If you don't use yabai you can safely remove the
yabaiitem fromitems/yabai.shorsketchybarrc - (optional; needed for yabai window state and running application icons) yabai events:
yabai -m signal --add event=window_focused action="sketchybar --trigger window_focus"
yabai -m signal --add event=window_created action="sketchybar --trigger windows_on_spaces"
yabai -m signal --add event=window_destroyed action="sketchybar --trigger windows_on_spaces"- System Preferences > Keyboard > Keyboard Shortcuts... (bold is required):
- For each of the item on the left side bar > click "Restore Defaults"
- Mission Control > Make sure everything under Mission Control is checked (Move left/right, switch to desktop 1/2/etc.)
- Theme: Gruvbox Dark (Hard)
- Plugin manager: Oh My Zsh
- Plugins:
- Install from HEAD commit instead of pre-built binary:
brew install --HEAD ranger - File preview dependencies (bold is required):
cmd+3to View as Columnscmd+shift+.to Show Hidden files
- Firefox Onebar theme with the following
about:config:onebar.disable-autohide-of-URLbar-icons : falseonebar.disable-centering-of-URLbar : falseonebar.disable-https-truncate : falseonebar.disable-single-tab : trueonebar.hide-all-URLbar-icons : trueonebar.hide-navigation-buttons : false
- Color and layout tweaks to Browser XUL and
:aboutpages to match Gruvbox Dark (Hard) color (Firefox Onebar included)- Only Dark theme is supported, no light theme or high-contrast theme support
- System Preferences > Desktop and Dock > Default web browser: Firefox
btopcat>batfind>fdfzffzffdintegration in part of shell config
grep> ripgrep (rg)ls>ezaneofetch- pipes-sh (
pipes.sh) ps>procs- Taskwarrior (
task) tty-clockunimatrix:pip3 install git+https://github.com/will8211/unimatrix.git
Requires Neovim (>= 0.8)
- wbthomason/packer.nvim - A plugin manager for Neovim
- svrana/neosolarized.nvim - A truecolor, solarized dark colorscheme
- nvim-lualine/lualine.nvim - A blazing fast and easy to configure Neovim statusline written in Lua
- onsails/lspkind-nvim - VSCode-like pictograms
- L3MON4D3/LuaSnip - Snippet Engine for Neovim written in Lua
- hrsh7th/cmp-nvim-lsp - nvim-cmp source for neovim's built-in LSP
- hrsh7th/cmp-buffer - nvim-cmp source for buffer
- hrsh7th/nvim-cmp - A completion engine plugin for neovim written in Lua
- neovim/nvim-lspconfig - A collection of configurations for Neovim's built-in LSP
- jose-elias-alvarez/null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- williamboman/mason.nvim - Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters
- williamboman/mason-lspconfig.nvim - Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim
- glepnir/lspsaga.nvim - A light-weight lsp plugin based on neovim's built-in lsp with a highly performant UI
- nvim-treesitter/nvim-treesitter - Treesitter configurations and abstraction layer for Neovim
- kyazdani42/nvim-web-devicons - Lua
forkof vim-web-devicons for neovim - nvim-telescope/telescope.nvim - A highly extendable fuzzy finder over lists
- nvim-telescope/telescope-file-browser.nvim - File Browser extension for telescope.nvim
- windwp/nvim-autopairs - Autopairs
- windwp/nvim-ts-autotag - Use treesitter to auto close and auto rename html tag
- norcalli/nvim-colorizer.lua - A high-performance color highlighter
- akinsho/nvim-bufferline.lua - A snazzy bufferline
- lewis6991/gitsigns.nvim - Git integration for buffers
- dinhhuy258/git.nvim - A simple clone of the plugin vim-fugitive
- folke/zen-mode.nvim - Distraction-free mode
- iamcco/markdown-preview.nvim - Markdown live preview
- Fish shell
- Fisher - Plugin manager
- Tide - Shell theme. Use version 5:
fisher install ilancosman/tide@v5 - Nerd fonts - Powerline-patched fonts. I use Hack.
- z for fish - Directory jumping
- Exa -
lsreplacement - ghq - Local Git repository organizer
- fzf - Interactive filtering
- Scoop - A command-line installer
- Git for Windows
- Oh My Posh - Prompt theme engine
- Terminal Icons - Folder and file icons
- PSReadLine - Cmdlets for customizing the editing environment, used for autocompletion
- z - Directory jumper
- PSFzf - Fuzzy finder





