Skip to content

Instantly share code, notes, and snippets.

@lheckemann
Last active December 19, 2018 11:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lheckemann/bd14ee0efd349895e447278e2e8e24ef to your computer and use it in GitHub Desktop.
Save lheckemann/bd14ee0efd349895e447278e2e8e24ef to your computer and use it in GitHub Desktop.
/*
A set of applications which is lightweight in terms of build closure but makes
using a system a lot more pleasant.
*/
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
((vimUtils.makeCustomizable vim).customize {
name = "vim";
vimrcConfig = {
customRC = ''
syntax on
command! -nargs=1 Spaces set shiftwidth=<args> softtabstop=<args> tabstop=17 expandtab autoindent
command! -nargs=1 Tabs set shiftwidth=<args> softtabstop=<args> tabstop=<args> noexpandtab autoindent
Spaces 4
set is si ai ic hls mouse=a ttymouse=xterm2 backspace=2 laststatus=2 statusline=%f\ %l+%c/%L\ %p%%
noremap <ScrollWheelUp> <C-y>
noremap <ScrollWheelDown> <C-e>
" normal mode: default cursor
let &t_EI = "\<Esc>[0 q"
" insert mode: vertical line
let &t_SI = "\<Esc>[6 q"
" replace mode: underline
let &t_SR = "\<Esc>[3 q"
'';
packages.m.start = with pkgs.vimPlugins; [ vim-nix ];
};
})
file
git
htop
jq
lsof
ncdu
pv
silver-searcher
tcpdump
];
environment.variables.EDITOR = "vim";
programs.tmux.enable = true;
programs.tmux.secureSocket = false;
programs.tmux.extraTmuxConf = ''
set -g default-terminal "screen-256color"
set -g mouse on
set -g escape-time 0
set -g history-limit 50000
set -g mode-keys vi
set -g renumber-windows
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -T copy-mode-vi WheelUpPane send -N1 -X scroll-up
bind-key -T copy-mode-vi WheelDownPane send -N1 -X scroll-down
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment