From f3b91d75d2d3153e9fa4d7414929dcc531779727 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 27 Aug 2019 14:34:49 -0700 Subject: reorganize, and some small fixes --- lib/common.nix | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 lib/common.nix (limited to 'lib/common.nix') diff --git a/lib/common.nix b/lib/common.nix new file mode 100644 index 0000000..f2fb65d --- /dev/null +++ b/lib/common.nix @@ -0,0 +1,173 @@ +{ pkgs, ... }: + +let + locale = "en_US.UTF-8"; + gpgid = "D09299626FA78AF8"; +in +{ + home = { + packages = import ./packages.nix { inherit pkgs; }; + sessionVariables = { + GPGID = gpgid; + EDITOR = "emacsclient"; + LANG = locale; + LANGUAGE = locale; + PATH = "\$HOME/bin:\$HOME/.local/bin:$PATH"; + PAGER = "less"; + LEDGER_FILE = "\$HOME/.hledger.journal"; + XTERM_LOCALE = locale; + LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive"; + }; + + # From the command line: + # setxkbmap -option caps:ctrl_modifier + keyboard.options = [ "caps:ctrl_modifier" ]; + + file = { + editorconfig = { + source = ./editorconfig; + target = ".editorconfig"; + }; + }; + }; + + programs = { + home-manager = { + enable = true; + path = "\$HOME/cfg/home-manager"; + }; + + tmux = { + enable = true; + extraConfig = builtins.readFile ./tmux; + baseIndex = 0; + clock24 = true; + customPaneNavigationAndResize = true; + keyMode = "vi"; + shortcut = "'C-a'"; + terminal = "screen-256color"; + sensibleOnTop = true; + secureSocket = false; + }; + + ssh = { + enable = true; + forwardAgent = true; + matchBlocks = { + "sabten" = { + hostname = "142.93.81.26"; + user = "root"; + identityFile = [ "\$HOME/.ssh/id_rsa" ]; + identitiesOnly = true; + }; + "simatime.com" = { + hostname = "simatime.com"; + user = "git"; + identityFile = [ "\$HOME/.ssh/id_rsa" ]; + identitiesOnly = true; + }; + gh = { + hostname = "github.com"; + user = "git"; + identityFile = [ "\$HOME/.ssh/id_rsa" ]; + identitiesOnly = true; + }; + lithium = { + hostname = "69.181.254.154"; + user = "ben"; + identityFile = [ "\$HOME/.ssh/hijuj-zupip" ]; + identitiesOnly = true; + }; + nutin-madaj = { + hostname = "159.89.128.69"; + user = "root"; + identityFile = [ "\$HOME/.ssh/biz-deploy" ]; + identitiesOnly = true; + }; + hikuj-zupip = { + hostname = "69.181.254.154"; + user = "root"; + identityFile = [ "\$HOME/.ssh/biz-deploy" ]; + identitiesOnly = true; + }; + }; + }; + + direnv = { + enable = true; + }; + + skim = { + enable = true; + enableBashIntegration = true; + }; + + vim = { + enable = true; + plugins = [ + "ctrlp" + "fugitive" + "editorconfig-vim" + "surround" + "vim-colorschemes" + ]; + extraConfig = builtins.readFile ./vimrc; + }; + + bash = { + enable = true; + initExtra = '' + DIR=~/.nix-profile/etc/profile.d + [[ -f "$DIR/nix.sh" ]] && . "$DIR/nix.sh" + [[ -f "$DIR/hm-session-vars.sh" ]] && . "$DIR/hm-session-vars.sh" + [[ -f "$HOME/.bashrc.local" ]] && . "$HOME/.bashrc.local" + function cd() { + builtin cd "$@" && ls + } + + # my prompt, after much chagrin + export PS1='\n\[\e[34m\][\u@\h:\w]\[\e[m\] $(date +%Y.%m.%d..%H.%M) \n$ ' + ''; + shellAliases = { + add = "git add --ignore-removal"; + ci = "git commit"; + day = "date +%a"; + ddate = "date +%Y.%m.%d"; + dday = "date +%A"; + et = "emacs -nw"; # emacs in a terminal + fetch = "git fetch"; + g = "grep -in"; + ga = "git add -A"; + gb = "git branch"; + gc = "git commit"; + gca = "git commit -a"; + gco = "git checkout"; + gd = "git diff"; + gl = "git pull --prune"; + glog = ''git log --decorate --all --graph --pretty=format:"%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset" --abbrev-commit --date=relative''; + gp = "git push origin HEAD"; + gs = "git status -sb"; + hs = "home-manager switch"; + ll = "ls -l"; + pull = "git pull"; + push = "git push"; + rm = "rm -i"; + showpath = "echo $PATH | sed 's/:/\n/g'"; + tdate = "date +%Y.%m.%d..%H.%M"; + ttime = "date +%H.%M"; + typeless = "history | tail -n 20000 | sed 's/.* //' | sort | uniq -c | sort -g | tail -n 100"; + v = "vim"; + "v." = "vim ."; + vimdiff = "vim -d"; + vk = "vim $(sk -m)"; + vs = "vim $(sk -m)"; + }; + }; + + emacs = { + enable = true; + # Disabling for spacemacs + #extraPackages = epkgs: import ./emacs-packages.nix { inherit epkgs; }; + }; + }; +} -- cgit v1.2.3