From 3b056348aed85004f17b545c377f3be39edaae8e Mon Sep 17 00:00:00 2001 From: Daniel Lundin Date: Tue, 1 Jan 2019 19:48:52 +0100 Subject: [PATCH] holiday tinkering --- .Xresources | 4 +- .bashrc | 2 + .config/nvim/coc-settings.json | 9 + .config/nvim/colors/dln-dark.vim | 13 +- .config/nvim/init.vim | 391 ++++++++++++++++--------------- .config/rofi/config | 2 +- .tmux.conf | 11 +- .zshrc | 4 + bin/lp-login | 2 +- bin/st | 1 - bin/st.dark | Bin 96032 -> 0 bytes 11 files changed, 243 insertions(+), 196 deletions(-) create mode 100644 .config/nvim/coc-settings.json delete mode 120000 bin/st delete mode 100755 bin/st.dark diff --git a/.Xresources b/.Xresources index e2f2703..a936060 100644 --- a/.Xresources +++ b/.Xresources @@ -1,5 +1,5 @@ -Xft.dpi: 240 -!Xft.dpi: 96 +!Xft.dpi: 210 +Xft.dpi: 144 Xft.antialias: 1 Xft.rgba: rgb Xft.hinting: 1 diff --git a/.bashrc b/.bashrc index bfadef4..5b8b9a9 100644 --- a/.bashrc +++ b/.bashrc @@ -112,3 +112,5 @@ fi source $HOME/.bash_aliases source $HOME/.bash_exports source $HOME/.bash_prompt + +[ -f ~/.fzf.bash ] && source ~/.fzf.bash diff --git a/.config/nvim/coc-settings.json b/.config/nvim/coc-settings.json new file mode 100644 index 0000000..bb54be1 --- /dev/null +++ b/.config/nvim/coc-settings.json @@ -0,0 +1,9 @@ +{ + "languageserver": { + "golang": { + "command": "bingo", + "rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"], + "filetypes": ["go"] + } + } +} diff --git a/.config/nvim/colors/dln-dark.vim b/.config/nvim/colors/dln-dark.vim index 9a706c9..acde81d 100644 --- a/.config/nvim/colors/dln-dark.vim +++ b/.config/nvim/colors/dln-dark.vim @@ -298,11 +298,13 @@ endfun call hi("Visual", s:cyan_a100, s:blue_900, "") call hi("Folded", s:purple_100, s:purple_900, "") call hi("NonText", s:grey_800, "", "") -call hi("Bookmark", s:black_1000, s:lime_200, "none") +call hi("Bookmark", s:black_1000, s:yellow_300, "none") call hi("Todo", s:yellow_a100, s:yellow_900, "none") -call hi("SignColumn", s:blue_grey_100, s:blue_grey_900, "") +call hi("SignColumn", s:blue_grey_100, s:black_1000, "") call hi("VertSplit", s:blue_grey_800, s:blue_grey_300, "") call hi("LineNr", s:blue_grey_700, s:black_1000, "italic") +call hi("CursorLine", "", "#171717", "") +call hi("CursorLineNR", s:blue_grey_200, s:blue_grey_900, "") call hi("Normal", s:white_1000, "", "") call hi("Bold", "", "", "bold") call hi("Italic", "", "", "italic") @@ -341,5 +343,10 @@ call hi("goDeclaration", s:deep_purple_200, "", "none") call hi("goReceiverType", s:cyan_200, "", "none") call hi("goMethodCall", s:brown_100, "", "none") call hi("goField", s:cyan_50, "", "none") -call hi("goFunctionCall", s:brown_200, "", "none") +call hi("goFunctionCall", s:blue_grey_200, "", "none") call hi("goSameId", s:lime_a400, "", "italic") +call hi("GitGutterAdd", s:light_green_500, "", "") +call hi("GitGutterChange",s:light_blue_300, "", "") +call hi("GitGutterDelete",s:yellow_300, "", "") +call hi("ALEErrorSign",s:black_1000, s:red_400, "none") +call hi("ALEWarningSign",s:orange_200, "", "none") diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index f9cdfad..0374768 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -2,56 +2,83 @@ " set rtp+=~/.vim/bundle/Vundle.vim call plug#begin('~/.local/share/nvim/plugged') -" Plugins -Plug 'VundleVim/Vundle.vim' -Plug 'acarapetis/vim-colors-github' -Plug 'airblade/vim-gitgutter' -Plug 'b4b4r07/vim-hcl' -Plug 'bazelbuild/vim-bazel' -Plug 'cespare/vim-toml' -Plug 'djoshea/vim-autoread' -Plug 'ervandew/supertab' +" Autocomplete +" Plug 'ncm2/ncm2' +" Plug 'roxma/nvim-yarp' +" Plug 'ncm2/ncm2-bufword' +" Plug 'ncm2/ncm2-tmux' +" Plug 'ncm2/ncm2-path' +" Plug 'ncm2/ncm2-go' +" Plug 'ncm2/ncm2-racer' +Plug 'neoclide/coc.nvim', {'tag': '*', 'do': { -> coc#util#install()}} + +" Plugin outside ~/.vim/plugged with post-update hook +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +Plug 'junegunn/fzf.vim' + +" Markdown +Plug 'jtratner/vim-flavored-markdown' +Plug 'tpope/vim-markdown' + +" remove trailing whitespace +Plug 'bronson/vim-trailing-whitespace' + +" comment lines out (gc in visual mode) +Plug 'tomtom/tcomment_vim' + +" Pimped out bar at the bottom of current buffer +Plug 'vim-airline/vim-airline' +Plug 'vim-airline/vim-airline-themes' + +" Golang Plug 'fatih/vim-go' -Plug 'gerw/vim-HiLinkTrace' -Plug 'godlygeek/tabular' -Plug 'google/vim-jsonnet' -Plug 'google/vim-maktaba' +Plug 'mdempsky/gocode' + +" Bazel +Plug 'bazelbuild/vim-bazel' +Plug 'bazelbuild/vim-ft-bzl' + +" Rust +Plug 'racer-rust/vim-racer' +Plug 'roxma/nvim-cm-racer' +Plug 'rust-lang/rust.vim' + +" Terraform +Plug 'b4b4r07/vim-hcl' Plug 'hashivim/vim-terraform' + +" Jsonnet filetype plugin +Plug 'google/vim-jsonnet' + +" toml +Plug 'cespare/vim-toml' + +" Plug 'ervandew/supertab' +Plug 'google/vim-maktaba' Plug 'jremmen/vim-ripgrep' Plug 'junegunn/vim-easy-align' -Plug 'junegunn/fzf' -Plug 'junegunn/fzf.vim' Plug 'junegunn/goyo.vim' -Plug 'junegunn/gv.vim' Plug 'junegunn/vim-peekaboo' Plug 'kshenoy/vim-signature' Plug 'Matt-Deacalion/vim-systemd-syntax' Plug 'NLKNguyen/papercolor-theme' -Plug 'plasticboy/vim-markdown' -Plug 'rakr/vim-one' -Plug 'rust-lang/rust.vim' -Plug 'sebdah/vim-delve' Plug 'Shougo/neosnippet.vim' Plug 'Shougo/neosnippet-snippets' -Plug 'tomtom/tcomment_vim' -Plug 'tpope/vim-fugitive' -Plug 'tyrannicaltoucan/vim-quantum' -Plug 'vim-airline/vim-airline' -Plug 'vim-airline/vim-airline-themes' -Plug 'vim-syntastic/syntastic' +" Plug 'vim-syntastic/syntastic' Plug 'w0rp/ale' -" Autocomplete -Plug 'ncm2/ncm2' -Plug 'roxma/nvim-yarp' -Plug 'ncm2/ncm2-bufword' -Plug 'ncm2/ncm2-tmux' -Plug 'ncm2/ncm2-path' -Plug 'ncm2/ncm2-go' -Plug 'ncm2/ncm2-racer' + +" Git +Plug 'airblade/vim-gitgutter' +Plug 'tpope/vim-fugitive' +Plug 'junegunn/gv.vim' call plug#end() +" language en_US +set encoding=utf8 +set ffs=unix,dos,mac + set ttimeout set ttimeoutlen=0 " set timeoutlen=150 @@ -77,6 +104,7 @@ set smartindent " Don't mess with comments set nojoinspaces set autochdir +set autoread "Reload files changed outside vim set nofoldenable " disable folding " Wordwrap @@ -98,9 +126,11 @@ set whichwrap+=<,>,h,l set wrap "" GUI -set novisualbell +set visualbell set noerrorbells set ruler +set cursorline +set guicursor=n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50 set number " line numbers set numberwidth=6 set lz " lazy redraw @@ -118,7 +148,7 @@ set wildignore=*.swp,*.bak,*.pyc,*.class set splitbelow " Preview window set splitright -" let mapleader="," +let mapleader="," "" Session let g:session_autosave = 'no' @@ -173,14 +203,14 @@ map ,H :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' let g:explHideFiles='^\.,.*\.class$,.*\.swp$,.*\.pyc$,.*\.swo$,\.DS_Store$,/tmp/v\d\d*' let g:explDetailedHelp=1 -"" Backup +"" Backup set backup set backupcopy=yes set backupdir=~/.vim/backup,~/.tmp,~/tmp,/var/tmp,/tmp" set directory=~/.vim/backup,~/.tmp,~/tmp,/var/tmp,/tmp" let myvar = strftime("%y%m%d-%H%M") let myvar = "set backupext=_". myvar -execute myvar +execute myvar au BufWritePre * let &backupext = substitute(expand("%:p"), "\/", "_", "g") set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.class,*/target/*,*/.git/*" @@ -218,13 +248,46 @@ inoremap ghw map :TComment imap -"" SCM Stuff +"" Git let g:SCMDiffCommand = "git" let VCSCommandDeleteOnHide = 1 let g:git_branch_status_nogit="" let g:git_branch_status_around="[]" let g:git_branch_status_text="" let g:git_branch_status_head_current=1 +let g:gitgutter_override_sign_column_highlight = 0 +let g:gitgutter_sign_added = '' +let g:gitgutter_sign_modified = '' +let g:gitgutter_sign_removed = '' +let g:gitgutter_sign_removed_first_line = '' +let g:gitgutter_sign_modified_removed = '' + +"" Syntastic +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_enable_signs = 1 +let g:syntastic_error_symbol = "✗" +let syntastic_style_error_symbol = "✗" +let g:syntastic_warning_symbol = "∙∙" +let syntastic_style_warning_symbol = "∙∙" + +"" ALE +let g:airline#extensions#ale#enabled = 1 +let g:ale_sign_column_always = 1 +let g:ale_sign_error = '' "     ﱥ  ﬡ  樂 +let g:ale_sign_warning = '' +" let g:ale_linters = {'go': ['gofmt']} +" let g:ale_linters = {'go': ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']} +" let g:ale_linters = {'go': ['gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']} +let g:ale_linters = {'go': ['gofmt', 'gometalinter']} +let g:go_gometalinter_options = join([ + \ '--fast' + \ ], ' ') +nmap (ale_previous_wrap) +nmap (ale_next_wrap) + "" Buffer navigation map ` :b# @@ -239,7 +302,7 @@ nmap ,/ :let @/="" "" au BufNewFile,BufRead manifest setlocal ft=json -au BufNewFile,BufRead *.aurora set filetype=python +au BufNewFile,BufRead *.aurora set filetype=python au BufNewFile,BufRead *.avdl setlocal ft=avro-idl au BufNewFile,BufRead *.avpr setlocal ft=json au BufNewFile,BufRead *.bazel setlocal ft=bzl @@ -247,13 +310,13 @@ au BufNewFile,BufRead *.cql set syntax=cql au BufNewFile,BufRead *.go setlocal ft=go au BufNewFile,BufRead *.g setlocal ft=antlr au BufNewFile,BufRead *.js set ft=javascript -au BufNewFile,BufRead *.json setfiletype json +au BufNewFile,BufRead *.json setfiletype json au BufNewFile,BufRead *.pig set filetype=pig syntax=pig -au BufNewFile,BufRead *.template setfiletype json +au BufNewFile,BufRead *.template setfiletype json au BufNewFile,BufRead *.thrift setlocal ft=thrift au BufNewFile,BufRead *.upstart set filetype=upstart au BufNewFile,BufRead *.upstart.conf set filetype=upstart -au BufNewFile,BufRead SCons* set filetype=python +au BufNewFile,BufRead SCons* set filetype=python "" JavaScript, Json let g:vim_json_syntax_conceal = 0 @@ -294,9 +357,81 @@ let g:pymode_lint = 0 let g:pymode_lint_checker = "pyflakes" " enable ncm2 for all buffers -autocmd BufEnter * call ncm2#enable_for_buffer() +" autocmd BufEnter * call ncm2#enable_for_buffer() set completeopt=noinsert,menuone,noselect + +"" COC completion + +" Use tab for trigger completion with characters ahead and navigate. +" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() +inoremap pumvisible() ? "\" : "\" + +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' +endfunction + +" Use for trigger completion. +inoremap coc#refresh() + +" Use for confirm completion, `u` means break undo chain at current position. +" Coc only does snippet and additional edit on confirm. +inoremap pumvisible() ? "\" : "\u\" + +" Use `[c` and `]c` for navigate diagnostics +nmap [c (coc-diagnostic-prev) +nmap ]c (coc-diagnostic-next) + +" Remap keys for gotos +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +" Use K for show documentation in preview window +nnoremap K :call show_documentation() + +function! s:show_documentation() + if &filetype == 'vim' + execute 'h '.expand('') + else + call CocAction('doHover') + endif +endfunction + +" Highlight symbol under cursor on CursorHold +autocmd CursorHold * silent call CocActionAsync('highlight') + +" Remap for rename current word +nmap rn (coc-rename) + +" Remap for format selected region +vmap f (coc-format-selected) +nmap f (coc-format-selected) + +augroup mygroup + autocmd! + " Setup formatexpr specified filetype(s). + autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') + " Update signature help on jump placeholder + autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') +augroup end + +" Remap for do codeAction of selected region, ex: `aap` for current paragraph +vmap a (coc-codeaction-selected) +nmap a (coc-codeaction-selected) + +" Remap for do codeAction of current line +nmap ac (coc-codeaction) +" Fix autofix problem of current line +nmap qf (coc-fix-current) + + " tags set tags=./tags;/ @@ -307,7 +442,7 @@ function! EnhanceCppSyntax() syn match cppFuncDef "::\~\?\zs\h\w*\ze([^)]*\()\s*\(const\)\?\)\?$" hi def link cppFuncDef Special endfunction -autocmd Syntax cpp call EnhanceCppSyntax() +autocmd Syntax cpp call EnhanceCppSyntax() autocmd FileType cpp setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2 " HTML @@ -340,32 +475,6 @@ let g:fzf_colors = \ 'spinner': ['fg', 'Label'], \ 'header': ['fg', 'Normal'] } -"" -"" Color theme -"" -if $TERM =~ '^xterm' - set t_Co=256 -elseif $TERM =~ '^screen' - set t_Co=256 " just guessing -elseif $TERM =~ '^rxvt' - set t_Co=256 -elseif $TERM =~ '^linux' - set t_Co=8 -else - set t_Co=16 -endif - -if &term =~ "xterm" || &term =~ "screen" || &term == "screen" - set t_Co=256 - if has("terminfo") - let &t_Sf=nr2char(27).'[3%p1%dm' - let &t_Sb=nr2char(27).'[4%p1%dm' - else - let &t_Sf=nr2char(27).'[3%dm' - let &t_Sb=nr2char(27).'[4%dm' - endif -endif - " Show syntax highlight group in the status bar map ,h :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" @@ -375,89 +484,9 @@ set background=dark let g:one_allow_italics=1 let g:PaperColor_Light_Override = { 'Background' : '#fefe00' } -let g:lightline = { - \ 'colorscheme': 'jellybeans', - \ 'active': { - \ 'left': [ [ 'mode', 'paste'], - \ [ 'fugitive', 'filename', 'modified'], - \ [ 'go'] ], - \ 'right': [ [ 'lineinfo' ], - \ [ 'percent' ], - \ [ 'fileformat', 'fileencoding', 'filetype' ] ] - \ }, - \ 'component_function': { - \ 'fileencoding': 'LightLineFileencoding', - \ 'fileformat': 'LightLineFileformat', - \ 'filename': 'LightLineFilename', - \ 'filetype': 'LightLineFiletype', - \ 'fugitive': 'LightLineFugitive', - \ 'go': 'LightLineGo', - \ 'lineinfo': 'LightLineInfo', - \ 'mode': 'LightLineMode', - \ 'modified': 'LightLineModified', - \ 'percent': 'LightLinePercent', - \ } - \ } - -function! LightLineModified() - if &filetype == "help" - return "" - elseif &modified - return "+" - elseif &modifiable - return "" - else - return "" - endif -endfunction - -function! LightLineFileformat() - return winwidth(0) > 70 ? &fileformat : '' -endfunction - -function! LightLineFiletype() - return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : '' -endfunction - -function! LightLineFileencoding() - return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc : &enc) : '' -endfunction - -function! LightLineInfo() - return winwidth(0) > 60 ? printf("%3d:%-2d", line('.'), col('.')) : '' -endfunction - -function! LightLinePercent() - return &ft =~? (100 * line('.') / line('$')) . '%' -endfunction - -function! LightLineFugitive() - return exists('*fugitive#head') ? fugitive#head() : '' -endfunction - -function! LightLineGo() - " return '' - return exists('*go#jobcontrol#Statusline') ? go#jobcontrol#Statusline() : '' -endfunction - -function! LightLineMode() - return lightline#mode() -endfunction - -function! LightLineFilename() - return expand('%:p:~') -endfunction - -function! LightLineReadonly() - return &ft !~? 'help' && &readonly ? '' : '' -endfunction - -" set statusline+=%#warningmsg# -" set statusline+=%{SyntasticStatuslineFlag()} -" set statusline+=%* " Golang -let g:go_highlight_build_constraints = 1 +let g:go_highlight_build_constraints = 1 let g:go_highlight_extra_types = 1 let g:go_highlight_fields = 1 let g:go_highlight_functions = 1 @@ -478,18 +507,6 @@ autocmd FileType go nmap i (go-info) autocmd FileType go nmap (go-doc) autocmd FileType go nmap d (go-doc-vertical) -" ALE -let g:ale_sign_column_always = 1 -" let g:ale_linters = {'go': ['gofmt']} -" let g:ale_linters = {'go': ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']} -" let g:ale_linters = {'go': ['gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']} -let g:ale_linters = {'go': ['gofmt', 'gometalinter']} -let g:ale_sign_error = '⤫' -let g:ale_sign_warning = '⚠' -let g:airline#extensions#ale#enabled = 1 -let g:go_gometalinter_options = join([ - \ '--fast' - \ ], ' ') "" Neosnippet " imap (neosnippet_expand_or_jump) @@ -510,17 +527,33 @@ let g:vim_markdown_frontmatter = 1 let g:vim_markdown_toml_frontmatter = 1 -"" Git -let g:gitgutter_override_sign_column_highlight = 0 -let g:gitgutter_sign_added = '🞥' -let g:gitgutter_sign_modified = '▲' -let g:gitgutter_sign_removed = '🞬' -let g:gitgutter_sign_removed_first_line = '🞬' -let g:gitgutter_sign_modified_removed = '🞬' "" Airline -" let g:airline#extensions#tabline#enabled = 1 -let g:airline_theme='cool' +let g:airline_theme='distinguished' +let g:airline_powerline_fonts = 1 +let g:airline_skip_empty_sections = 1 +let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]' +let g:airline_section_x = '' " Hide file type +let g:airline_section_z = "\uf0c9 %l \ufb87 %c" + let g:airline_mode_map = { + \ '__' : '-', + \ 'c' : 'C', + \ 'i' : 'I', + \ 'ic' : 'I', + \ 'ix' : 'I', + \ 'n' : "\ue62b", + \ 'ni' : "\ue62b", + \ 'no' : "\ue62b", + \ 'R' : 'R', + \ 'Rv' : 'R', + \ 's' : 'S', + \ 'S' : 'S', + \ '' : 'S', + \ 't' : 'T', + \ 'v' : 'V', + \ 'V' : 'V', + \ '' : 'V', + \ } "" Terminal @@ -532,17 +565,7 @@ let &t_8b = "[48;2;%lu;%lu;%lum" " color dln-light color dln-dark -" highlight LineNr ctermfg=31 ctermbg=234 cterm=italic -" highlight CursorLine ctermfg=159 ctermbg=24 -" highlight SignColumn ctermbg=234 -" highlight Search ctermbg=237 ctermfg=none cterm=none - -highlight GitGutterAdd ctermbg=234 ctermfg=58 -highlight GitGutterChange ctermbg=234 ctermfg=220 -highlight GitGutterDelete ctermbg=234 ctermfg=124 -highlight GitGutterChangeDelete ctermbg=234 ctermfg=88 - -map ,l :color dln-light +map ,l :color dln-dark let s:hidden_all = 1 set noshowmode diff --git a/.config/rofi/config b/.config/rofi/config index 434042c..d9b3122 100644 --- a/.config/rofi/config +++ b/.config/rofi/config @@ -1,2 +1,2 @@ rofi.font: IBM Plex Sans 16 -rofi.dpi: 240 +rofi.dpi: 210 diff --git a/.tmux.conf b/.tmux.conf index 600367a..3f06167 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -51,6 +51,7 @@ bind -n M-7 select-window -t 7 bind -n M-8 select-window -t 8 bind -n M-9 select-window -t 9 bind -n M-0 select-window -t 10 +bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m bind 1 select-window -t 1 bind 2 select-window -t 2 bind 3 select-window -t 3 @@ -87,10 +88,12 @@ setw -g window-status-format "" setw -g window-status-current-format "#W" setw -g window-status-separator "" -set -g status-fg "#aaaaaa" -set -g status-bg "#222222" -set -g status-left '#[bg=#114400,fg=#77aa22] #I #[bg=#334455,fg=#7799aa] #h #[default] ' -set -g status-right '#[fg=#666666]|#[bg=#222222,fg=#99cc99] #{?#(tmux show-buffer -b project),#(tmux show-buffer -b project),-} #[bg=#222222,fg=#666666]| #{battery_percentage} #{battery_remain} | #(date +"%R") ' +set -g status-fg "#6699aa" +set -g status-bg "#1a2a3a" +set -g status-left '#[bg=#0055aa,fg=#aabbcc] #I #[default] ' +# set -g status-right '#[fg=#666666]|#[bg=#222222,fg=#99cc99] #{?#(tmux show-buffer -b project),#(tmux show-buffer -b project),-} #[bg=#222222,fg=#666666]| #{battery_percentage} #{battery_remain} |  %a %h-%d %H:%M | #(date +"%R") ' + +set -g status-right '#{battery_icon} #{battery_percentage}  %a %h-%d %H:%M ' if-shell '[[ $(hostname) = "dredd" ]]' 'set -g status-left "#[bg=#114400,fg=#77aa22] #I #[bg=#0055aa,fg=#aabbcc] #h #[default] "' if-shell '[[ $(hostname) != "dredd" ]]' 'set -g status-left "#[bg=#114400,fg=#77aa22] #I #[bg=#339900,fg=#000000] #h #[default] "' diff --git a/.zshrc b/.zshrc index e0d8d61..0bbef0c 100644 --- a/.zshrc +++ b/.zshrc @@ -267,3 +267,7 @@ alias xc='xclip -selection clipboard' + +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh + +export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH" diff --git a/bin/lp-login b/bin/lp-login index aad0243..e789163 100755 --- a/bin/lp-login +++ b/bin/lp-login @@ -1,4 +1,4 @@ #!/bin/bash lpass login --trust dln@eintr.org lp-ssh-add ssh/id_rsa -lp-ssh-add ssh/id_rsa_seed_infra +lp-ssh-add ssh/id_rsa_embark diff --git a/bin/st b/bin/st deleted file mode 120000 index d9f2155..0000000 --- a/bin/st +++ /dev/null @@ -1 +0,0 @@ -st.dark \ No newline at end of file diff --git a/bin/st.dark b/bin/st.dark deleted file mode 100755 index 405d85ef31c2705dbd6f3c9b3c97a5d7ee37e3b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96032 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 VCe*Whr%Q5jF(`InZ`Tb1{|7pXl~(`&