Compare commits

...

No commits in common. "4189523bb5d36195573796a38c4a1071c71b7ef4" and "81f3589eca40ee575f09eb42713c83a5a01eb08d" have entirely different histories.

12 changed files with 2433 additions and 345 deletions

2240
.config/kitty/kitty.conf Normal file

File diff suppressed because it is too large Load Diff

125
.config/nvim/init.vim Normal file
View File

@ -0,0 +1,125 @@
set nocompatible " disable compatibility to old-time vi
set showmatch " show matching
set hlsearch " highlight search
set incsearch " incremental search
set tabstop=4 " number of columns occupied by a tab
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
set expandtab " converts tabs to white space
set shiftwidth=4 " width for autoindents
set autoindent " indent a new line the same amount as the line just typed
set number " add line numbers
set wildmode=longest,list " get bash-like tab completions
filetype plugin indent on "allow auto-indenting depending on file type
syntax on " syntax highlighting
set mouse=a " enable mouse click
set clipboard=unnamedplus " using system clipboard
filetype plugin on
set cursorline " highlight current cursorline
set ttyfast " Speed up scrolling in Vim
:imap jk <Esc>
" Set up colors
colorscheme murphy
highlight clear SignColumn
" Open and close terminal with shortcut
nnoremap <F4> :call vimterm#toggle() <CR>
tnoremap <F4> <C-\><C-n>:call vimterm#toggle() <CR>
" Find files using Telescope command-line sugar.
nnoremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
nnoremap <leader>fb <cmd>Telescope buffers<cr>
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
" Configure how we Git blame people
nnoremap <leader>gb <cmd>GitBlameToggle<cr>
let g:gitblame_enabled = 0
let g:gitblame_date_format = '%x'
let g:gitblame_highlight_group = "SignColumn"
call plug#begin()
" Fuzzy finder
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
" Git blame
Plug 'f-person/git-blame.nvim'
" Marks plugin
Plug 'chentoast/marks.nvim'
" File Explorer for Nvim
Plug 'kyazdani42/nvim-web-devicons' " optional, for file icons
Plug 'kyazdani42/nvim-tree.lua'
" rust
Plug 'rust-lang/rust.vim'
call plug#end()
" Set up Marks plugin
lua << EOF
require'marks'.setup {
-- whether to map keybinds or not. default true
default_mappings = true,
-- which builtin marks to show. default {}
builtin_marks = { ".", "<", ">", "^" },
-- whether movements cycle back to the beginning/end of buffer. default true
cyclic = true,
-- whether the shada file is updated after modifying uppercase marks. default false
force_write_shada = false,
-- how often (in ms) to redraw signs/recompute mark positions.
-- higher values will have better performance but may cause visual lag,
-- while lower values may cause performance penalties. default 150.
refresh_interval = 250,
-- sign priorities for each type of mark - builtin marks, uppercase marks, lowercase
-- marks, and bookmarks.
-- can be either a table with all/none of the keys, or a single number, in which case
-- the priority applies to all marks.
-- default 10.
sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 },
-- disables mark tracking for specific filetypes. default {}
excluded_filetypes = {},
-- marks.nvim allows you to configure up to 10 bookmark groups, each with its own
-- sign/virttext. Bookmarks can be used to group together positions and quickly move
-- across multiple buffers. default sign is '!@#$%^&*()' (from 0 to 9), and
-- default virt_text is "".
bookmark_0 = {
sign = "⚑",
virt_text = "hello world"
},
mappings = {}
}
EOF
" Set syntax highlighting
au BufNewFile,BufRead *.f set syntax=verilog
" Configure nvim-tree
nmap <leader>n :NvimTreeToggle <CR>
lua << EOF
-- disable netrw at the very start of your init.lua (strongly advised)
vim.g.loaded = 1
vim.g.loaded_netrwPlugin = 1
-- OR setup with some options
require'nvim-tree'.setup {
sort_by = "case_sensitive",
view = {
adaptive_size = true,
mappings = {
list = {
{ key = "u", action = "dir_up" },
},
},
},
renderer = {
group_empty = true,
},
filters = {
dotfiles = true,
},
}
EOF

1
.gitignore vendored
View File

@ -1 +0,0 @@
dotdrop.sh

3
.gitmodules vendored
View File

@ -1,3 +0,0 @@
[submodule "dotdrop"]
path = dotdrop
url = https://github.com/deadc0de6/dotdrop.git

33
.tmux.conf Normal file
View File

@ -0,0 +1,33 @@
set-option -g default-shell /bin/zsh
# remap prefix to Control + a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# VIM mode
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# quick pane cycling
unbind ^A
bind ^A select-pane -t :.+
# tabs
setw -g window-status-format "#[fg=white]#[bg=blue] [#I]#[bg=blue]#[fg=white] #W "
setw -g window-status-current-format "#[bg=white]#[fg=black] [#I]#[fg=black]#[bg=white] #W "
# status bar
set-option -g status-position top
set -g status-fg white
set -g status-bg blue
set -g status-left ''
set -g status-right-length 63
set -g status-right 'Battery:#(acpi | cut -d ',' -f 2) | %a %Y-%m-%d %H:%M'

