@ -2,13 +2,12 @@
{
home . packages = with pkgs ; [
bat wget silver-searcher tree ranger nodejs yarn mosh newsboat msmtp w3m urlview nmap rtv gnupg youtube-dl nodePackages . tern nodePackages . eslint nodePackages . javascript-typescript-langserver nodePackages . js-beautify nodePackages . prettier nodePackages. dat
ripgrep fd bat wget silver-searcher tree ranger nodejs yarn mosh newsboat msmtp w3m urlview nmap rtv gnupg youtube-dl nodePackages . tern nodePackages . eslint nodePackages . javascript-typescript-langserver nodePackages . js-beautify nodePackages . prettier ffmpeg ispell aspell hexyl nnn entr
] ;
home . sessionVariables = {
EDITOR = " v i m " ;
BROWSER = " f i r e f o x " ;
LEDGER_FILE = " ~ / S y n c / L e d g e r / l e d g e r . l e d g e r " ;
P4USER = " d s w a n " ;
P4PORT = " h u m u . i o c o m . c o m : 1 6 6 6 " ;
@ -20,63 +19,7 @@
programs . home-manager . enable = true ;
programs . alacritty = {
enable = true ;
settings = {
window = {
padding = {
x = 12 ;
y = 12 ;
} ;
dimentions = {
columns = 0 ;
lines = 0 ;
} ;
} ;
font = {
normal . family = " I o s e v k a N e r d F o n t " ;
bold . family = " I o s e v k a N e r d F o n t " ;
italic . family = " I o s e v k a N e r d F o n t " ;
size = 18 .0 ;
} ;
key_bindings = [
{
key = " N " ;
mods = " C o n t r o l | S h i f t " ;
action = " S p a w n N e w I n s t a n c e " ;
}
] ;
background_opacity = 0 .95 ;
colors = {
primary = {
background = " 0 x 2 E 3 4 4 0 " ;
foreground = " 0 x D 8 D E E 9 " ;
} ;
cursor = {
text = " 0 x 2 E 3 4 4 0 " ;
cursor = " 0 x D 8 D E E 9 " ;
} ;
normal = {
black = " 0 x 3 B 4 2 5 2 " ;
red = " 0 x B F 6 1 6 A " ;
green = " 0 x A 3 B E 8 C " ;
yellow = " 0 x E B C B 8 B " ;
blue = " 0 x 8 1 A 1 C 1 " ;
magenta = " 0 x B 4 8 E A D " ;
cyan = " 0 x 8 8 C 0 D 0 " ;
white = " 0 x E 5 E 9 F 0 " ;
} ;
bright = {
black = " 0 x 4 C 5 6 6 A " ;
red = " 0 x B F 6 1 6 A " ;
green = " 0 x A 3 B E 8 C " ;
yellow = " 0 x E B C B 8 B " ;
blue = " 0 x 8 1 A 1 C 1 " ;
magenta = " 0 x B 4 8 E A D " ;
cyan = " 0 x 8 F B C B B " ;
white = " 0 x E C E F F 4 " ;
} ;
} ;
} ;
enable = true ; # TODO
} ;
programs . tmux = {
@ -84,9 +27,11 @@
shortcut = " a " ;
keyMode = " v i " ;
baseIndex = 1 ;
clock24 = true ;
escapeTime = 0 ;
newSession = true ;
plugins = with pkgs . tmuxPlugins ; [ sensible resurrect pain-control continuum copycat open fzf-tmux-url maildir-counter yank ] ;
# urlview
secureSocket = false ;
plugins = with pkgs . tmuxPlugins ; [ sensible resurrect pain-control continuum copycat open urlview fzf-tmux-url yank vim-tmux-navigator ] ;
extraConfig = ''
set - g set-titles on
set - g set-titles-string " # H ( # S ) "
@ -111,25 +56,7 @@
set-window-option - g window-status-format " # W "
set-window-option - g window-status-current-format " # W "
set-window-option - g window-status-separator " "
set-window-option - g clock-mode-colour white
set - g status-right ' FastMail : #{maildir_counter_1}, IOCOM: #{maildir_counter_2} | %a %Y-%m-%d %H:%M'
set - g @ maildir_counters ' ~/Mail/FastMail/INBOX/new | ~/Mail/IOCOM/INBOX/new '
# remove when tmux-plugin-navigator plugin is added
is_vim = " p s - o s t a t e = - o c o m m = - t ' # { p a n e _ t t y } ' \
| grep - iqE ' ^ [ ^ TXZ ] + + ( \ \ S + \ \ / ) ? g ? ( view | n ? vim ? x ? ) ( diff ) ? $ ' "
tmux bind-key - n C-h if-shell " $ i s _ v i m " " s e n d - k e y s C - h " " s e l e c t - p a n e - L "
tmux bind-key - n C-j if-shell " $ i s _ v i m " " s e n d - k e y s C - j " " s e l e c t - p a n e - D "
tmux bind-key - n C-k if-shell " $ i s _ v i m " " s e n d - k e y s C - k " " s e l e c t - p a n e - U "
tmux bind-key - n C-l if-shell " $ i s _ v i m " " s e n d - k e y s C - l " " s e l e c t - p a n e - R "
tmux bind-key - n C- \ \ if-shell " $ i s _ v i m " " s e n d - k e y s C - \\ " " s e l e c t - p a n e - l "
tmux bind-key - T copy-mode-vi C-h select-pane - L
tmux bind-key - T copy-mode-vi C-j select-pane - D
tmux bind-key - T copy-mode-vi C-k select-pane - U
tmux bind-key - T copy-mode-vi C-l select-pane - R
tmux bind-key - T copy-mode-vi C- \ \ select-pane - l
# set-window-option -g clock-mode-colour white
'' ;
} ;
@ -151,9 +78,9 @@
srsync = " r s y n c - - r s y n c - p a t h = ' s u d o r s y n c ' " ;
} ;
# for MacOS
# initExtra = ''
# source ~/.nix-profile/etc/profile.d/nix.sh
# '' ;
initExtra = ''
source ~/.nix-profile/etc/profile.d/nix.sh
'' ;
} ;
programs . fzf = {
@ -196,18 +123,47 @@
} ;
} ;
programs . neovim = {
enable = true ;
viAlias = true ;
vimAlias = true ;
withNodeJs = true ;
withPython3 = true ;
configure = {
customRC = builtins . readFile ~/dotfiles/vimrc ;
accounts . email = {
accounts = {
FastMail = {
# name = "FastMail";
address = " d u s t i n @ d u s t i n s w a n . c o m " ;
aliases = " d u s t i n s w a n @ g m a i l . c o m " ;
primary = true ;
realName = " D u s t i n S w a n " ;
folders = {
inbox = " I N B O X " ;
drafts = " I N B O X . D r a f t s " ;
sent = " I N B O X . S e n t " ;
trash = " I N B O X . T r a s h " ;
} ;
offlineimap = {
enable = true ;
extraConfig . remote = {
remotehost = " m a i l . m e s s a g i n g e n g i n e . c o m " ;
remoteuser = " d u s t i n s w a n @ f a s t m a i l . c o m " ;
} ;
} ;
} ;
} ;
maildirBasePath = " \$ H O M E / M a i l " ;
} ;
# programs.offlineimap.enable = true;
# programs.neovim = {
# enable = true;
# viAlias = true;
# vimAlias = true;
# withNodeJs = true;
# withPython3 = true;
# extraConfig = builtins.readFile ~/dotfiles/vimrc;
# };
programs . gpg . enable = true ;
programs . htop . enable = true ;
programs . mpv . enable = true ;
programs . jq . enable = true ;
programs . emacs . enable = true ;
programs . keychain = {