MOVQVOTH2V43VZF7OVQ4MB2KN47YBAZ4KTPH7L4COKGFH5T7SQ3AC
O5XDU5KPK72PHTH2JTZWQS7MIVYCWID7PTE54KS4QW2KDZJCCAJAC
6CNWWJTYO65W6ZXI2TYXYFGR77HKAPGKOPULJANYBRFBXJ6WKFIAC
KNX4AWHRZH53FW6ME7AYJ425QX7GG3UKB2LER7ZPSX2BFAODAFKAC
GESPFUP5JB2WKOV3T4MRCRUPQLZDLYXLHGXZUY22XU7NBRZXXNGAC
XWDYSQGRZY2ALY4IS7RJNLNDAKKTLSPMHJTRNQ4NAPVTCCVQOKRAC
LWJLYBQOQONVNSVFUO23FAAP3MF6XIWU23UKIAIPYOILKHEWSFMQC
POHY75757KMHNN7QRU72S4WL5TJJ7QQORFWJ7GHW7CRPF4WKX5IAC
XIIYDWGW2GDYKULGYAJ5D7E7SHO27CSJPUIXJUAPP5UCFRAKCK4AC
GGKSPLOM4NMOFIKWY5DUIYUL7QFU4UQ54GWS2ER7Z3R3YW4SKVRQC
EQIYV4GQF2HJB6AGRGBCSBZSETC7EZ2SOZOMYFRNNN7RODZ5EQ3QC
G6GWFTD3M6THJCKWVHBN3P63J75C4EC5SUNMQ5TFHPD4PPFFPG4QC
pkgs:
{
enable = true;
vimAlias = true;
withPython = true;
withNodeJs = true;
plugins = with pkgs.vimPlugins; [
coc-nvim
auto-pairs
lightline-vim
vim-highlightedyank
vim-rooter
fzf-vim
base16-vim
typescript-vim
vim-nix
#vim-jsx-typescript
#vim-floaterm
];
extraConfig = ''
set nocompatible
set shell=/bin/bash
set hidden
set number relativenumber
set showcmd
set incsearch
set hlsearch
set shiftwidth=4
set tabstop=4
let mapleader=" "
pkgs: {
enable = true;
vimAlias = true;
withPython = true;
withNodeJs = true;
plugins = with pkgs.vimPlugins; [
coc-nvim
auto-pairs
lightline-vim
vim-highlightedyank
vim-rooter
fzf-vim
base16-vim
typescript-vim
vim-nix
#vim-jsx-typescript
#vim-floaterm
];
extraConfig = ''
set nocompatible
set shell=/bin/bash
set hidden
set number relativenumber
set showcmd
set incsearch
set hlsearch
set shiftwidth=4
set tabstop=4
let mapleader=" "
"COC
set cmdheight=2
set updatetime=300
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
nmap <silent> gd <Plug>(coc-definition)
" Remap for do codeAction of selected region
function! s:cocActionsOpenFromSelected(type) abort
execute 'CocCommand actions.open ' . a:type
endfunction
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
xmap <silent> <leader>a :<C-u>execute 'CocCommand actions.open ' . visualmode()<CR>
nmap <silent> <leader>a :<C-u>set operatorfunc=<SID>cocActionsOpenFromSelected<CR>
command! -nargs=0 Format :call CocAction('format')
autocmd BufWritePre * :Format
let g:coc_global_extensions=[ 'coc-omnisharp', 'coc-rust-analyzer', 'coc-go', 'coc-actions', 'coc-tsserver', 'coc-emmet', 'coc-css', 'coc-tsserver', 'coc-prettier']
"FZF
let $FZF_DEFAULT_COMMAND = "rg --files"
let $FZF_DEFAULT_OPTS=' --color=dark --color=fg:15,bg:-1,hl:1,fg+:#ffffff,bg+:#343D46,hl+:1 --color=info:0,prompt:0,pointer:12,marker:4,spinner:11,header:-1 --layout=reverse --margin=1,4'
let g:fzf_layout = { 'window': 'call FloatingFZF()' }
function! FloatingFZF()
let buf = nvim_create_buf(v:false, v:true)
call setbufvar(buf, '&signcolumn', 'no')
let height = float2nr(12)
let width = float2nr(80)
let horizontal = float2nr((&columns - width) / 2)
let vertical = 1
let opts = {
\ 'relative': 'editor',
\ 'row': vertical,
\ 'col': horizontal,
\ 'width': width,
\ 'height': height,
\ 'style': 'minimal'
\ }
"COC
set cmdheight=2
set updatetime=300
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
nmap <silent> gd <Plug>(coc-definition)
" Remap for do codeAction of selected region
function! s:cocActionsOpenFromSelected(type) abort
execute 'CocCommand actions.open ' . a:type
endfunction
call nvim_open_win(buf, v:true, opts)
endfunction
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
xmap <silent> <leader>a :<C-u>execute 'CocCommand actions.open ' . visualmode()<CR>
nmap <silent> <leader>a :<C-u>set operatorfunc=<SID>cocActionsOpenFromSelected<CR>
command! -nargs=0 Format :call CocAction('format')
autocmd BufWritePre * :Format
let g:coc_global_extensions=[ 'coc-omnisharp', 'coc-rust-analyzer', 'coc-go', 'coc-actions', 'coc-tsserver', 'coc-emmet', 'coc-css', 'coc-tsserver', 'coc-prettier']
"FZF
let $FZF_DEFAULT_COMMAND = "rg --files"
let $FZF_DEFAULT_OPTS=' --color=dark --color=fg:15,bg:-1,hl:1,fg+:#ffffff,bg+:#343D46,hl+:1 --color=info:0,prompt:0,pointer:12,marker:4,spinner:11,header:-1 --layout=reverse --margin=1,4'
let g:fzf_layout = { 'window': 'call FloatingFZF()' }
function! FloatingFZF()
let buf = nvim_create_buf(v:false, v:true)
call setbufvar(buf, '&signcolumn', 'no')
let height = float2nr(12)
let width = float2nr(80)
let horizontal = float2nr((&columns - width) / 2)
let vertical = 1
let opts = {
\ 'relative': 'editor',
\ 'row': vertical,
\ 'col': horizontal,
\ 'width': width,
\ 'height': height,
\ 'style': 'minimal'
\ }
call nvim_open_win(buf, v:true, opts)
endfunction
"BASE16
let base16colorspace=256 " Access colors present in 256 colorspace
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
set guifont=FiraCode:h12
nnoremap <c-t> :FloatermToggle <CR>
nnoremap <silent> ; :call fzf#vim#files('.', {'options': '--prompt ""'})<CR> nnoremap <silent> <leader>b :Buffers<CR>
noremap <c-c> <esc>
'';
"BASE16
let base16colorspace=256 " Access colors present in 256 colorspace
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
set guifont=FiraCode:h12
nnoremap <c-t> :FloatermToggle <CR>
nnoremap <silent> ; :call fzf#vim#files('.', {'options': '--prompt ""'})<CR> nnoremap <silent> <leader>b :Buffers<CR>
noremap <c-c> <esc>
'';
config = {
bars = [];
colors = {
focused = {
border = "#81c1e4";
background = "#81c1e4";
text = "#FFFFFF";
indicator = "#2e9ef4";
childBorder = "#81c1e4";
};
focusedInactive = {
border = "#282a36";
background = "#282a36";
text = "#999999";
indicator = "#484e50";
childBorder = "#282a36";
};
unfocused = {
border = "#282a36";
background = "#282a36";
text = "#999999";
indicator = "#282a36";
childBorder = "#282a36";
};
urgent = {
border = "#FF0000";
background = "#8C5665";
text = "#FF0000";
indicator = "#900000";
childBorder = "#FF0000";
};
config = {
bars = [ ];
colors = {
focused = {
border = "#81c1e4";
background = "#81c1e4";
text = "#FFFFFF";
indicator = "#2e9ef4";
childBorder = "#81c1e4";
fonts = [ "Source Code Pro 9" ];
output = {
"*" = {
bg = "\"${dots + "/wallpaper.png"}\" fill";
};
"eDP-1" = {
pos = "0 0";
res = "1920x1080";
};
"HDMI-A-1" = {
pos = "1920 0";
res = "1920x1080";
};
focusedInactive = {
border = "#282a36";
background = "#282a36";
text = "#999999";
indicator = "#484e50";
childBorder = "#282a36";
input = {
"1133:16489:Logitech_MX_Master_2S" = {
#disable mouse acceleration
pointer_accel = "-1";
};
unfocused = {
border = "#282a36";
background = "#282a36";
text = "#999999";
indicator = "#282a36";
childBorder = "#282a36";
gaps = {
inner = 5;
outer = 10;
bottom = 0;
smartBorders = "on";
urgent = {
border = "#FF0000";
background = "#8C5665";
text = "#FF0000";
indicator = "#900000";
childBorder = "#FF0000";
inherit modifier;
terminal = "alacritty";
workspaceAutoBackAndForth = true;
keybindings = lib.mkOptionDefault {
"${modifier}+n" = "exec caja";
"${modifier}+m" = "exec \"GDK_BACKEND=x11 thunderbird\"";
"${modifier}+c" = "exec firefox";
#"${modifier}+p" = "exec ${scripts + "/take_screenshot"}";
#"${modifier}+Shift+p" = "exec ${scripts + "/take_screenshot"} full";
#"XF86MonBrightnessUp" = "exec \"brillo -A 1\"";
#"XF86MonBrightnessDown" = "exec \"brillo -U 1\"";
#"XF86AudioLowerVolume" = "exec \"pactl set-sink-volume 0 -5%\"";
#"XF86AudioRaiseVolume" = "exec \"pactl set-sink-volume 0 +5%\"";
#"XF86AudioPlay" = "exec \"playerctl play\"";
#"XF86AudioPause" = "exec \"playerctl pause\"";
#"XF86AudioNext" = "exec \"playerctl next\"";
#"XF86AudioPrev" = "exec \"playerctl previous\"";
#"${modifier}+x" = "exec networkmanager_dmenu";
#"${modifier}+Ctrl+r" = "exec reboot";
"${modifier}+Ctrl+d" = "exec \"shutdown -h now\"";
};
fonts = [ "Source Code Pro 9" ];
output = {
"*" = { bg = ''"${dots + "/wallpaper.png"}" fill''; };
"eDP-1" = {
pos = "0 0";
res = "1920x1080";
};
"HDMI-A-1" = {
pos = "1920 0";
res = "1920x1080";
startup = [
#{ command = "dropbox start"; always = true; }
{ command = "mako"; always = true; }
{ command = "waybar"; always = true; }
];
};
gaps = {
inner = 5;
outer = 10;
bottom = 0;
smartBorders = "on";
};
inherit modifier;
terminal = "alacritty";
workspaceAutoBackAndForth = true;
keybindings = lib.mkOptionDefault {
"${modifier}+n" = "exec caja";
"${modifier}+m" = ''exec "GDK_BACKEND=x11 thunderbird"'';
"${modifier}+c" = "exec firefox";
#"${modifier}+p" = "exec ${scripts + "/take_screenshot"}";
#"${modifier}+Shift+p" = "exec ${scripts + "/take_screenshot"} full";
#"XF86MonBrightnessUp" = "exec \"brillo -A 1\"";
#"XF86MonBrightnessDown" = "exec \"brillo -U 1\"";
#"XF86AudioLowerVolume" = "exec \"pactl set-sink-volume 0 -5%\"";
#"XF86AudioRaiseVolume" = "exec \"pactl set-sink-volume 0 +5%\"";
#"XF86AudioPlay" = "exec \"playerctl play\"";
#"XF86AudioPause" = "exec \"playerctl pause\"";
#"XF86AudioNext" = "exec \"playerctl next\"";
#"XF86AudioPrev" = "exec \"playerctl previous\"";
#"${modifier}+x" = "exec networkmanager_dmenu";
#"${modifier}+Ctrl+r" = "exec reboot";
"${modifier}+Ctrl+d" = ''exec "shutdown -h now"'';
};
window = {
border = 1;
titlebar = false;
extensions = with pkgs.vscode-extensions; [
bbenoist.Nix
#matklad.rust-analyzer
ms-vscode.cpptools
vscodevim.vim
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name="rust-analyzer";
publisher="matklad";
version="0.2.297";
sha256 = "0pj29k5pm1p7f987x9rjd0pks552fxvjv72dscxsk84svl132s0f";
}
{
name="cmake-tools";
publisher="ms-vscode";
version="1.4.2";
sha256 = "1azjqd5w14q1h8z6cib4lwyk3h9hl1lzzrnc150inn0c7v195qcl";
}
{
name="CMake";
publisher="twxs";
version="0.0.17";
sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
}
];
vscode = pkgs.vscode-with-extensions.override {
vscodeExtensions = extensions;
};
in
{
home.packages = [
vscode
];
}
extensions = with pkgs.vscode-extensions;
[
bbenoist.Nix
#matklad.rust-analyzer
ms-vscode.cpptools
vscodevim.vim
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "rust-analyzer";
publisher = "matklad";
version = "0.2.297";
sha256 = "0pj29k5pm1p7f987x9rjd0pks552fxvjv72dscxsk84svl132s0f";
}
{
name = "cmake-tools";
publisher = "ms-vscode";
version = "1.4.2";
sha256 = "1azjqd5w14q1h8z6cib4lwyk3h9hl1lzzrnc150inn0c7v195qcl";
}
{
name = "CMake";
publisher = "twxs";
version = "0.0.17";
sha256 = "11hzjd0gxkq37689rrr2aszxng5l9fwpgs9nnglq3zhfa1msyn08";
}
];
vscode =
pkgs.vscode-with-extensions.override { vscodeExtensions = extensions; };
in { home.packages = [ vscode ]; }
{config, ...}:
let
inherit (config) dots;
in
{
xdg.configFile."waybar/style.css".text = builtins.readFile (dots + "/waybar/style.css");
xdg.configFile."waybar/config".text = builtins.readFile (dots + "/waybar/config");
{ config, ... }:
let inherit (config) dots;
in {
xdg.configFile."waybar/style.css".text =
builtins.readFile (dots + "/waybar/style.css");
xdg.configFile."waybar/config".text =
builtins.readFile (dots + "/waybar/config");