View File

@ -5,39 +5,38 @@ fi
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LANG="en_US.UTF-8"
export GPG_TTY=$(tty)
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="gnzh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="eastwood"
# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
@ -49,6 +48,9 @@ ZSH_THEME="gnzh"
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
@ -58,19 +60,21 @@ ZSH_THEME="gnzh"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
)
plugins=(git)
source $ZSH/oh-my-zsh.sh
@ -82,18 +86,15 @@ source $ZSH/oh-my-zsh.sh
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
@ -102,19 +103,7 @@ source $ZSH/oh-my-zsh.sh
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
#
# Alias grep top ripgrep
alias grep="rg"
alias vi="nvim"
alias vim="nvim"
alias pst="pbincli"
alias dotdrop=~/dotfiles/dotdrop.sh --cfg=~/dotfiles/config.yaml
source ~/.zsh_private_aliases
export PATH=$PATH:~/code/PBinCLI/venv/bin:~/.local/bin
{%@@ if profile == "dennis-ThinkPad" @@%}
export GTK_MODULES=appmenu-gtk-module
{%@@ endif @@%}

View File

@ -1,31 +0,0 @@
This repository contains my personal dotfiles. All dotfiles are managed by [dotdrop](https://github.com/deadc0de6/dotdrop).
## Installation
In order to install all dotfiles, run:
```bash
git clone https://git.dennispotter.eu/Dennis/dotfiles
cd dotfiles
git submodule init
git submodule update
sudo pip3 install -r dotdrop/requirements.txt
./dotdrop/bootstrap.sh
./dotdrop.sh --cfg=config.yaml install
```
## Prerequisites
Below, a list of applications that are managed and of their prerequisites to make full use of all configuration.
```
- ZSH
oh-my-zsh (automatically fetched by dotdrop)
ripgrep
- tmux
acpi
- neovim
plug (automatically fetched by dotdrop)
fonts-powerline
exuberant-ctags
cmake
clang
rust
jupyter
```

View File

@ -1,50 +0,0 @@
actions:
nvim-plug: nvim +PlugInstall +qall
oh-my-zsh: test -e ~/.oh-my-zsh || (git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh)
pre:
nvim-plug-install: test -e ~/.local/share/nvim/site/autoload/plug.vim || (mkdir -p ~/.local/share/nvim/site/autoload/; curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim)
config:
backup: true
banner: true
create: true
dotpath: dotfiles
ignoreempty: false
keepdot: false
link_by_default: false
longkey: false
showdiff: false
workdir: ~/.config/dotdrop
dotfiles:
f_nvim:
actions:
- nvim-plug-install
- nvim-plug
dst: ~/.config/nvim/init.vim
src: nvim/init.vim
f_tmux.conf:
dst: ~/.tmux.conf
src: tmux.conf
f_zshrc:
actions:
- oh-my-zsh
dst: ~/.zshrc
src: zsh/zshrc
f_zsh_private_aliases:
dst: ~/.zsh_private_aliases
src: zsh/zsh_private_aliases.asc
trans: gpg
trans:
gpg: gpg --no-tty -d {0} > {1}
profiles:
Dennis-MacBook-Pro:
dotfiles:
- f_tmux.conf
- f_nvim
- f_zshrc
- f_zsh_private_aliases
dennis-ThinkPad:
dotfiles:
- f_tmux.conf
- f_nvim
- f_zshrc
- f_zsh_private_aliases

@ -1 +0,0 @@
Subproject commit 8559aeb8713d44cc13a7fe22a524300360239571

View File

@ -1,156 +0,0 @@
syntax on
filetype plugin indent on
au BufNewFile,BufRead *.tpp set filetype=cpp
au BufNewFile,BufRead *.f set filetype=verilog
syntax enable
set number showmatch
set shiftwidth=4 tabstop=4 softtabstop=4 expandtab autoindent
let python_highlight_all = 1
:imap jk <Esc>
set hidden
" set options for folding
set foldmethod=syntax
set foldlevelstart=20
" put leader to space
map <space> <leader>
map <space><space> <leader><leader>
" airline settings
let g:airline_theme='badwolf'
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#formatter = 'unique_tail'
let g:airline#extensions#whitespace#enabled = 0
" NERDTree
let NERDTreeChDirMode = 2
let NERDTreeQuitOnOpen = 1
" Custom key bindings general
nmap <leader>n :NERDTreeToggle <CR>
map <leader>t :TagbarToggle <CR>
map <leader>u :MundoToggle <CR>
nnoremap <leader>l <C-w>l
tnoremap <Esc> <C-\><C-n>
noremap <Esc> <Esc>:noh <CR>
nnoremap <F4> :call vimterm#toggle() <CR>
tnoremap <F4> <C-\><C-n>:call vimterm#toggle() <CR>
" YouCompleteMe settings
let g:ycm_confirm_extra_conf = 0 "Stop asking me every time to confirm
nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR>
nnoremap <leader>gf :YcmCompleter GoToDefinition<CR>
nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR>
nnoremap <leader>gd :YcmCompleter GetDoc<CR>
" Fix colors of YCM
highlight YcmWarningLine guibg=Cyan ctermbg=Cyan
highlight YcmWarningSign guibg=Cyan ctermbg=Cyan
highlight YcmWarningSection guibg=Cyan ctermbg=Cyan
highlight YcmErrorSection guibg=Red ctermbg=Red
highlight YcmErrorLine guibg=Red ctermbg=Red
highlight YcmErrorSign guibg=Red ctermbg=Red
" make YCM compatible with UltiSnips (using supertab)
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
" better key bindings for UltiSnipsExpandTrigger
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
" Other colors
hi Search ctermfg=232 ctermbg=154 guifg=#141413 guibg=#aeee00
" Custom function to Toggle Tagbar and NERDTree
let s:hidden_all = 0
function! ToggleHiddenAll()
NERDTreeToggle
wincmd l
TagbarToggle
endfunction
nnoremap <silent> <leader>; :call ToggleHiddenAll()<CR>
" Rust debugging
let g:ycm_rust_src_path = '/home/dennis/code/rust/src'
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_rust_checkers = ['cargo']
" Indent settings
let g:indentLine_char = '┆'
let g:indentLine_color_term = 239
call plug#begin()
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'ervandew/supertab'
" general
Plug 'majutsushi/tagbar'
Plug 'bling/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'bling/vim-bufferline'
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
Plug 'simnalamburt/vim-mundo', {'on': 'MundoToggle'}
Plug 'wvffle/vimterm'
Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer --rust-completer' }
Plug 'rdnetto/YCM-generator', { 'branch': 'stable'}
Plug 'chrisbra/Recover.vim'
Plug 'Yggdroot/indentLine'
Plug 'tpope/vim-surround'
Plug 'Shougo/denite.nvim'
Plug 'editorconfig/editorconfig-vim'
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }}
" versioning
Plug 'tpope/vim-fugitive'
" python
Plug 'bfredl/nvim-ipy'
" rust
Plug 'rust-lang/rust.vim'
Plug 'vim-syntastic/syntastic'
" debugging
Plug 'sakhnik/nvim-gdb'
Plug 'vhda/verilog_systemverilog.vim'
call plug#end()
" Denite settings
nnoremap <space>e :Denite file_rec <cr>
call denite#custom#map(
\ 'insert',
\ '<C-j>',
\ '<denite:move_to_next_line>',
\ 'noremap'
\)
call denite#custom#map(
\ 'insert',
\ '<C-k>',
\ '<denite:move_to_previous_line>',
\ 'noremap'
\)
call denite#custom#filter('matcher_ignore_globs', 'ignore_globs', [ '.git/', '.gradle/', 'build/', '.idea/', 'app/', '*.png', '*.so', '*.a', '*.jar', 'target/' ])
call denite#custom#source('file_rec', 'matchers', ['matcher_ignore_globs', 'matcher/fuzzy'])

