Various updates
parent
ed1daf5d72
commit
f104978e38
|
@ -0,0 +1,81 @@
|
||||||
|
let SessionLoad = 1
|
||||||
|
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
|
||||||
|
let v:this_session=expand("<sfile>:p")
|
||||||
|
silent only
|
||||||
|
cd ~/dotfiles.nix
|
||||||
|
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
|
||||||
|
let s:wipebuf = bufnr('%')
|
||||||
|
endif
|
||||||
|
set shortmess=aoO
|
||||||
|
badd +28 home.nix
|
||||||
|
badd +1 assets/i3status.toml
|
||||||
|
badd +66 assets/i3status-cfg
|
||||||
|
argglobal
|
||||||
|
silent! argdel *
|
||||||
|
$argadd home.nix
|
||||||
|
edit assets/i3status-cfg
|
||||||
|
set splitbelow splitright
|
||||||
|
wincmd _ | wincmd |
|
||||||
|
vsplit
|
||||||
|
1wincmd h
|
||||||
|
wincmd w
|
||||||
|
set nosplitright
|
||||||
|
wincmd t
|
||||||
|
set winminheight=0
|
||||||
|
set winheight=1
|
||||||
|
set winminwidth=0
|
||||||
|
set winwidth=1
|
||||||
|
exe 'vert 1resize ' . ((&columns * 66 + 66) / 133)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 66 + 66) / 133)
|
||||||
|
argglobal
|
||||||
|
setlocal fdm=manual
|
||||||
|
setlocal fde=0
|
||||||
|
setlocal fmr={{{,}}}
|
||||||
|
setlocal fdi=#
|
||||||
|
setlocal fdl=0
|
||||||
|
setlocal fml=1
|
||||||
|
setlocal fdn=20
|
||||||
|
setlocal fen
|
||||||
|
silent! normal! zE
|
||||||
|
let s:l = 66 - ((23 * winheight(0) + 14) / 29)
|
||||||
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
|
exe s:l
|
||||||
|
normal! zt
|
||||||
|
66
|
||||||
|
normal! 0
|
||||||
|
wincmd w
|
||||||
|
argglobal
|
||||||
|
if bufexists('assets/i3status.toml') | buffer assets/i3status.toml | else | edit assets/i3status.toml | endif
|
||||||
|
setlocal fdm=manual
|
||||||
|
setlocal fde=0
|
||||||
|
setlocal fmr={{{,}}}
|
||||||
|
setlocal fdi=#
|
||||||
|
setlocal fdl=0
|
||||||
|
setlocal fml=1
|
||||||
|
setlocal fdn=20
|
||||||
|
setlocal fen
|
||||||
|
silent! normal! zE
|
||||||
|
let s:l = 39 - ((26 * winheight(0) + 14) / 29)
|
||||||
|
if s:l < 1 | let s:l = 1 | endif
|
||||||
|
exe s:l
|
||||||
|
normal! zt
|
||||||
|
39
|
||||||
|
normal! 011|
|
||||||
|
wincmd w
|
||||||
|
2wincmd w
|
||||||
|
exe 'vert 1resize ' . ((&columns * 66 + 66) / 133)
|
||||||
|
exe 'vert 2resize ' . ((&columns * 66 + 66) / 133)
|
||||||
|
tabnext 1
|
||||||
|
if exists('s:wipebuf') && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal'
|
||||||
|
silent exe 'bwipe ' . s:wipebuf
|
||||||
|
endif
|
||||||
|
unlet! s:wipebuf
|
||||||
|
set winheight=1 winwidth=20 winminheight=1 winminwidth=1 shortmess=filnxtToOF
|
||||||
|
let s:sx = expand("<sfile>:p:r")."x.vim"
|
||||||
|
if file_readable(s:sx)
|
||||||
|
exe "source " . fnameescape(s:sx)
|
||||||
|
endif
|
||||||
|
let &so = s:so_save | let &siso = s:siso_save
|
||||||
|
doautoall SessionLoadPost
|
||||||
|
unlet SessionLoad
|
||||||
|
" vim: set ft=vim :
|
Binary file not shown.
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 23 KiB |
|
@ -37,7 +37,7 @@ block = "sound"
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "time"
|
block = "time"
|
||||||
interval = 60
|
interval = 60
|
||||||
format = "%a %m/%d %R"
|
format = "%a %m/%d %I:%M%P"
|
||||||
|
|
||||||
[[block]]
|
[[block]]
|
||||||
block = "battery"
|
block = "battery"
|
||||||
|
|
|
@ -0,0 +1,75 @@
|
||||||
|
syntax on
|
||||||
|
filetype plugin indent on
|
||||||
|
set cursorline "highlight current line
|
||||||
|
set showmatch "highlight matching [{()}]
|
||||||
|
set tabstop=2 "number of visual spaces per TAB when reading
|
||||||
|
set softtabstop=2 "number of spaces per TAB when editing
|
||||||
|
set expandtab "tabs are spaces
|
||||||
|
set shiftwidth=2 "indents
|
||||||
|
set ww=<,>,[,] "wrap
|
||||||
|
set splitbelow "split underneath
|
||||||
|
set splitright "split to the right
|
||||||
|
|
||||||
|
command Mks NERDTreeClose | mksession!
|
||||||
|
command Term split | term
|
||||||
|
command Vterm vsplit | term
|
||||||
|
|
||||||
|
"command Hsfmt mark H | %!./styler.sh | if v:shell_error | undo | else | `H | delm H | endif
|
||||||
|
|
||||||
|
"save readonly
|
||||||
|
cmap w!! w !sudo tee >/dev/null %
|
||||||
|
"terminal exit
|
||||||
|
tnoremap <Esc> <C-\><C-n><CR>
|
||||||
|
"nohl
|
||||||
|
nnoremap <silent> ,<space> :nohlsearch<CR>
|
||||||
|
|
||||||
|
colorscheme Tomorrow-Night-Eighties
|
||||||
|
|
||||||
|
let g:lightline = {'colorscheme': 'jellybeans'}
|
||||||
|
|
||||||
|
"cursor saving
|
||||||
|
autocmd BufReadPost * if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
||||||
|
|
||||||
|
"nerdtree
|
||||||
|
"show hidden files
|
||||||
|
let NERDTreeShowHidden=1
|
||||||
|
"open on vim open
|
||||||
|
"autocmd vimenter * NERDTree
|
||||||
|
"switch to editing window
|
||||||
|
"autocmd vimenter * wincmd p
|
||||||
|
"close if only nerdtree is left
|
||||||
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||||
|
"show/hide nerdtree
|
||||||
|
nnoremap <silent> <c-b> :NERDTreeToggle<CR>
|
||||||
|
|
||||||
|
"LSP support
|
||||||
|
set hidden
|
||||||
|
let g:LanguageClient_rootMarkers = ['*.cabal', 'stack.yaml']
|
||||||
|
let g:LanguageClient_serverCommands = {
|
||||||
|
\ 'haskell': ['ghcide', '--lsp'],
|
||||||
|
\ }
|
||||||
|
let g:LanguageClient_preferredMarkupKind = ['plaintext']
|
||||||
|
let g:LanguageClient_completionPreferTextEdit = 1
|
||||||
|
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
|
||||||
|
nnoremap <silent> f :call LanguageClient#textDocument_rangeFormatting()<CR>
|
||||||
|
nnoremap <silent> F :call LanguageClient#textDocument_formatting()<CR>
|
||||||
|
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
|
||||||
|
nnoremap <silent> gr :call LanguageClient#textDocument_references()<CR>
|
||||||
|
set cmdheight=2
|
||||||
|
set updatetime=300
|
||||||
|
set signcolumn=yes
|
||||||
|
|
||||||
|
"NCM2
|
||||||
|
autocmd bufenter * call ncm2#enable_for_buffer()
|
||||||
|
au User Ncm2PopupOpen set completeopt=noinsert,menuone,noselect
|
||||||
|
au User Ncm2PopupClose set completeopt=menuone
|
||||||
|
set shortmess+=c
|
||||||
|
" CTRL-C doesn't trigger the InsertLeave autocmd . map to <ESC> instead.
|
||||||
|
inoremap <c-c> <ESC>
|
||||||
|
" When the <Enter> key is pressed while the popup menu is visible, it only
|
||||||
|
" hides the menu. Use this mapping to close the menu and also start a new
|
||||||
|
" line.
|
||||||
|
inoremap <expr> <CR> (pumvisible() ? "\<c-y>\<cr>" : "\<CR>")
|
||||||
|
" Use <TAB> to select the popup menu:
|
||||||
|
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||||
|
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
|
@ -0,0 +1,21 @@
|
||||||
|
background #000000
|
||||||
|
foreground #e9e9e9
|
||||||
|
cursor #e9e9e9
|
||||||
|
selection_background #424242
|
||||||
|
color0 #000000
|
||||||
|
color8 #000000
|
||||||
|
color1 #d44d53
|
||||||
|
color9 #d44d53
|
||||||
|
color2 #b9c949
|
||||||
|
color10 #b9c949
|
||||||
|
color3 #e6c446
|
||||||
|
color11 #e6c446
|
||||||
|
color4 #79a6da
|
||||||
|
color12 #79a6da
|
||||||
|
color5 #c396d7
|
||||||
|
color13 #c396d7
|
||||||
|
color6 #70c0b1
|
||||||
|
color14 #70c0b1
|
||||||
|
color7 #fffefe
|
||||||
|
color15 #fffefe
|
||||||
|
selection_foreground #000000
|
|
@ -1,12 +1,8 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://ghcide-nix.cachix.org" ];
|
||||||
"https://ghcide-nix.cachix.org"
|
|
||||||
];
|
|
||||||
binaryCachePublicKeys = [
|
binaryCachePublicKeys = [
|
||||||
"ghcide-nix.cachix.org-1:ibAY5FD+XWLzbLr8fxK6n8fL9zZe7jS+gYeyxyWYK5c="
|
"ghcide-nix.cachix.org-1:ibAY5FD+XWLzbLr8fxK6n8fL9zZe7jS+gYeyxyWYK5c="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://hercules-ci.cachix.org" ];
|
||||||
"https://hercules-ci.cachix.org"
|
|
||||||
];
|
|
||||||
binaryCachePublicKeys = [
|
binaryCachePublicKeys = [
|
||||||
"hercules-ci.cachix.org-1:ZZeDl9Va+xe9j+KqdzoBZMFJHVQ42Uu/c/1/KMC5Lw0="
|
"hercules-ci.cachix.org-1:ZZeDl9Va+xe9j+KqdzoBZMFJHVQ42Uu/c/1/KMC5Lw0="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://hie-nix.cachix.org" ];
|
||||||
"https://hie-nix.cachix.org"
|
binaryCachePublicKeys =
|
||||||
];
|
[ "hie-nix.cachix.org-1:EjBSHzF6VmDnzqlldGXbi0RM3HdjfTU3yDRi9Pd0jTY=" ];
|
||||||
binaryCachePublicKeys = [
|
|
||||||
"hie-nix.cachix.org-1:EjBSHzF6VmDnzqlldGXbi0RM3HdjfTU3yDRi9Pd0jTY="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
binaryCaches = [ "https://iohk.cachix.org" ];
|
||||||
|
binaryCachePublicKeys =
|
||||||
|
[ "iohk.cachix.org-1:DpRUyj7h7V830dp/i6Nti+NEO2/nhblbov/8MW7Rqoo=" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,12 +1,8 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://matthewess.cachix.org" ];
|
||||||
"https://matthewess.cachix.org"
|
|
||||||
];
|
|
||||||
binaryCachePublicKeys = [
|
binaryCachePublicKeys = [
|
||||||
"matthewess.cachix.org-1:dlcWfdyp8KTqlWXYIupL2+GM3hkWAojTl+WOBqGt/X0="
|
"matthewess.cachix.org-1:dlcWfdyp8KTqlWXYIupL2+GM3hkWAojTl+WOBqGt/X0="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
binaryCaches = [ "https://miso-haskell.cachix.org" ];
|
||||||
|
binaryCachePublicKeys = [
|
||||||
|
"miso-haskell.cachix.org-1:6N2DooyFlZOHUfJtAx1Q09H0P5XXYzoxxQYiwn6W1e8="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,12 +1,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://mothbot.cachix.org" ];
|
||||||
"https://mothbot.cachix.org"
|
binaryCachePublicKeys =
|
||||||
];
|
[ "mothbot.cachix.org-1:+frc2gaYS3tGHaHCeuwlWkBSR6xwskmCfvIX3YjMcV8=" ];
|
||||||
binaryCachePublicKeys = [
|
|
||||||
"mothbot.cachix.org-1:+frc2gaYS3tGHaHCeuwlWkBSR6xwskmCfvIX3YjMcV8="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
binaryCaches = [ "https://neovim-nightly.cachix.org" ];
|
||||||
|
binaryCachePublicKeys = [
|
||||||
|
"neovim-nightly.cachix.org-1:feIoInHRevVEplgdZvQDjhp11kYASYCE2NGY9hNrwxY="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,12 +1,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://nix-tools.cachix.org" ];
|
||||||
"https://nix-tools.cachix.org"
|
binaryCachePublicKeys =
|
||||||
];
|
[ "nix-tools.cachix.org-1:ebBEBZLogLxcCvipq2MTvuHlP7ZRdkazFSQsbs0Px1A=" ];
|
||||||
binaryCachePublicKeys = [
|
|
||||||
"nix-tools.cachix.org-1:ebBEBZLogLxcCvipq2MTvuHlP7ZRdkazFSQsbs0Px1A="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
binaryCaches = [
|
binaryCaches = [ "https://pynchon.cachix.org" ];
|
||||||
"https://pynchon.cachix.org"
|
binaryCachePublicKeys =
|
||||||
];
|
[ "pynchon.cachix.org-1:9Cj9t6FxSOQKMkjdd12Q2n7djp8CYBx+J2bIwzwaW+8=" ];
|
||||||
binaryCachePublicKeys = [
|
|
||||||
"pynchon.cachix.org-1:9Cj9t6FxSOQKMkjdd12Q2n7djp8CYBx+J2bIwzwaW+8="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
binaryCaches = [ "https://todo-cli.cachix.org" ];
|
||||||
|
binaryCachePublicKeys =
|
||||||
|
[ "todo-cli.cachix.org-1:4nlgpKFUyaacIwtthY7DJtdvudzZRS5uDu+41xiXFys=" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -19,7 +19,8 @@
|
||||||
boot.loader.systemd-boot.configurationLimit = 64;
|
boot.loader.systemd-boot.configurationLimit = 64;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
boot.earlyVconsoleSetup = true;
|
console.earlySetup = true;
|
||||||
|
console.keyMap = "us";
|
||||||
|
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
|
|
||||||
|
@ -61,10 +62,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n = {
|
i18n = { defaultLocale = "en_US.UTF-8"; };
|
||||||
consoleKeyMap = "us";
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
|
@ -73,10 +71,7 @@
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# System utilities
|
# System utilities
|
||||||
curl
|
|
||||||
fish
|
|
||||||
git
|
git
|
||||||
htop
|
|
||||||
tmux
|
tmux
|
||||||
tree
|
tree
|
||||||
vim
|
vim
|
||||||
|
@ -89,7 +84,7 @@
|
||||||
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
fish.enable = true;
|
fish.enable = false;
|
||||||
light.enable = true;
|
light.enable = true;
|
||||||
nm-applet.enable = true;
|
nm-applet.enable = true;
|
||||||
seahorse.enable = true;
|
seahorse.enable = true;
|
||||||
|
@ -98,7 +93,10 @@
|
||||||
|
|
||||||
# List services that you want to enable:
|
# List services that you want to enable:
|
||||||
services = {
|
services = {
|
||||||
fprintd.enable = true;
|
fprintd = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.fprintd-thinkpad;
|
||||||
|
};
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
clipmenu.enable = true;
|
clipmenu.enable = true;
|
||||||
geoclue2.enable = true;
|
geoclue2.enable = true;
|
||||||
|
@ -109,23 +107,21 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
layout = "us";
|
layout = "us";
|
||||||
|
|
||||||
config = ''
|
videoDrivers = [ "intel" ];
|
||||||
Section "Device"
|
deviceSection = ''
|
||||||
Identifier "Intel Graphics"
|
Option "DRI" "3"
|
||||||
Driver "intel"
|
Option "TearFree" "true"
|
||||||
|
|
||||||
Option "TearFree" "true"
|
|
||||||
EndSection
|
|
||||||
'';
|
'';
|
||||||
|
useGlamor = true;
|
||||||
|
|
||||||
# Enable touchpad support.
|
# Enable touchpad support.
|
||||||
libinput = {
|
libinput = {
|
||||||
enable = true;
|
enable = true;
|
||||||
naturalScrolling = true;
|
naturalScrolling = true;
|
||||||
|
disableWhileTyping = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
default = "home-manager";
|
|
||||||
session = [{
|
session = [{
|
||||||
name = "home-manager";
|
name = "home-manager";
|
||||||
start = ''
|
start = ''
|
||||||
|
@ -135,6 +131,7 @@
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
displayManager = {
|
displayManager = {
|
||||||
|
defaultSession = "home-manager";
|
||||||
lightdm = {
|
lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoLogin = {
|
autoLogin = {
|
||||||
|
|
96
home.nix
96
home.nix
|
@ -6,9 +6,9 @@ let
|
||||||
workEmail = "mess@yelp.com";
|
workEmail = "mess@yelp.com";
|
||||||
lockCmd = "i3lock -i ~/.lockscreen-image";
|
lockCmd = "i3lock -i ~/.lockscreen-image";
|
||||||
statusCmd = "i3status-rs ~/.config/i3status.toml";
|
statusCmd = "i3status-rs ~/.config/i3status.toml";
|
||||||
unstable = import <nixos-unstable> { config.allowUnfree = true; };
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
nixpkgs = { config = { allowUnfree = true; }; };
|
||||||
home = {
|
home = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "vim";
|
EDITOR = "vim";
|
||||||
|
@ -18,24 +18,27 @@ in {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# nix utilities
|
# nix utilities
|
||||||
cachix
|
cachix
|
||||||
unstable.niv
|
niv
|
||||||
nixfmt
|
nixfmt
|
||||||
nix-prefetch-git
|
nix-prefetch-git
|
||||||
# command line utilities
|
# command line utilities
|
||||||
ag
|
ag
|
||||||
|
python37Packages.cookiecutter
|
||||||
|
du-dust
|
||||||
exercism
|
exercism
|
||||||
fzy
|
fzy
|
||||||
imagemagick
|
imagemagick
|
||||||
jq
|
jq
|
||||||
|
haskell.packages.ghc865.pointfree
|
||||||
rlwrap
|
rlwrap
|
||||||
tldr
|
tldr
|
||||||
unzip
|
unzip
|
||||||
# graphical applications
|
# graphical applications
|
||||||
atom
|
discord
|
||||||
unstable.discord
|
|
||||||
(dunst.override { dunstify = true; })
|
(dunst.override { dunstify = true; })
|
||||||
enpass
|
enpass
|
||||||
firefox
|
firefox
|
||||||
|
httpie
|
||||||
kitty
|
kitty
|
||||||
nheko
|
nheko
|
||||||
slack
|
slack
|
||||||
|
@ -45,7 +48,7 @@ in {
|
||||||
clipnotify
|
clipnotify
|
||||||
dmenu
|
dmenu
|
||||||
i3lock
|
i3lock
|
||||||
unstable.i3status-rust
|
i3status-rust
|
||||||
libnotify
|
libnotify
|
||||||
rofi
|
rofi
|
||||||
xclip
|
xclip
|
||||||
|
@ -73,8 +76,7 @@ in {
|
||||||
'';
|
'';
|
||||||
".config/fish/completions/systemctl.fish".source =
|
".config/fish/completions/systemctl.fish".source =
|
||||||
./assets/systemctl.fish;
|
./assets/systemctl.fish;
|
||||||
".config/fish/functions/colortest.fish".source =
|
".config/fish/functions/colortest.fish".source = ./assets/colortest.fish;
|
||||||
./assets/colortest.fish;
|
|
||||||
".config/fish/functions/kbl.fish".text = ''
|
".config/fish/functions/kbl.fish".text = ''
|
||||||
function kbl -a level
|
function kbl -a level
|
||||||
set -l initial (cat /sys/class/leds/tpacpi\:\:kbd_backlight/brightness)
|
set -l initial (cat /sys/class/leds/tpacpi\:\:kbd_backlight/brightness)
|
||||||
|
@ -100,11 +102,13 @@ in {
|
||||||
font_family Fira Code Regular
|
font_family Fira Code Regular
|
||||||
bold_font Fira Code Bold
|
bold_font Fira Code Bold
|
||||||
font_size 15.0
|
font_size 15.0
|
||||||
|
include ./theme.conf
|
||||||
'';
|
'';
|
||||||
|
".config/kitty/theme.conf".source = ./assets/kitty-theme.conf;
|
||||||
|
".config/nvim/init.vim".source = ./assets/init.vim;
|
||||||
".config/rofi/theme.rasi".source = ./assets/sidetab.rasi;
|
".config/rofi/theme.rasi".source = ./assets/sidetab.rasi;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixpkgs = { config.allowUnfree = true; };
|
|
||||||
programs = {
|
programs = {
|
||||||
alacritty = {
|
alacritty = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
@ -123,6 +127,7 @@ in {
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
fish = {
|
fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.fish;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
echo 'ヽ(´ᗜ`)ノ welcome ヽ(´ᗜ`)ノ'
|
echo 'ヽ(´ᗜ`)ノ welcome ヽ(´ᗜ`)ノ'
|
||||||
if not functions -q fisher
|
if not functions -q fisher
|
||||||
|
@ -144,10 +149,21 @@ in {
|
||||||
alias upgrade="sudo rm -rf /root/.cache/nix/tarballs; and sudo nixos-rebuild switch --upgrade"
|
alias upgrade="sudo rm -rf /root/.cache/nix/tarballs; and sudo nixos-rebuild switch --upgrade"
|
||||||
alias clip="xclip -selection c"
|
alias clip="xclip -selection c"
|
||||||
alias cxuse="sudo cachix use -d ~/dotfiles.nix"
|
alias cxuse="sudo cachix use -d ~/dotfiles.nix"
|
||||||
alias cxpsh="nix build -f shell.nix; nix-store -qR --include-outputs (nix-instantiate shell.nix) | cachix push"
|
alias cxpsh="nix-shell --command exit; nix-store -qR --include-outputs (nix-instantiate shell.nix) | cachix push"
|
||||||
|
alias cxpush=cxpsh
|
||||||
alias home="vim ~/dotfiles.nix/home.nix +'cd %:p:h'"
|
alias home="vim ~/dotfiles.nix/home.nix +'cd %:p:h'"
|
||||||
alias i3="vim ~/dotfiles.nix/i3.nix +'cd %:p:h'"
|
alias i3="vim ~/dotfiles.nix/i3.nix +'cd %:p:h'"
|
||||||
|
alias config="vim ~/dotfiles.nix/configuration.nix +'cd %:p:h'"
|
||||||
alias vims="vim -S Session.vim"
|
alias vims="vim -S Session.vim"
|
||||||
|
|
||||||
|
bind \cr 'fzy_select_history (commandline -b)'
|
||||||
|
bind -M insert \cr 'fzy_select_history (commandline -b)'
|
||||||
|
|
||||||
|
bind \cf 'fzy_select_directory'
|
||||||
|
bind -M insert \cf 'fzy_select_directory'
|
||||||
|
|
||||||
|
bind -M insert ! __history_previous_command
|
||||||
|
bind -M insert '$' __history_previous_command_arguments
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
git = {
|
git = {
|
||||||
|
@ -171,6 +187,8 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
extraPython3Packages = ps: with ps; [ pynvim ];
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
neovim-sensible
|
neovim-sensible
|
||||||
vim-fugitive
|
vim-fugitive
|
||||||
|
@ -183,45 +201,14 @@ in {
|
||||||
haskell-vim
|
haskell-vim
|
||||||
auto-pairs
|
auto-pairs
|
||||||
vim-fish
|
vim-fish
|
||||||
|
LanguageClient-neovim
|
||||||
|
ncm2
|
||||||
|
ncm2-path
|
||||||
|
nvim-yarp
|
||||||
|
ctrlp
|
||||||
|
dhall-vim
|
||||||
];
|
];
|
||||||
extraConfig = ''
|
extraConfig = builtins.readFile ./assets/init.vim;
|
||||||
syntax on
|
|
||||||
filetype plugin indent on
|
|
||||||
set cursorline "highlight current line
|
|
||||||
set showmatch "highlight matching [{()}]
|
|
||||||
set tabstop=2 "number of visual spaces per TAB when reading
|
|
||||||
set softtabstop=2 "number of spaces per TAB when editing
|
|
||||||
set expandtab "tabs are spaces
|
|
||||||
set shiftwidth=2 "indents
|
|
||||||
set ww=<,>,[,] "wrap
|
|
||||||
set splitbelow "split underneath
|
|
||||||
|
|
||||||
command Mks NERDTreeClose | mksession!
|
|
||||||
|
|
||||||
"save readonly
|
|
||||||
cmap w!! w !sudo tee >/dev/null %
|
|
||||||
"terminal exit
|
|
||||||
tnoremap <Esc> <C-\><C-n><CR>
|
|
||||||
"nohl
|
|
||||||
nnoremap <silent> ,<space> :nohlsearch<CR>
|
|
||||||
|
|
||||||
colorscheme Tomorrow-Night-Eighties
|
|
||||||
"lightline options
|
|
||||||
let g:lightline = {'colorscheme': 'jellybeans'}
|
|
||||||
|
|
||||||
"cursor saving
|
|
||||||
autocmd BufReadPost * if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
|
||||||
|
|
||||||
"nerdtree
|
|
||||||
"show hidden files
|
|
||||||
let NERDTreeShowHidden=1
|
|
||||||
"open on vim open
|
|
||||||
autocmd vimenter * NERDTree
|
|
||||||
"switch to editing window
|
|
||||||
autocmd vimenter * wincmd p
|
|
||||||
"close if only nerdtree is left
|
|
||||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
rofi = {
|
rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -235,6 +222,11 @@ in {
|
||||||
extraOptionOverrides = { "AddKeysToAgent" = "true"; };
|
extraOptionOverrides = { "AddKeysToAgent" = "true"; };
|
||||||
};
|
};
|
||||||
starship.enable = true;
|
starship.enable = true;
|
||||||
|
vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
# extensions = with pkgs.vscode-extensions; [];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
dunst = {
|
dunst = {
|
||||||
|
@ -262,7 +254,7 @@ in {
|
||||||
};
|
};
|
||||||
shortcuts = {
|
shortcuts = {
|
||||||
close = "ctrl+space";
|
close = "ctrl+space";
|
||||||
history = "ctrl+grave";
|
history = "ctrl+shift+grave";
|
||||||
};
|
};
|
||||||
urgency_low = {
|
urgency_low = {
|
||||||
background = "#282828";
|
background = "#282828";
|
||||||
|
@ -286,7 +278,7 @@ in {
|
||||||
provider = "geoclue2";
|
provider = "geoclue2";
|
||||||
};
|
};
|
||||||
screen-locker = {
|
screen-locker = {
|
||||||
enable = true;
|
enable = false;
|
||||||
lockCmd = "${lockCmd}";
|
lockCmd = "${lockCmd}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -294,11 +286,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
scriptPath = ".hm-xsession";
|
scriptPath = ".hm-xsession";
|
||||||
windowManager = {
|
windowManager = {
|
||||||
i3 = import ./i3.nix {
|
i3 = import ./i3.nix { inherit lib lockCmd statusCmd; };
|
||||||
inherit lib;
|
|
||||||
inherit lockCmd;
|
|
||||||
inherit statusCmd;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
26
i3.nix
26
i3.nix
|
@ -33,11 +33,11 @@
|
||||||
childBorder = "#0C0C0C";
|
childBorder = "#0C0C0C";
|
||||||
};
|
};
|
||||||
urgent = {
|
urgent = {
|
||||||
border = "#D890A8";
|
border = "#1086E0";
|
||||||
background = "#D890A8";
|
background = "#1086E0";
|
||||||
text = "#383632";
|
text = "#383632";
|
||||||
indicator = "#D890A8";
|
indicator = "#1086E0";
|
||||||
childBorder = "#D890A8";
|
childBorder = "#1086E0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
bars = [{
|
bars = [{
|
||||||
|
@ -63,13 +63,13 @@
|
||||||
text = "#CDC5B4";
|
text = "#CDC5B4";
|
||||||
};
|
};
|
||||||
urgentWorkspace = {
|
urgentWorkspace = {
|
||||||
border = "#D890A8";
|
border = "#1086E0";
|
||||||
background = "#D890A8";
|
background = "#1086E0";
|
||||||
text = "#383632";
|
text = "#383632";
|
||||||
};
|
};
|
||||||
bindingMode = {
|
bindingMode = {
|
||||||
border = "#D890A8";
|
border = "#1086E0";
|
||||||
background = "#D890A8";
|
background = "#1086E0";
|
||||||
text = "#383632";
|
text = "#383632";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
keybindings = lib.mkOptionDefault {
|
keybindings = lib.mkOptionDefault {
|
||||||
"${modifier}+c" = "exec CM_ONESHOT=1 clipmenud";
|
"${modifier}+c" = "exec CM_ONESHOT=1 clipmenud";
|
||||||
"${modifier}+v" = "exec clipmenu";
|
"${modifier}+v" = "exec clipmenu";
|
||||||
"${modifier}+Escape" = "exec ${lockCmd}";
|
# "${modifier}+Escape" = "exec ${lockCmd}";
|
||||||
"${modifier}+0" = "workspace number 0";
|
"${modifier}+0" = "workspace number 0";
|
||||||
"${modifier}+1" = "workspace number 1";
|
"${modifier}+1" = "workspace number 1";
|
||||||
"${modifier}+2" = "workspace number 2";
|
"${modifier}+2" = "workspace number 2";
|
||||||
|
@ -98,15 +98,13 @@
|
||||||
workspaceLayout = "tabbed";
|
workspaceLayout = "tabbed";
|
||||||
assigns = {
|
assigns = {
|
||||||
"1: web" = [{ class = "Firefox"; }];
|
"1: web" = [{ class = "Firefox"; }];
|
||||||
"2: devel" = [ { class = "(K|k)itty"; } { class = "Atom"; } ];
|
"2: devel" = [ { class = "(?i)kitty"; } { class = "(?i)(vsc|c)odium"; } ];
|
||||||
"3: social" = [
|
"3: social" = [
|
||||||
{ class = "(N|n)heko"; }
|
{ class = "(?i)nheko"; }
|
||||||
{ class = "Slack"; }
|
{ class = "Slack"; }
|
||||||
{ class = "discord"; }
|
{ class = "discord"; }
|
||||||
];
|
];
|
||||||
"4: admin" = [{ class = "Enpass"; }];
|
"4: other" = [{ class = ".*"; }];
|
||||||
"5: games" = [{ class = "(S|s)team"; }];
|
|
||||||
"6: other" = [{ class = ".*"; }];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
|
Loading…
Reference in New Issue