hyoHhh / dotfiles-3

Current dotfiles and scripts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

     _       _    __ _ _
  __| | ___ | |_ / _(_) | ___  ___
 / _` |/ _ \| __| |_| | |/ _ \/ __|
| (_| | (_) | |_|  _| | |  __/\__ \
 \__,_|\___/ \__|_| |_|_|\___||___/

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

license Codacy Badge

Introduction

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

Install

# 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

Use

# 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

Bash

Dotfiles provide clipmenu which requires dmenu, xsel and clipnotify. Also a spotify commandline handler script sp. All credits goes to the creators of those 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, the_silver_searcher, fd and ripgrep. Also twitch-notify and github-notify require python-notify2.

Zsh

If you wanna use zsh, zsh-syntax-highlighting and zsh-autosuggestions is required to be installed. If you don't want to use this features remove the last two lines of the zshrc. If you ran into problems check the path of both extensions. It is possible that it has to be changed for your system.

Vim

  • Neovim >= 0.5 required. (Probobly nightly build)
  • pyneovim (Python client for Neovim)

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 vim-plugs github page.

A full list of used plugins:

Plugin Description
base16 Neovim Colorscheme collection
startuptime vim-startuptime is a Vim plugin for viewing vim and nvim startup event timing information.
signature Plugin to toggle, display and navigate marks
scrolling Smoth scrolling with Ctrl-d / Ctrl-u / Ctrl-f / Ctrl-b
fugitive Git Wrapper
vim-signify A Vim plugin which shows a git diff in the gutter (sign column)
git-messenger Show git messages with <leader>gm. Using nvim-floating-window
committia Layout for git commit
gitignore highlight gitignore highlighting support
table-mode Mode for editing tables
boxdraw Helps with drawing ascii boxes
splitjoin Switch between single-line and multiline forms of code with gJ (join) and gS (split)
clever-f Changes behavior of f/F and t/T
commentary comment stuff out with gcc to comment out line and gc in visual mode
surround quoting/parenthesizing made simple
scriptease.vim Vim plugin for making Vim plugins. Loads :messages into quickfix list, :verbose improvments, etc
CommentFrame Add comment frames. Use fcS for c/c++ and fch or fcH for bash
tabular Helps with aligning text
Luapad Adds interactive scratchpad for lua and :Lua command with autocomplete
startify The fancy start screen for Vim with session support
lastplace Intelligently reopen files at your last edit position
animate Vim animation api
popup An implementation of the Popup API from vim in Neovim.
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.
goyo Distraction-free writing in Vim
limelight Hyperfocus-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 Textobject module to Treesitter. (Context aware textobjects for vim)
treesitter playground Treesitter playground integrated into Neovim. Interactive Debugging tool for Treesitter
treesitter context A context.vim clone powered by treesitter.
nvim-lspconfig Providing config for built-in lsp
snippets Adds snippet support. Works with completion-nvim.
completion Adds completion for nvim-lsp
diagnostic Changes default nvim-lsp diagnostics behavior
lsp extensions Adds more lsp stuff. Example: Inlay hints
buffer completion Adds word completion for all words in all open buffers. Additional source for completion-nvim
lightline A light and configurable statusline/tabline plugin
devicons lua fork of vim-web-devicons for neovim
colorizer Adds color to hexcodes

Some plugins require additional packages installed:

About

Current dotfiles and scripts

License:MIT License


Languages

Language:Shell 54.6%Language:Lua 19.3%Language:Vim Script 13.9%Language:Python 7.7%Language:TeX 4.5%Language:Perl 0.1%