View File

@ -1,47 +0,0 @@
# remap prefix to Control + a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# VIM mode
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf
# quick pane cycling
unbind ^A
bind ^A select-pane -t :.+
# prevent issues with (n)vi(m)
set -s escape-time 0
# don't rename windows automatically
set-option -g allow-rename off
# split panes using | and -
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# tabs
setw -g window-status-format "#[fg=white]#[bg=blue] #I #[bg=blue]#[fg=white] #W "
setw -g window-status-current-format "#[bg=white]#[fg=black] *#I #[fg=black,bold]#[bg=white] [#W] "
# status bar
set-option -g status-position top
set -g status-fg white
set -g status-bg blue
set -g status-left ''
set -g status-right-length 60
set -g status-right '♥ #(acpi | cut -d ',' -f 2) | %a %m-%d %H:%M'

View File

@ -1,10 +0,0 @@
-----BEGIN PGP MESSAGE-----
jA0EBwMC9xvul9zwQYfv0sBFAZ5pm/87z6iugTHUSdyy0YglHk7oNvh8CHGpjrB3
9mUc90VlJFcvC+udXm9LNGqDhyMGAGboT7WU1hT+CtxKgonQ749SB4zJrqyYDXWE
w2i5argA+Pylrj3WLVIOWJZJfhanotbLoQLHNnYZuCIV3VM3p5ru6lZX92UwV6gf
o3MVHW1Rx2hIzI3hGtZ0T+JOo9spbsM7q+Q2GV9+KpLRis2bq3aBAF9yDV9/GspV
X8f0FJa2r7Mw3pP7eS9r4UHJmQ2q5AO3JUrGp+fgvIQZsTPRnbR1QlMxEKkFn106
/x8SpurCMvMiHr9FdoF/U2iVDPQDMxevNtkkdkZUuuYa+E974Fxj
=ccf+
-----END PGP MESSAGE-----