Awesome Open Source
Awesome Open Source
     _       _    __ _ _
  __| | ___ | |_ / _(_) | ___  ___
 / _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_|  _| | |  __/\__ \
 \__,_|\___/ \__|_| |_|_|\___||___/

   ____                        _ ____  _  _    __   _
  / __ \  ___ ___  _ __  _ __ (_)___ \| || |  / /_ / |
 / / _` |/ __/ _ \| '_ \| '_ \| | __) | || |_| '_ \| |
| | (_| | (_| (_) | | | | | | | |/ __/|__   _| (_) | |
 \ \__,_|\___\___/|_| |_|_| |_|_|_____|  |_|  \___/|_|

license Codacy Badge Scc Code Badge


The current dotfiles refer to a system with dwm and st. The remaining i3 configurations have been removed and are only accessible via the hash a597826.

Table of Contents


# Move to your home folder
# Create a alias to work with the git bare repository. Don't close the bash session or you have to run this command again.
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
# Ignore the .cfg folder. This makes sure that you don't create weird recursion problems
echo ".cfg" >> .gitignore
# Close the repository
git clone --bare $HOME/.cfg
# Get the files
config checkout

Now files like .bashrc and .gitconfig are untracked. Either remove or move elsewhere.

config checkout
# Change git setup to only show tracked Files
config config --local status.showUntrackedFiles no


# Show status of dotfile repository
config status
# Add a file
config add .file
# Create a commit
config commit -m "Message"
# Push to the remote repository
config push

Also you should change the email and name in the .gitconfig as well as the remote adresse.

Git bare article


Dotfiles provide clipmenu which requires dmenu, xsel and clipnotify. All credits goes to the creator of that scripts.

Most of the scripts are written for POSIX compliant shells. All scripts with /bin/sh are programmed and tested with dash and are not garanteed to run with bash. How to configure and use dash, can be found here.

Some scripts in the bin folder require dmenu, skim, ag, fd and ripgrep. Also twitch-notify and github-notify require python-notify2.


Zsh is configured similar to bash and offers syntax-highlighting and autosuggestions when installed. If you ran into problems check the path of both extensions. It is possible that it has to be changed for your system.


When neovim is started for the first time, vim-plug is downloaded and :PlugInstall is executed. To update plugins use :PlugUpdate and to upgrade vim-plug run :PlugUpgrade. All further commands can be found on here.

A full list of used plugins:

Plugin Description
gruvbox gruvbox colorscheme
signature Plugin to toggle, display and navigate marks
git-messenger Show git messages with <leader>gm. Using nvim-floating-window
gitignore highlighting gitignore highlighting support
comment.nvim comment stuff out with gcc to comment out line and gc in visual mode
scriptease.vim Vim plugin for making Vim plugins. Loads :messages into quickfix list
tabular Helps with aligning text
devicons lua fork of vim-web-devicons for neovim
sql sqlite3 bindings written in lua
startify The fancy start screen for Vim with session support
plenary All the lua functions I don't want to write twice.
telescope Find, Filter, Preview, Pick. Fuzzyfinder written in Lua, with providers for treesitter and lsp
telescope-fzf-native Native fzf sorter for telescope
telescope-symbols symbol data for telescope
telescope-frecency Smart MRU for telescope
telescope-smart-history Smart history replacement for the telescope builtin history
telescope-ui-select telescope ui select hook
octo Github integration in neovim. With telescope integration
gitsigns Git signs written in pure lua
notify neovim notification system
goyo Distraction-free writing in Vim
vimwiki Personal Wiki for Vim
treesitter Currently used for Syntax highlighting and incremental selection.
treesitter-refactor Adds Refactor module to Treesitter. Highlight definition, smart rename and more.
treesitter-textobjects Adds Textobjects based on treesitter
treesitter playground Treesitter playground integrated into Neovim. Interactive Debugging tool for Treesitter
treesitter-lua Treesitter lua grammar
nvim-lspconfig Providing config for built-in lsp
nvim-cmp Completion engine
nvim-cmp-lsp Lsp source for completion engine
nvim-cmp-buffer Buffer source for completion engine
nvim-cmp-path Path source for completion engine
LuaSnip Snippets plugin
cmp-luasnip Snippets source for completion plugin
lsp extensions Adds more lsp stuff. Example: Inlay hints
lightbulb Show lightbulb when there is a code action at the current line
dap Debug Adapter Protocol client implementation for Neovim
dap virtual text Displayes virtual text coming from dap using treesitter
nvim lua debug Debug lua neovim code in neovim
colorizer Adds color to hexcodes

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Shell (229,298
Linux (17,065
Bash (7,155
Dotfiles (6,732
Vim (5,854
Zsh (3,365
Neovim (2,587
Arch (403
Lsp (310
Dwm (238
Vim Plug (51
Neovim Lsp (22
Related Projects