_ _ __ _ _
__| | ___ | |_ / _(_) | ___ ___
/ _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_| _| | | __/\__ \
\__,_|\___/ \__|_| |_|_|\___||___/
____ _ ____ _ _ __ _
/ __ \ ___ ___ _ __ _ __ (_)___ \| || | / /_ / |
/ / _` |/ __/ _ \| '_ \| '_ \| | __) | || |_| '_ \| |
| | (_| | (_| (_) | | | | | | | |/ __/|__ _| (_) | |
\ \__,_|\___\___/|_| |_|_| |_|_|_____| |_| \___/|_|
\____/
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
.
# Move to your home folder
cd
# 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 https://github.com/conni2461/dotfiles.git $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.
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.
- Neovim >= 0.7 required
When neovim is started for the first time,
packer.nvim is downloaded. After
that run :PackerSync
To update plugins use :PackerUpdate
. Some plugins need
to be installed locally and will not be pulled!
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-ui-select | telescope ui select hook |
telescope-frecency | Smart MRU for telescope |
telescope-smart-history | Smart history replacement for the telescope builtin history |
gitsigns | Git signs written in pure lua |
notify | neovim notification system |
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-buffer | Buffer source for completion engine |
nvim-cmp-path | Path source for completion engine |
nvim-cmp-lsp | Lsp source for completion engine |
LuaSnip | Snippets plugin |
cmp-luasnip | Snippets source for completion plugin |
lightbulb | Show lightbulb when there is a code action at the current line |
fidget | Standalone UI for nvim-lsp progress |
dap | Debug Adapter Protocol client implementation for Neovim |
dap virtual text | Displayes virtual text coming from dap using treesitter |
colorizer | Adds color to hexcodes |