{ config, pkgs, ... }: { home.username = "shubh"; home.homeDirectory = "/Users/shubh"; # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "23.05"; home.packages = with pkgs; [ git unzip wget gnupg pass tmux fzf docker neovim nmap lf pinentry_mac postgresql docker kubectl kubelogin-oidc terraform k9s kubernetes-helm python38 # gui zoom-us slack ]; home.file = { ".gnupg/gpg-agent.conf" = { text = '' pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac ''; }; }; programs.home-manager.enable = true; programs.zsh = { enable = true; enableCompletion = true; initExtra = '' export PATH="$PATH:$HOME/.bin"; export VISUAL="nvim" export EDITOR="$VISUAL" export MANPAGER="nvim +Man!" ''; shellAliases = { ll = "ls -l"; v = "nvim"; o = "xdg-open"; t = "tmux"; f = "lf"; }; oh-my-zsh = { enable = true; plugins = [ "git" "kubectl" "sudo" "terraform" "kops" ]; theme = "robbyrussell"; }; }; programs.fzf = { enable = true; enableZshIntegration = true; defaultOptions = [ "--height 40%" "--layout=reverse" "--border" ]; }; programs.git = { enable = true; userEmail = "ssaini@fispan.com"; userName = "Shubham Saini"; signing = { key = "E0404DDE4BCF9DB5"; signByDefault = true; }; }; programs.lf = { enable = true; settings = { shell = "sh"; icons = true; drawbox = true; scrolloff = 10; shellopts = "-eu"; }; commands = { extract = '' %{{ set -f case $f in *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; *.tar.gz|*.tgz) tar xzvf $f;; *.tar.xz|*.txz) tar xJvf $f;; *.zip) unzip $f;; *.rar) unrar x $f;; *.7z) 7z x $f;; esac }} ''; open = '' %{{ case $(file --mime-type -Lb $f) in text/*) lf -remote "send $id \$$EDITOR \$fx";; *) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;; esac }} ''; }; keybindings = { "" = "shell"; "." = "set hidden!"; }; }; }