-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhome.nix
140 lines (127 loc) · 2.59 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{ pkgs
, inputs
# home-manager meta
, lib
, config
, ...
}:
let
args = import ./args { inherit config pkgs lib inputs; };
inherit (args) pubkey x zsh kitty rofi git tmux
scripts dunst polybar ssh autorandr helix lsd
flameshot gtk harlequin mpdris2 ncmpcpp
mopidy;
in rec {
targets.genericLinux.enable = true;
nixpkgs.config = {
allowUnfree = true;
allowBroken = true;
permittedInsecurePackages = [
"nodejs-16.20.0"
];
};
programs.home-manager.enable = true;
home.stateVersion = "22.11";
home.homeDirectory = "/home/m0ar";
home.username = "m0ar";
home.sessionVariables = {
EDITOR = "hx";
SUDO_EDITOR = "hx";
BROWSER = "brave";
};
# Link extra configuration files
home.file = {
sshAllowedSigners = {
target = ".ssh/allowed_signers";
text = programs.git.userEmail + " " + pubkey;
};
} // x.configFiles;
xsession = x.session;
inherit gtk;
xdg = {
enable = true;
};
fonts.fontconfig.enable = true;
home.packages = with pkgs;
[
# meta
nix-tree
nix-du
nixfmt-classic
nix-diff
nix-index
# util
btop
unzip
ncdu
glow
imagemagick
(pass.withExtensions (ext: with ext; [ pass-import pass-genphrase ]))
qtpass
playerctl
xclip
tree
dig
netcat-openbsd
bat
fnm
yq
mktorrent
rsync
xorg.xev
zoom-us
# make dependencies of pixlock script
scrot
# programming
terraform
kubectl
kubecolor
safe
krew
diffoci
k9s
eksctl
# vault # suuper heavy build
nodePackages.yarn
kubo
jdk11
gh
maven
rustc
jetbrains.idea-ultimate
# graphical
audacity
obsidian
slack
discord
xcolor
brave
# fonts
fontconfig
nerd-fonts.symbols-only
noto-fonts-color-emoji
fira-code
font-awesome_4
# own packages
harlequin
] ++ builtins.attrValues scripts ++ builtins.attrValues helix.languageServers;
programs = {
inherit zsh kitty tmux rofi ssh autorandr lsd ncmpcpp;
helix = helix.program;
git = git {
allowedSignersFile = home.file.sshAllowedSigners.target;
};
direnv.enable = true;
keychain.enable = true;
jq.enable = true;
fzf.enable = true;
ripgrep.enable = true;
};
services = {
inherit polybar flameshot mpdris2 mopidy;
playerctld.enable = true;
pasystray.enable = true;
network-manager-applet.enable = true;
picom.enable = true;
};
}