blob: ffed46f944e373ae3b2dc82cece636304ced3540 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
{ 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
'';
};
};
home.sessionVariables = {
PATH = "$PATH:$HOME/.bin";
VISUAL = "nvim";
MANPAGER = "nvim +Man!";
};
programs.home-manager.enable = true;
programs.zsh = {
enable = true;
enableCompletion = true;
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 \$$VISUAL \$fx";;
*) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
esac
}}
'';
};
keybindings = {
"<enter>" = "shell";
"." = "set hidden!";
};
};
}
|