-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhome.nix
118 lines (106 loc) · 2.26 KB
/
home.nix
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
{ pkgs, fzf-git-sh-package, lfcd-sh-package, ... }: {
programs.home-manager.enable = true;
home.packages = with pkgs; [
nerd-fonts.hack
coreutils
go-ethereum
nixd
wget
delta
tldr
direnv
bottom
hyperfine
pango
nodejs_22
(python3.withPackages (ps: with ps; [
pip
toml
]))
pnpm
go
delve
rustup
taplo
cargo-binstall
llvm
buf
protobuf
];
programs = {
ripgrep.enable = true;
fd.enable = true;
gh.enable = true;
bat.enable = true;
lazygit.enable = true;
lf = {
enable = true;
keybindings = {
"." = "set hidden!";
e = "$$EDITOR $f";
"f" = null;
br = "cd ~/Repos/";
be = "cd ~/Repos/eiger/";
bm = "cd ~/.config/home-manager/";
};
# NOTE: escaping scripts is not cool so just readFile
extraConfig = builtins.readFile ./lfrc;
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
shellAliases = {
t = "lfcd";
lf = "lfcd";
lg = "lazygit";
ls = "eza -a";
cat = "bat";
};
oh-my-zsh = {
enable = true;
plugins = [ "git" "rust" ];
theme = "robbyrussell";
};
initExtra = ''
${builtins.readFile ./.zshrc}
source ${fzf-git-sh-package}/bin/fzf-git.sh
source ${lfcd-sh-package}/bin/lfcd.sh
'';
};
fzf = {
enable = true;
enableZshIntegration = true;
};
nnn = {
enable = true;
bookmarks = {
r = "~/Repos/";
e = "~/Repos/eiger/";
m = "~/.config/home-manager/";
};
};
neovim = {
viAlias = true;
enable = true;
};
eza = {
enable = true;
enableZshIntegration = true;
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
zellij = {
enable = true;
enableZshIntegration = true;
};
};
xdg.configFile.nvim.source = ./nvim;
xdg.configFile."lf/icons".source = builtins.fetchurl {
url = "https://raw.githubusercontent.com/gokcehan/lf/master/etc/icons.example";
sha256 = "12cwy6kfa2wj7nzffaxn5bka21yjqa5sx38nzdhyg1dq0c6jnjkk";
};
}