April 2021 updates

This commit is contained in:
Salar Rahmanian 2021-04-11 11:19:06 -07:00
parent fafec1cef5
commit d185464570

179
home.nix
View file

@ -22,6 +22,27 @@
VISUAL = "$EDITOR"; VISUAL = "$EDITOR";
}; };
programs.bat = {
enable = true;
};
programs.fzf = {
enable = true;
enableFishIntegration = true;
};
programs.direnv = {
enable = true;
enableFishIntegration = true;
enableNixDirenvIntegration = true;
};
programs.gh = {
enable = true;
editor = "nvim";
gitProtocol = "ssh";
};
programs.git = { programs.git = {
enable = true; enable = true;
userEmail = "code@softinio.com"; userEmail = "code@softinio.com";
@ -45,6 +66,7 @@
core = { core = {
editor = "nvim"; editor = "nvim";
}; };
github.user = "softinio";
merge.tool = "intellij"; merge.tool = "intellij";
mergetool = { mergetool = {
cmd = "idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""; cmd = "idea merge \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"";
@ -67,27 +89,6 @@
}; };
}; };
programs.bat = {
enable = true;
};
programs.fzf = {
enable = true;
enableFishIntegration = true;
};
programs.direnv = {
enable = true;
enableFishIntegration = true;
enableNixDirenvIntegration = true;
};
programs.gh = {
enable = true;
editor = "nvim";
gitProtocol = "ssh";
};
programs.htop = { programs.htop = {
enable = true; enable = true;
sortDescending = true; sortDescending = true;
@ -115,11 +116,15 @@
ack-vim ack-vim
auto-pairs auto-pairs
coc-nvim coc-nvim
coc-java
coc-json coc-json
coc-metals
coc-python coc-python
coc-tabnine coc-tabnine
fzf-vim fzf-vim
lightline-vim lightline-vim
nerdtree
nerdtree-git-plugin
rainbow rainbow
seoul256-vim seoul256-vim
vim-fugitive vim-fugitive
@ -127,13 +132,25 @@
vim-polyglot vim-polyglot
]; ];
extraConfig = '' extraConfig = ''
set directory=$HOME/.vim/swapfiles/swap//
set undodir=~/.vim/swapfiles/undo//
set backupdir=~/.vim/swapfiles/backup//
" Make those folders automatically if they don't already exist.
if !isdirectory(expand(&undodir))
call mkdir(expand(&undodir), "p")
endif
if !isdirectory(expand(&backupdir))
call mkdir(expand(&backupdir), "p")
endif
if !isdirectory(expand(&directory))
call mkdir(expand(&directory), "p")
endif
set t_Co=256 set t_Co=256
set encoding=utf-8 set encoding=utf-8
syntax on syntax on
set expandtab set expandtab
set hidden set hidden
set showmatch set showmatch
set textwidth=150
set colorcolumn=120 set colorcolumn=120
set cursorcolumn set cursorcolumn
set cursorline set cursorline
@ -226,11 +243,42 @@
\ }, \ },
\ } \ }
" Nerdtree Configuration
let NERDTreeIgnore=['\.pyc$', '\~$', 'target'] "ignore files in NERDTree
let NERDTreeRespectWildIgnore=1
let NERDTreeQuitOnOpen=1
map <leader>m :NERDTreeToggle<CR>
" jump back to nerdtree
map <leader>n :NERDTree<CR>
" reveal in side bar
map <leader>e :NERDTreeFind<CR>
let NERDTreeShowHidden=1
"nerdtree-git-plugin
let g:NERDTreeGitStatusIndicatorMapCustom= {
\ "Modified" : "",
\ "Staged" : "",
\ "Untracked" : "",
\ "Renamed" : "",
\ "Unmerged" : "",
\ "Deleted" : "",
\ "Dirty" : "",
\ "Clean" : "",
\ "Unknown" : "?"
\ }
" Switch to previous buffer mapped to tab
function SwitchBuffer()
b#
endfunction
nmap <A-Tab> :call SwitchBuffer()<CR>
" split-term
let g:split_term_default_shell = "fish"
let g:split_term_vertical = 1
" START Configuration for coc.nvim " START Configuration for coc.nvim
" -------------------------------- " --------------------------------
set nobackup
set nowritebackup
" Better display for messages " Better display for messages
set cmdheight=2 set cmdheight=2
@ -313,6 +361,59 @@
" Fix autofix problem of current line " Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current) nmap <leader>qf <Plug>(coc-fix-current)
" Create mappings for function text object, requires document symbols feature of languageserver.
xmap if <Plug>(coc-funcobj-i)
xmap af <Plug>(coc-funcobj-a)
omap if <Plug>(coc-funcobj-i)
omap af <Plug>(coc-funcobj-a)
" Use <TAB> for select selections ranges, needs server support, like: coc-tsserver, coc-python
nmap <silent> <TAB> <Plug>(coc-range-select)
xmap <silent> <TAB> <Plug>(coc-range-select)
" Use `:Format` to format current buffer
command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Using CocList
" Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR>
" Notify coc.nvim that <enter> has been pressed.
" Currently used for the formatOnType feature.
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" Toggle panel with Tree Views
nnoremap <silent> <space>t :<C-u>CocCommand metals.tvp<CR>
" Toggle Tree View 'metalsBuild'
nnoremap <silent> <space>tb :<C-u>CocCommand metals.tvp metalsBuild<CR>
" Toggle Tree View 'metalsCompile'
nnoremap <silent> <space>tc :<C-u>CocCommand metals.tvp metalsCompile<CR>
" Reveal current current class (trait or object) in Tree View 'metalsBuild'
nnoremap <silent> <space>tf :<C-u>CocCommand metals.revealInTreeView metalsBuild<CR>
nmap <Leader>ws <Plug>(coc-metals-expand-decoration)
''; '';
}; };
@ -363,7 +464,7 @@
fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh fenv source $HOME/.nix-profile/etc/profile.d/hm-session-vars.sh
end end
set -xg PATH $HOME/.emacs.d/bin /opt/local/bin $HOME/bin $PATH set -xg PATH $HOME/bin $PATH
set -xg JAVA_HOME /Users/salar/.nix-profile/bin set -xg JAVA_HOME /Users/salar/.nix-profile/bin
@ -395,6 +496,7 @@
grep="grep --color=auto"; grep="grep --color=auto";
new-sbt="sbt new scala/scala-seed.g8"; new-sbt="sbt new scala/scala-seed.g8";
nixre="home-manager switch"; nixre="home-manager switch";
nixedit="home-manager edit";
nixgc="nix-collect-garbage -d"; nixgc="nix-collect-garbage -d";
nixq="nix-env -qa"; nixq="nix-env -qa";
nixupdate="nix-channel --update"; nixupdate="nix-channel --update";
@ -403,15 +505,8 @@
nixversion="nix eval nixpkgs.lib.version"; nixversion="nix eval nixpkgs.lib.version";
nixdaemon="sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && launchctl start org.nixos.nix-daemon"; nixdaemon="sudo launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist && launchctl start org.nixos.nix-daemon";
v="nvim"; v="nvim";
e="$HOME/bin/run-emacsclient-cli";
ew="$HOME/bin/run-emacsclient";
tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml"; tabninecfg="vc /Users/salar/Library/Preferences/TabNine/TabNine.toml";
sshfre1="ssh salar@fre1.softinio.net"; sshfre1="ssh salar@fre1.softinio.net";
moshfre1="mosh salar@fre1.softinio.net";
sshls1="ssh -i pem/LightsailDefaultKey-us-west-2.pem admin@52.42.3.248";
portsupdate="sudo port -v selfupdate";
emacsload="launchctl load -w ~/Library/LaunchAgents/gnu.emacs.daemon.plist";
emacsunload="launchctl unload ~/Library/LaunchAgents/gnu.emacs.daemon.plist";
}; };
}; };
@ -421,17 +516,11 @@
end end
''; '';
nixpkgs.overlays = [
(import (builtins.fetchTarball https://github.com/nix-community/emacs-overlay/archive/master.tar.gz))
];
home.packages = [ home.packages = [
pkgs.awscli pkgs.awscli
pkgs.pgcli pkgs.pgcli
pkgs.tig pkgs.tig
pkgs.ripgrep pkgs.ripgrep
pkgs.go
pkgs.hugo pkgs.hugo
pkgs.jansson pkgs.jansson
pkgs.universal-ctags pkgs.universal-ctags
@ -443,25 +532,16 @@
pkgs.readline pkgs.readline
pkgs.tree pkgs.tree
pkgs.exa pkgs.exa
pkgs.mosh
pkgs.yarn
pkgs.openssl pkgs.openssl
pkgs.xz pkgs.xz
pkgs.gitAndTools.hub
pkgs.gitAndTools.diff-so-fancy pkgs.gitAndTools.diff-so-fancy
pkgs.nodejs-12_x
pkgs.rustup
pkgs.jdk11
pkgs.mdbook
pkgs.ranger pkgs.ranger
pkgs.gnupg pkgs.gnupg
pkgs.exercism
pkgs.niv pkgs.niv
pkgs.ffmpeg pkgs.ffmpeg
pkgs.gradle pkgs.gradle
pkgs.maven pkgs.maven
pkgs.procs pkgs.procs
pkgs.emacsUnstable
pkgs.shellcheck pkgs.shellcheck
pkgs.cabal-install pkgs.cabal-install
pkgs.hlint pkgs.hlint
@ -483,7 +563,8 @@
pkgs.tealdeer pkgs.tealdeer
pkgs.hyperfine pkgs.hyperfine
pkgs.graphviz pkgs.graphviz
pkgs.metals
pkgs.neofetch pkgs.neofetch
pkgs.adoptopenjdk-openj9-bin-16
pkgs.vscodium
]; ];
} }