+76
-27
_sources/generated.json
+76
-27
_sources/generated.json
···
1
1
{
2
2
"agenix": {
3
3
"cargoLocks": null,
4
-
"date": "2025-10-18",
4
+
"date": "2025-10-28",
5
5
"extract": null,
6
6
"name": "agenix",
7
7
"passthru": null,
···
13
13
"name": null,
14
14
"owner": "ryantm",
15
15
"repo": "agenix",
16
-
"rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a",
17
-
"sha256": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
16
+
"rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5",
17
+
"sha256": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=",
18
18
"sparseCheckout": [],
19
19
"type": "github"
20
20
},
21
-
"version": "2f0f812f69f3eb4140157fe15e12739adf82e32a"
21
+
"version": "9ba0d85de3eaa7afeab493fed622008b6e4924f5"
22
22
},
23
23
"blog": {
24
24
"cargoLocks": null,
···
104
104
},
105
105
"home": {
106
106
"cargoLocks": null,
107
-
"date": "2025-10-21",
107
+
"date": "2025-10-28",
108
108
"extract": null,
109
109
"name": "home",
110
110
"passthru": null,
···
116
116
"name": null,
117
117
"owner": "nix-community",
118
118
"repo": "home-manager",
119
-
"rev": "9b4a2a7c4fbd75b422f00794af02d6edb4d9d315",
120
-
"sha256": "sha256-IwpfaKg5c/WWQiy8b5QGaVPMvoEQ2J6kpwRFdpVpBNQ=",
119
+
"rev": "ca2ab1d877a24d5a437dad62f56b8b2c02e964e9",
120
+
"sha256": "sha256-fHr+tIYBJccNF8QWqgowfRmEAtAMSt1deZIRNKL8A7c=",
121
121
"sparseCheckout": [],
122
122
"type": "github"
123
123
},
124
-
"version": "9b4a2a7c4fbd75b422f00794af02d6edb4d9d315"
124
+
"version": "ca2ab1d877a24d5a437dad62f56b8b2c02e964e9"
125
125
},
126
126
"limbusart": {
127
127
"cargoLocks": null,
···
143
143
},
144
144
"version": "7f29ab57b73eb8a4db7163fc7d19a71cf89c3d8b"
145
145
},
146
-
"lix-module": {
146
+
"moonlight": {
147
147
"cargoLocks": null,
148
-
"date": null,
148
+
"date": "2025-10-23",
149
149
"extract": null,
150
-
"name": "lix-module",
150
+
"name": "moonlight",
151
151
"passthru": null,
152
152
"pinned": false,
153
153
"src": {
154
-
"sha256": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=",
155
-
"type": "tarball",
156
-
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz"
154
+
"deepClone": false,
155
+
"fetchSubmodules": false,
156
+
"leaveDotGit": false,
157
+
"name": null,
158
+
"owner": "moonlight-mod",
159
+
"repo": "moonlight",
160
+
"rev": "0b927a86a447a145f20bb5ee43fac79a724640f2",
161
+
"sha256": "sha256-lQpl6ecQfQ7KzEIytH3k4hLtvq+KkTL+3IR2ZukdZWM=",
162
+
"sparseCheckout": [],
163
+
"type": "github"
157
164
},
158
-
"version": "2.93.3-1"
165
+
"version": "0b927a86a447a145f20bb5ee43fac79a724640f2"
159
166
},
160
167
"ncr": {
161
168
"cargoLocks": null,
···
177
184
},
178
185
"version": "4660aa9cd9b24bef569696eee46dbe7e8df3e237"
179
186
},
180
-
"nixos-wsl": {
187
+
"nixos-hardware": {
181
188
"cargoLocks": null,
182
-
"date": "2025-10-15",
189
+
"date": "2025-10-20",
183
190
"extract": null,
184
-
"name": "nixos-wsl",
191
+
"name": "nixos-hardware",
185
192
"passthru": null,
186
193
"pinned": false,
187
194
"src": {
···
189
196
"fetchSubmodules": false,
190
197
"leaveDotGit": false,
191
198
"name": null,
192
-
"owner": "nix-community",
193
-
"repo": "NixOS-WSL",
194
-
"rev": "f98ee1de1fa36eca63c67b600f5d617e184e82ea",
195
-
"sha256": "sha256-wfWqt+igns/VazjPLkyb4Z/wpn4v+XIjUeI3xY/1ENg=",
199
+
"owner": "NixOS",
200
+
"repo": "nixos-hardware",
201
+
"rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
202
+
"sha256": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
196
203
"sparseCheckout": [],
197
204
"type": "github"
198
205
},
199
-
"version": "f98ee1de1fa36eca63c67b600f5d617e184e82ea"
206
+
"version": "d6645c340ef7d821602fd2cd199e8d1eed10afbc"
200
207
},
201
208
"nsid-tracker": {
202
209
"cargoLocks": null,
···
218
225
},
219
226
"version": "2683e619932808b8aa78ec7100de6324c8216daf"
220
227
},
228
+
"stylix": {
229
+
"cargoLocks": null,
230
+
"date": "2025-10-28",
231
+
"extract": null,
232
+
"name": "stylix",
233
+
"passthru": null,
234
+
"pinned": false,
235
+
"src": {
236
+
"deepClone": false,
237
+
"fetchSubmodules": false,
238
+
"leaveDotGit": false,
239
+
"name": null,
240
+
"owner": "nix-community",
241
+
"repo": "stylix",
242
+
"rev": "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a",
243
+
"sha256": "sha256-nKOOPeblDcebtYfBjHo+PHXHKNSNKuifn1EGcBEgKWs=",
244
+
"sparseCheckout": [],
245
+
"type": "github"
246
+
},
247
+
"version": "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a"
248
+
},
221
249
"tangled": {
222
250
"cargoLocks": null,
223
-
"date": "2025-10-22",
251
+
"date": "2025-10-28",
224
252
"extract": null,
225
253
"name": "tangled",
226
254
"passthru": null,
···
230
258
"fetchSubmodules": false,
231
259
"leaveDotGit": false,
232
260
"name": null,
233
-
"rev": "0a2ae70c248e8b880b6c109e3af8eddc0d69212b",
234
-
"sha256": "sha256-CEIJqCphXGAt1zzc/Q316G+sfYmpCtJ9ZVWNoXa1mk4=",
261
+
"rev": "7949848c82215f1fffa948bf5e61f7e8eff94a71",
262
+
"sha256": "sha256-yng1Usbmcwrcz3H214CF9Xp/zr58qr2578yw26YrTGk=",
235
263
"sparseCheckout": [],
236
264
"type": "git",
237
265
"url": "https://tangled.org/@tangled.org/core"
238
266
},
239
-
"version": "0a2ae70c248e8b880b6c109e3af8eddc0d69212b"
267
+
"version": "7949848c82215f1fffa948bf5e61f7e8eff94a71"
240
268
},
241
269
"tangled-sqlite-lib": {
242
270
"cargoLocks": null,
···
251
279
"url": "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
252
280
},
253
281
"version": "3450100"
282
+
},
283
+
"zen-browser": {
284
+
"cargoLocks": null,
285
+
"date": "2025-10-27",
286
+
"extract": null,
287
+
"name": "zen-browser",
288
+
"passthru": null,
289
+
"pinned": false,
290
+
"src": {
291
+
"deepClone": false,
292
+
"fetchSubmodules": false,
293
+
"leaveDotGit": false,
294
+
"name": null,
295
+
"owner": "0xc000022070",
296
+
"repo": "zen-browser-flake",
297
+
"rev": "79a94872a3e6993a051c4e22a2dcb02c1d088acf",
298
+
"sha256": "sha256-E1PobJMiFmVUX2YdqYk/MpKb0LXavOYvlg8DCBBzlHc=",
299
+
"sparseCheckout": [],
300
+
"type": "github"
301
+
},
302
+
"version": "79a94872a3e6993a051c4e22a2dcb02c1d088acf"
254
303
}
255
304
}
+54
-26
_sources/generated.nix
+54
-26
_sources/generated.nix
···
3
3
{
4
4
agenix = {
5
5
pname = "agenix";
6
-
version = "2f0f812f69f3eb4140157fe15e12739adf82e32a";
6
+
version = "9ba0d85de3eaa7afeab493fed622008b6e4924f5";
7
7
src = fetchFromGitHub {
8
8
owner = "ryantm";
9
9
repo = "agenix";
10
-
rev = "2f0f812f69f3eb4140157fe15e12739adf82e32a";
10
+
rev = "9ba0d85de3eaa7afeab493fed622008b6e4924f5";
11
11
fetchSubmodules = false;
12
-
sha256 = "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=";
12
+
sha256 = "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=";
13
13
};
14
-
date = "2025-10-18";
14
+
date = "2025-10-28";
15
15
};
16
16
blog = {
17
17
pname = "blog";
···
67
67
};
68
68
home = {
69
69
pname = "home";
70
-
version = "9b4a2a7c4fbd75b422f00794af02d6edb4d9d315";
70
+
version = "ca2ab1d877a24d5a437dad62f56b8b2c02e964e9";
71
71
src = fetchFromGitHub {
72
72
owner = "nix-community";
73
73
repo = "home-manager";
74
-
rev = "9b4a2a7c4fbd75b422f00794af02d6edb4d9d315";
74
+
rev = "ca2ab1d877a24d5a437dad62f56b8b2c02e964e9";
75
75
fetchSubmodules = false;
76
-
sha256 = "sha256-IwpfaKg5c/WWQiy8b5QGaVPMvoEQ2J6kpwRFdpVpBNQ=";
76
+
sha256 = "sha256-fHr+tIYBJccNF8QWqgowfRmEAtAMSt1deZIRNKL8A7c=";
77
77
};
78
-
date = "2025-10-21";
78
+
date = "2025-10-28";
79
79
};
80
80
limbusart = {
81
81
pname = "limbusart";
···
91
91
};
92
92
date = "2025-07-22";
93
93
};
94
-
lix-module = {
95
-
pname = "lix-module";
96
-
version = "2.93.3-1";
97
-
src = fetchTarball {
98
-
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz";
99
-
sha256 = "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=";
94
+
moonlight = {
95
+
pname = "moonlight";
96
+
version = "0b927a86a447a145f20bb5ee43fac79a724640f2";
97
+
src = fetchFromGitHub {
98
+
owner = "moonlight-mod";
99
+
repo = "moonlight";
100
+
rev = "0b927a86a447a145f20bb5ee43fac79a724640f2";
101
+
fetchSubmodules = false;
102
+
sha256 = "sha256-lQpl6ecQfQ7KzEIytH3k4hLtvq+KkTL+3IR2ZukdZWM=";
100
103
};
104
+
date = "2025-10-23";
101
105
};
102
106
ncr = {
103
107
pname = "ncr";
···
113
117
};
114
118
date = "2025-07-18";
115
119
};
116
-
nixos-wsl = {
117
-
pname = "nixos-wsl";
118
-
version = "f98ee1de1fa36eca63c67b600f5d617e184e82ea";
120
+
nixos-hardware = {
121
+
pname = "nixos-hardware";
122
+
version = "d6645c340ef7d821602fd2cd199e8d1eed10afbc";
119
123
src = fetchFromGitHub {
120
-
owner = "nix-community";
121
-
repo = "NixOS-WSL";
122
-
rev = "f98ee1de1fa36eca63c67b600f5d617e184e82ea";
124
+
owner = "NixOS";
125
+
repo = "nixos-hardware";
126
+
rev = "d6645c340ef7d821602fd2cd199e8d1eed10afbc";
123
127
fetchSubmodules = false;
124
-
sha256 = "sha256-wfWqt+igns/VazjPLkyb4Z/wpn4v+XIjUeI3xY/1ENg=";
128
+
sha256 = "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=";
125
129
};
126
-
date = "2025-10-15";
130
+
date = "2025-10-20";
127
131
};
128
132
nsid-tracker = {
129
133
pname = "nsid-tracker";
···
138
142
sha256 = "sha256-utNIYZiuPql6gvM8k8T/NuLomFRWknfbFvvHpXPei3k=";
139
143
};
140
144
date = "2025-09-11";
145
+
};
146
+
stylix = {
147
+
pname = "stylix";
148
+
version = "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a";
149
+
src = fetchFromGitHub {
150
+
owner = "nix-community";
151
+
repo = "stylix";
152
+
rev = "f8f4e3c3658ee962f8f332a56720c8dfc2836f7a";
153
+
fetchSubmodules = false;
154
+
sha256 = "sha256-nKOOPeblDcebtYfBjHo+PHXHKNSNKuifn1EGcBEgKWs=";
155
+
};
156
+
date = "2025-10-28";
141
157
};
142
158
tangled = {
143
159
pname = "tangled";
144
-
version = "0a2ae70c248e8b880b6c109e3af8eddc0d69212b";
160
+
version = "7949848c82215f1fffa948bf5e61f7e8eff94a71";
145
161
src = fetchgit {
146
162
url = "https://tangled.org/@tangled.org/core";
147
-
rev = "0a2ae70c248e8b880b6c109e3af8eddc0d69212b";
163
+
rev = "7949848c82215f1fffa948bf5e61f7e8eff94a71";
148
164
fetchSubmodules = false;
149
165
deepClone = false;
150
166
leaveDotGit = false;
151
167
sparseCheckout = [ ];
152
-
sha256 = "sha256-CEIJqCphXGAt1zzc/Q316G+sfYmpCtJ9ZVWNoXa1mk4=";
168
+
sha256 = "sha256-yng1Usbmcwrcz3H214CF9Xp/zr58qr2578yw26YrTGk=";
153
169
};
154
-
date = "2025-10-22";
170
+
date = "2025-10-28";
155
171
};
156
172
tangled-sqlite-lib = {
157
173
pname = "tangled-sqlite-lib";
···
160
176
url = "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip";
161
177
sha256 = "sha256-bJoMjirsBjm2Qk9KPiy3yV3+8b/POlYe76/FQbciHro=";
162
178
};
179
+
};
180
+
zen-browser = {
181
+
pname = "zen-browser";
182
+
version = "79a94872a3e6993a051c4e22a2dcb02c1d088acf";
183
+
src = fetchFromGitHub {
184
+
owner = "0xc000022070";
185
+
repo = "zen-browser-flake";
186
+
rev = "79a94872a3e6993a051c4e22a2dcb02c1d088acf";
187
+
fetchSubmodules = false;
188
+
sha256 = "sha256-E1PobJMiFmVUX2YdqYk/MpKb0LXavOYvlg8DCBBzlHc=";
189
+
};
190
+
date = "2025-10-27";
163
191
};
164
192
}
+4
-4
flake.lock
+4
-4
flake.lock
···
3
3
"nixpkgs": {
4
4
"flake": false,
5
5
"locked": {
6
-
"lastModified": 1761164809,
7
-
"narHash": "sha256-3uM91Lx9WZomE6MMEBorJyEyBNiHWRIxza/GganDxew=",
6
+
"lastModified": 1761512058,
7
+
"narHash": "sha256-FYDC/VM/Tu7bJ9uwxmZqIhkz7QblCcp65+LMb4StGTY=",
8
8
"owner": "NixOS",
9
9
"repo": "nixpkgs",
10
-
"rev": "3d2db9755e7815937fb7b8f089fad9b44bc416d8",
10
+
"rev": "42060c40fd43c114af7010980168f8dcba734d3b",
11
11
"type": "github"
12
12
},
13
13
"original": {
14
14
"owner": "NixOS",
15
-
"ref": "nixos-unstable-small",
16
15
"repo": "nixpkgs",
16
+
"rev": "42060c40fd43c114af7010980168f8dcba734d3b",
17
17
"type": "github"
18
18
}
19
19
},
+1
-1
flake.nix
+1
-1
flake.nix
+63
hosts/chernobog/default.nix
+63
hosts/chernobog/default.nix
···
1
+
{
2
+
config,
3
+
lib,
4
+
tlib,
5
+
pkgs,
6
+
inputs,
7
+
...
8
+
}:
9
+
{
10
+
imports =
11
+
with inputs;
12
+
[
13
+
"${inputs.disko}/module.nix"
14
+
"${inputs.home}/nixos"
15
+
"${inputs.nixos-hardware}/common/pc"
16
+
"${inputs.nixos-hardware}/common/pc/ssd"
17
+
"${inputs.nixos-hardware}/common/cpu/amd"
18
+
"${inputs.nixos-hardware}/common/cpu/amd/pstate.nix"
19
+
"${inputs.nixos-hardware}/common/cpu/amd/zenpower.nix"
20
+
"${inputs.nixos-hardware}/common/gpu/amd"
21
+
../../users/root
22
+
../../users/mayer
23
+
../../modules/base
24
+
]
25
+
++ (tlib.importFolder (toString ./modules));
26
+
27
+
security = {
28
+
pam.loginLimits = [
29
+
{
30
+
domain = "*";
31
+
type = "soft";
32
+
item = "nofile";
33
+
value = "16777216";
34
+
}
35
+
{
36
+
domain = "*";
37
+
type = "hard";
38
+
item = "nofile";
39
+
value = "16777216";
40
+
}
41
+
];
42
+
};
43
+
44
+
services.pipewire = {
45
+
enable = true;
46
+
audio.enable = true;
47
+
alsa.enable = true;
48
+
alsa.support32Bit = true;
49
+
pulse.enable = true;
50
+
jack.enable = true;
51
+
};
52
+
53
+
fonts = {
54
+
enableDefaultPackages = true;
55
+
packages = [ pkgs.dejavu_fonts ];
56
+
};
57
+
58
+
services.earlyoom.enable = true;
59
+
60
+
hardware.enableRedistributableFirmware = true;
61
+
62
+
system.stateVersion = "25.05";
63
+
}
+8
hosts/chernobog/modules/boot.nix
+8
hosts/chernobog/modules/boot.nix
+3
hosts/chernobog/modules/cosmic.disabled
+3
hosts/chernobog/modules/cosmic.disabled
+47
hosts/chernobog/modules/disk-config.nix
+47
hosts/chernobog/modules/disk-config.nix
···
1
+
{
2
+
disko.devices = {
3
+
disk = {
4
+
main = {
5
+
type = "disk";
6
+
device = "/dev/nvme0n1";
7
+
content = {
8
+
type = "gpt";
9
+
partitions = {
10
+
ESP = {
11
+
priority = 1;
12
+
size = "500M";
13
+
type = "EF00";
14
+
content = {
15
+
type = "filesystem";
16
+
format = "vfat";
17
+
mountpoint = "/boot";
18
+
mountOptions = [ "umask=0077" ];
19
+
};
20
+
};
21
+
root = {
22
+
priority = 2;
23
+
end = "-14G";
24
+
content = {
25
+
type = "btrfs";
26
+
extraArgs = [ "-f" ];
27
+
mountpoint = "/";
28
+
mountOptions = [
29
+
"compress=zstd"
30
+
"noatime"
31
+
];
32
+
};
33
+
};
34
+
plainSwap = {
35
+
priority = 3;
36
+
size = "100%";
37
+
content = {
38
+
type = "swap";
39
+
discardPolicy = "both";
40
+
};
41
+
};
42
+
};
43
+
};
44
+
};
45
+
};
46
+
};
47
+
}
+5
hosts/chernobog/modules/fix-wake.nix
+5
hosts/chernobog/modules/fix-wake.nix
+17
hosts/chernobog/modules/greetd.nix
+17
hosts/chernobog/modules/greetd.nix
···
1
+
{ pkgs, ... }:
2
+
{
3
+
services.greetd = {
4
+
enable = true;
5
+
settings = {
6
+
terminal.vt = 1;
7
+
default_session = {
8
+
command = "${pkgs.tuigreet}/bin/tuigreet --issue --time --cmd sway";
9
+
user = "greeter";
10
+
};
11
+
};
12
+
};
13
+
systemd.services = {
14
+
"getty@tty1".enable = false;
15
+
"autovt@tty1".enable = false;
16
+
};
17
+
}
+1
hosts/chernobog/modules/keychron-v4.nix
+1
hosts/chernobog/modules/keychron-v4.nix
···
1
+
../../../modules/keyboards/keychron-v4/default.nix
+46
hosts/chernobog/modules/lact.nix/config.yaml
+46
hosts/chernobog/modules/lact.nix/config.yaml
···
1
+
version: 5
2
+
daemon:
3
+
log_level: info
4
+
admin_group: wheel
5
+
disable_clocks_cleanup: false
6
+
apply_settings_timer: 5
7
+
gpus:
8
+
1002:7480-1DA2:E482-0000:07:00.0:
9
+
fan_control_enabled: false
10
+
pmfw_options:
11
+
minimum_pwm: 30
12
+
zero_rpm: true
13
+
zero_rpm_threshold: 43
14
+
power_cap: 198.0
15
+
performance_level: auto
16
+
max_core_clock: 3200
17
+
max_memory_clock: 1250
18
+
voltage_offset: -50
19
+
profiles:
20
+
oc:
21
+
gpus:
22
+
1002:7480-1DA2:E482-0000:07:00.0:
23
+
fan_control_enabled: false
24
+
fan_control_settings:
25
+
mode: static
26
+
static_speed: 1.0
27
+
temperature_key: edge
28
+
interval_ms: 500
29
+
curve:
30
+
40: 0.3
31
+
50: 0.35
32
+
60: 0.5
33
+
70: 0.75
34
+
80: 1.0
35
+
pmfw_options:
36
+
minimum_pwm: 15
37
+
target_temperature: 88
38
+
zero_rpm: false
39
+
zero_rpm_threshold: 40
40
+
power_cap: 198.0
41
+
performance_level: auto
42
+
max_core_clock: 3200
43
+
max_memory_clock: 1250
44
+
voltage_offset: -50
45
+
current_profile: oc
46
+
auto_switch_profiles: false
+4
hosts/chernobog/modules/lact.nix/default.nix
+4
hosts/chernobog/modules/lact.nix/default.nix
+5
hosts/chernobog/modules/network.nix
+5
hosts/chernobog/modules/network.nix
+5
hosts/chernobog/modules/tailscale.nix
+5
hosts/chernobog/modules/tailscale.nix
+18
hosts/chernobog/modules/vr.nix
+18
hosts/chernobog/modules/vr.nix
···
1
+
{ pkgs, ... }:
2
+
{
3
+
services.monado = {
4
+
enable = true;
5
+
defaultRuntime = false;
6
+
};
7
+
8
+
services.wivrn = {
9
+
enable = true;
10
+
openFirewall = true;
11
+
defaultRuntime = true;
12
+
autoStart = true;
13
+
};
14
+
15
+
# programs.envision.enable = true;
16
+
17
+
environment.systemPackages = [ pkgs.wlx-overlay-s ];
18
+
}
+9
hosts/chernobog/modules/zswap.nix
+9
hosts/chernobog/modules/zswap.nix
···
1
+
{
2
+
boot.initrd.systemd.enable = true;
3
+
boot.kernelParams = [
4
+
"zswap.enabled=1" # enables zswap
5
+
"zswap.compressor=lz4" # compression algorithm
6
+
"zswap.max_pool_percent=13" # maximum percentage of RAM that zswap is allowed to use
7
+
"zswap.shrinker_enabled=1" # whether to shrink the pool proactively on high memory pressure
8
+
];
9
+
}
+1
hosts/default.nix
+1
hosts/default.nix
+10
-52
modules/base/default.nix
+10
-52
modules/base/default.nix
···
23
23
systemPackages = with pkgs; [
24
24
binutils
25
25
coreutils
26
+
dnsutils
27
+
moreutils
28
+
iputils
26
29
curl
27
30
direnv
28
-
dnsutils
29
-
dosfstools
30
31
fd
31
-
bottom
32
-
gptfdisk
33
-
iputils
34
-
jq
35
-
manix
36
-
moreutils
37
-
nix-index
38
32
nmap
39
33
ripgrep
40
-
skim
41
34
tealdeer
42
35
usbutils
43
36
util-linux
44
-
whois
45
-
bat
46
-
fzf
47
-
eza
48
-
lm_sensors
49
-
mkpasswd
50
37
bottom
51
-
amber
52
38
unzip
53
39
unrar
54
-
hydra-check
55
-
du-dust
56
-
mosh
57
40
git
58
-
git-crypt
59
41
];
60
42
shellAliases =
61
43
let
62
44
ifSudo = string: mkIf config.security.sudo.enable string;
63
45
inherit (pkgs)
64
-
git
65
-
bat
66
-
eza
67
46
du-dust
68
47
;
69
48
in
70
49
{
71
-
g = pkgBin git;
72
-
git-optimize = "${pkgBin git} gc --aggressive --prune=now";
73
-
cat = "${pkgBin bat} -pp --theme=base16";
74
-
c = "cat";
50
+
g = pkgBin config.programs.git.package;
75
51
du = "${pkgBin du-dust}";
76
52
df = "${coreBin "df"} -h";
77
53
free = "${pkgs.procps}/bin/free -h";
78
-
ls = pkgBin eza;
79
-
l = "${pkgBin eza} -lhg";
80
-
la = "${pkgBin eza} -lhg -a";
81
-
t = "${pkgBin eza} -lhg -T";
82
-
ta = "${pkgBin eza} -lhg -a -T";
83
54
n = nixBin;
84
55
nb = "${nixBin} build";
85
56
nf = "${nixBin} flake";
···
87
58
nfui = "${nixBin} flake update";
88
59
nfs = "${nixBin} flake show";
89
60
nsh = "${nixBin} shell";
90
-
nix-store-refs = "nix-store -qR";
91
-
nosrs = ifSudo "sudo nixos-rebuild --fast switch";
92
-
nosrb = ifSudo "sudo nixos-rebuild --fast boot";
93
-
nosrt = ifSudo "sudo nixos-rebuild --fast test";
94
-
ngc = ifSudo "sudo nix-collect-garbage";
95
-
ngcdo = ifSudo "sudo nix-collect-garbage --delete-old";
96
61
top = "${pkgs.bottom}/bin/btm";
97
62
myip = "${pkgs.dnsutils}/bin/dig +short myip.opendns.com @208.67.222.222 2>&1";
98
-
mn =
99
-
let
100
-
manix_preview = "manix '{}' | sed 's/type: /> type: /g' | bat -l Markdown --color=always --plain";
101
-
in
102
-
''manix "" | rg '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="${manix_preview}" | xargs manix'';
103
63
# systemd
104
64
ctl = "systemctl";
105
65
stl = ifSudo "s systemctl";
···
114
74
diff-closures /run/current-system "$systemConfig"
115
75
fi
116
76
'';
77
+
117
78
users.mutableUsers = false;
118
-
programs = {
119
-
command-not-found.enable = true;
120
-
git = {
121
-
enable = true;
122
-
config = {
123
-
safe.directory = [ "/etc/nixos" ];
124
-
};
125
-
};
79
+
80
+
programs.mosh = {
81
+
enable = true;
82
+
openFirewall = false;
126
83
};
84
+
programs.git.enable = true;
127
85
}
+2
-1
modules/base/hm-system-defaults.nix
+2
-1
modules/base/hm-system-defaults.nix
+9
modules/de/cosmic.nix
+9
modules/de/cosmic.nix
+1
-1
modules/network/dns/cloudflare.nix
+1
-1
modules/network/dns/cloudflare.nix
+2
modules/nushell/prompt.nu
+2
modules/nushell/prompt.nu
···
10
10
kirara: {start: "0xFF407D", end: "0xEE99C2"},
11
11
root: {start: "0xC5172E", end: "0xBF3131"},
12
12
dusk: {start: "0x640D5F", end: "0xD91656"},
13
+
dawn: {start: "0x640D5F", end: "0xD91656"},
14
+
mayer: {start: "0x640D5F", end: "0xD91656"},
13
15
}
14
16
15
17
def create_left_prompt [] {
+19
-7
nvfetcher.toml
+19
-7
nvfetcher.toml
···
1
1
# nvfetcher configuration for Nix flake inputs
2
2
3
-
[lix-module]
4
-
src.manual = "2.93.3-1"
5
-
fetch.tarball = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz"
6
-
7
-
[nixos-wsl]
8
-
src.git = "https://github.com/nix-community/NixOS-WSL"
9
-
fetch.github = "nix-community/NixOS-WSL"
3
+
[nixos-hardware]
4
+
src.git = "https://github.com/NixOS/nixos-hardware"
5
+
fetch.github = "NixOS/nixos-hardware"
10
6
11
7
[disko]
12
8
src.git = "https://github.com/nix-community/disko"
···
40
36
src.git = "https://tangled.org/@ptr.pet/nsid-tracker"
41
37
fetch.git = "https://tangled.org/@ptr.pet/nsid-tracker"
42
38
39
+
## TANGLED ##
40
+
43
41
[tangled]
44
42
src.git = "https://tangled.org/@tangled.org/core"
45
43
fetch.git = "https://tangled.org/@tangled.org/core"
···
51
49
[gomod2nix]
52
50
src.git = "https://github.com/nix-community/gomod2nix"
53
51
fetch.github = "nix-community/gomod2nix"
52
+
53
+
## TANGLED ##
54
+
55
+
[moonlight]
56
+
src.git = "https://github.com/moonlight-mod/moonlight"
57
+
fetch.github = "moonlight-mod/moonlight"
58
+
59
+
[zen-browser]
60
+
src.git = "https://github.com/0xc000022070/zen-browser-flake"
61
+
fetch.github = "0xc000022070/zen-browser-flake"
62
+
63
+
[stylix]
64
+
src.git = "https://github.com/nix-community/stylix"
65
+
fetch.github = "nix-community/stylix"
+1
pkgs-set/pkgs/moonlight.nix
+1
pkgs-set/pkgs/moonlight.nix
···
1
+
{ callPackage, inputs, ... }: callPackage "${inputs.moonlight}/nix" { }
+1
pkgs-set/pkgs/zen-browser.nix
+1
pkgs-set/pkgs/zen-browser.nix
···
1
+
{ pkgs, inputs, ... }: (import inputs.zen-browser {inherit pkgs;}).twilight
+144
users/mayer/default.nix
+144
users/mayer/default.nix
···
1
+
{
2
+
pkgs,
3
+
lib,
4
+
tlib,
5
+
config,
6
+
...
7
+
}@globalAttrs:
8
+
let
9
+
l = lib // builtins;
10
+
11
+
nixosConfig = globalAttrs.config;
12
+
in
13
+
{
14
+
users.users.mayer = {
15
+
isNormalUser = true;
16
+
createHome = true;
17
+
home = "/home/mayer";
18
+
extraGroups = l.flatten [
19
+
"wheel"
20
+
"adbusers"
21
+
"dialout"
22
+
"video"
23
+
];
24
+
shell = pkgs.nushell;
25
+
hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/";
26
+
};
27
+
28
+
environment.shells = with pkgs; [
29
+
bashInteractive
30
+
nushell
31
+
];
32
+
programs = {
33
+
steam.enable = true;
34
+
gamescope.enable = true;
35
+
gamemode.enable = true;
36
+
appimage = {
37
+
enable = true;
38
+
binfmt = true;
39
+
};
40
+
sway.enable = true;
41
+
};
42
+
systemd = {
43
+
targets.network-online.enable = false;
44
+
services = {
45
+
systemd-networkd-wait-online.enable = false;
46
+
NetworkManager-wait-online.enable = false;
47
+
};
48
+
};
49
+
50
+
home-manager.users.mayer =
51
+
{
52
+
config,
53
+
pkgs,
54
+
inputs,
55
+
secrets,
56
+
...
57
+
}:
58
+
let
59
+
personal = import ../../personal.nix;
60
+
name = personal.name;
61
+
email = personal.emails.primary;
62
+
in
63
+
{
64
+
imports =
65
+
let
66
+
modulesToEnable = l.flatten [
67
+
[
68
+
"wayland"
69
+
"foot"
70
+
]
71
+
# cli stuff
72
+
[
73
+
"zoxide"
74
+
"direnv"
75
+
"nushell"
76
+
]
77
+
# dev stuff
78
+
[
79
+
"helix"
80
+
"git"
81
+
"ssh"
82
+
]
83
+
[
84
+
"zen"
85
+
]
86
+
];
87
+
in
88
+
l.flatten [
89
+
(tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable)
90
+
./stylix.nix
91
+
];
92
+
93
+
home = {
94
+
homeDirectory = nixosConfig.users.users.mayer.home;
95
+
packages = with pkgs; [
96
+
# Font stuff
97
+
noto-fonts-cjk-sans
98
+
font-awesome
99
+
dejavu_fonts
100
+
# Programs
101
+
imv
102
+
mpv
103
+
ffmpeg
104
+
mupdf
105
+
xdg-utils
106
+
transmission_4-gtk
107
+
prismlauncher
108
+
gearlever
109
+
signal-desktop
110
+
];
111
+
};
112
+
113
+
fonts.fontconfig.enable = l.mkForce true;
114
+
115
+
settings.iconTheme = {
116
+
name = "Yaru-dark";
117
+
package = pkgs.yaru-theme;
118
+
};
119
+
120
+
home.pointerCursor = {
121
+
package = pkgs.bibata-cursors;
122
+
name = "Bibata-Modern-Classic";
123
+
size = 24;
124
+
gtk.enable = true;
125
+
x11.enable = true;
126
+
};
127
+
gtk.enable = true;
128
+
gtk.theme.package = pkgs.yaru-theme;
129
+
gtk.theme.name = "Yaru-dark";
130
+
131
+
programs.git.includes = [
132
+
{
133
+
contents = {
134
+
gpg.format = "ssh";
135
+
commit.gpgsign = true;
136
+
user = {
137
+
inherit name email;
138
+
signingkey = builtins.readFile ../../secrets/yusdacra.key.pub;
139
+
};
140
+
};
141
+
}
142
+
];
143
+
};
144
+
}
+63
users/mayer/stylix.nix
+63
users/mayer/stylix.nix
···
1
+
{
2
+
inputs,
3
+
config,
4
+
pkgs,
5
+
terra,
6
+
lib,
7
+
...
8
+
}:
9
+
{
10
+
imports = [(import inputs.stylix).homeModules.stylix];
11
+
12
+
stylix.image = ./wallpaper.png;
13
+
stylix.polarity = "dark";
14
+
stylix.base16Scheme =
15
+
let
16
+
night = "#2b292d";
17
+
ash = "#383539";
18
+
umber = "#4d424b";
19
+
bark = "#6F5D63";
20
+
mist = "#D1D1E0";
21
+
sage = "#B1B695";
22
+
blush = "#fecdb2";
23
+
coral = "#ffa07a";
24
+
rose = "#F6B6C9";
25
+
ember = "#e06b75";
26
+
honey = "#F5D76E";
27
+
in
28
+
{
29
+
base00 = night;
30
+
base01 = ash;
31
+
base02 = umber;
32
+
base03 = bark;
33
+
base04 = blush;
34
+
base05 = mist;
35
+
base06 = mist;
36
+
base07 = bark;
37
+
base08 = ember;
38
+
base09 = honey;
39
+
base0A = rose;
40
+
base0B = sage;
41
+
base0C = bark;
42
+
base0D = coral;
43
+
base0E = blush;
44
+
base0F = umber;
45
+
};
46
+
47
+
stylix.fonts = {
48
+
serif = {
49
+
name = "Comic Relief";
50
+
package = pkgs.comic-relief;
51
+
};
52
+
sansSerif = config.stylix.fonts.serif;
53
+
monospace = {
54
+
name = "Comic Mono";
55
+
package = terra.comic-mono;
56
+
};
57
+
};
58
+
59
+
stylix.fonts.sizes = {
60
+
popups = 13;
61
+
terminal = 13;
62
+
};
63
+
}
+10
-32
users/modules/discord/default.nix
+10
-32
users/modules/discord/default.nix
···
1
1
{
2
-
config,
3
-
inputs,
4
2
pkgs,
5
-
lib,
3
+
terra,
4
+
inputs,
6
5
...
7
6
}:
8
7
{
9
-
home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [
10
-
".config/ArmCord"
8
+
# imports = ["${inputs.moonlight}/nix/home-manager.nix"];
9
+
10
+
home.packages = [
11
+
(pkgs.discord.override {
12
+
withMoonlight = true;
13
+
inherit (terra) moonlight;
14
+
withOpenASAR = true;
15
+
})
11
16
];
12
-
home.packages =
13
-
let
14
-
flags = [
15
-
# "--flag-switches-begin"
16
-
# "--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer"
17
-
# "--flag-switches-end"
18
-
# "--ozone-platform=wayland"
19
-
# "--enable-webrtc-pipewire-capturer"
20
-
# "--disable-gpu-memory-buffer-video-frames"
21
-
# "--enable-accelerated-mjpeg-decode"
22
-
# "--enable-accelerated-video"
23
-
# "--enable-gpu-rasterization"
24
-
# "--enable-native-gpu-memory-buffers"
25
-
# "--enable-zero-copy"
26
-
# "--ignore-gpu-blocklist"
27
-
];
28
-
pkg =
29
-
(pkgs.armcord.override {
30
-
nss = pkgs.nss_latest;
31
-
}).overrideAttrs
32
-
(old: {
33
-
# preInstall = ''
34
-
# gappsWrapperArgs+=("--add-flags" "${lib.concatStringsSep " " flags}")
35
-
# '';
36
-
});
37
-
in
38
-
[ pkg ];
39
17
}
+262
users/modules/discord/moonlight.json
+262
users/modules/discord/moonlight.json
···
1
+
{
2
+
"extensions": {
3
+
"moonbase": true,
4
+
"disableSentry": true,
5
+
"noTrack": true,
6
+
"noHideToken": true,
7
+
"alwaysShowForwardTime": {
8
+
"enabled": true
9
+
},
10
+
"betterCodeblocks": {
11
+
"enabled": true
12
+
},
13
+
"ownerCrown": {
14
+
"enabled": true
15
+
},
16
+
"betterEmbedsYT": {
17
+
"enabled": true
18
+
},
19
+
"callTimer": {
20
+
"enabled": true
21
+
},
22
+
"clearUrls": {
23
+
"enabled": true
24
+
},
25
+
"cloneExpressions": {
26
+
"enabled": true
27
+
},
28
+
"copyAvatarUrl": {
29
+
"enabled": true
30
+
},
31
+
"copyWebp": {
32
+
"enabled": true
33
+
},
34
+
"dmFavorites": {
35
+
"enabled": true
36
+
},
37
+
"domOptimizer": {
38
+
"enabled": true
39
+
},
40
+
"experiments": {
41
+
"enabled": true,
42
+
"config": {
43
+
"devtools": true
44
+
}
45
+
},
46
+
"inAppNotifications": {
47
+
"enabled": true
48
+
},
49
+
"nativeFixes": {
50
+
"enabled": true,
51
+
"config": {
52
+
"vulkan": false
53
+
}
54
+
},
55
+
"noJoinMessageWave": {
56
+
"enabled": true
57
+
},
58
+
"noReplyPing": {
59
+
"enabled": true
60
+
},
61
+
"noSmoothScrolling": {
62
+
"enabled": true
63
+
},
64
+
"oneko": {
65
+
"enabled": true
66
+
},
67
+
"osuTyping": {
68
+
"enabled": false
69
+
},
70
+
"platformIcons": {
71
+
"enabled": false
72
+
},
73
+
"pronouns": {
74
+
"enabled": true
75
+
},
76
+
"quietLoggers": {
77
+
"enabled": true
78
+
},
79
+
"remind-me": {
80
+
"enabled": true
81
+
},
82
+
"reverseImageSearch": {
83
+
"enabled": true
84
+
},
85
+
"sendTimestamps": {
86
+
"enabled": true
87
+
},
88
+
"showReplySelf": {
89
+
"enabled": true
90
+
},
91
+
"showVoiceMemberCount": {
92
+
"enabled": true
93
+
},
94
+
"translateText": {
95
+
"enabled": true
96
+
},
97
+
"unindent": {
98
+
"enabled": true
99
+
},
100
+
"moonlight-css": {
101
+
"enabled": true,
102
+
"config": {
103
+
"paths": [
104
+
"https://gist.githubusercontent.com/90-008/67ee4f4090a6892b760bb242dee7d34d/raw/5ae2efc2ab08e42f1966d2f5b0e0a4163b1e7433/dickcord.css",
105
+
"https://gist.githubusercontent.com/90-008/d47b927184ae485456956840692edca0/raw/90d40509c67fd4068d133662b7320842fd1e4772/gistfile1.txt",
106
+
"https://gist.githubusercontent.com/90-008/b031ebeb852bda832c1ba6258b4bdfa1/raw/ae1a3077a7edc8db2511b868eb8ac44f66f98905/hide.css",
107
+
"https://gist.githubusercontent.com/90-008/b5e835890e263bf1eec4a9d83b4a8dbe/raw/3780220391742455c2e9fd0230af45e3c6091829/gistfile1.css",
108
+
"https://ukriu.github.io/cssCord/Other/noDistractions.css",
109
+
"https://raw.githubusercontent.com/Bonkeyzz/Discord-Remove-useless-chat-buttons/main/RemoveChatButtons.theme.css"
110
+
],
111
+
"themeAttributes": true
112
+
}
113
+
},
114
+
"selectivelyReduceMotion": {
115
+
"enabled": true,
116
+
"config": {
117
+
"avatarDecorations": false,
118
+
"profileEffects": false,
119
+
"scrolling": true
120
+
}
121
+
},
122
+
"mediaTweaks": {
123
+
"enabled": true,
124
+
"config": {
125
+
"noThumbnailSize": false,
126
+
"noWebp": false,
127
+
"noGifAutosend": false,
128
+
"imageUrls": false
129
+
}
130
+
},
131
+
"allActivities": {
132
+
"enabled": true
133
+
},
134
+
"betterTags": {
135
+
"enabled": true
136
+
},
137
+
"noHelp": {
138
+
"enabled": true
139
+
},
140
+
"noReplyChainNag": {
141
+
"enabled": true
142
+
},
143
+
"onePingPerDM": {
144
+
"enabled": true,
145
+
"config": {
146
+
"allowMentionsBypass": true
147
+
}
148
+
},
149
+
"silenceTyping": {
150
+
"enabled": true
151
+
},
152
+
"betterUploadButton": {
153
+
"enabled": true
154
+
},
155
+
"customSearchEngine": {
156
+
"enabled": true
157
+
},
158
+
"dmDates": {
159
+
"enabled": true
160
+
},
161
+
"doubleClickActions": {
162
+
"enabled": false
163
+
},
164
+
"imgTitle": {
165
+
"enabled": true,
166
+
"config": {
167
+
"showFullUrl": true
168
+
}
169
+
},
170
+
"imageViewer": {
171
+
"enabled": true
172
+
},
173
+
"inviteToNowhere": {
174
+
"enabled": true
175
+
},
176
+
"markdown": {
177
+
"enabled": true
178
+
},
179
+
"mentionAvatars": {
180
+
"enabled": true
181
+
},
182
+
"noInlineLinks": {
183
+
"enabled": true
184
+
},
185
+
"noMaskedLinkPaste": {
186
+
"enabled": true
187
+
},
188
+
"openExternally": {
189
+
"enabled": true
190
+
},
191
+
"resolver": {
192
+
"enabled": true
193
+
},
194
+
"alwaysFocus": false,
195
+
"callIdling": true,
196
+
"colorConsistency": true,
197
+
"freeScreenShare": true,
198
+
"highlight": {
199
+
"enabled": false,
200
+
"config": {
201
+
"ignoreFocusMode": true,
202
+
"keywords": []
203
+
}
204
+
},
205
+
"spacepack": {
206
+
"config": {
207
+
"addToGlobalScope": true
208
+
}
209
+
},
210
+
"muteGuildOnJoin": true,
211
+
"antiDelete": {
212
+
"enabled": true,
213
+
"config": {
214
+
"ignoreBots": false,
215
+
"ignoreSelf": true,
216
+
"ignorePluralKit": false,
217
+
"ignoredUsers": [
218
+
"647368715742216193",
219
+
"798918994987188276"
220
+
]
221
+
}
222
+
},
223
+
"nameColor": {
224
+
"enabled": true,
225
+
"config": {
226
+
"colorize": "All"
227
+
}
228
+
},
229
+
"freeMoji": true,
230
+
"freeStickers": true,
231
+
"meow": {
232
+
"enabled": true,
233
+
"config": {
234
+
"woof": true
235
+
}
236
+
},
237
+
"doubleClickToJoin": true,
238
+
"linkRedirect": false,
239
+
"manuallyJoinVoice": true,
240
+
"popoutDates": true,
241
+
"removeTopBar": true,
242
+
"streamQualityWorkaround": true,
243
+
"whosWatching": false,
244
+
"cleanChatBar": {
245
+
"enabled": true,
246
+
"config": {
247
+
"removedButtons": [
248
+
"gift",
249
+
"activity",
250
+
"sticker"
251
+
]
252
+
}
253
+
},
254
+
"favouriteGifSearch": true,
255
+
"noOnboardingDelay": true
256
+
},
257
+
"repositories": [
258
+
"https://moonlight-mod.github.io/extensions-dist/repo.json",
259
+
"https://cynosphere.github.io/schirra/repo.json",
260
+
"https://lare354.github.io/moonlight-plugins/repo.json"
261
+
]
262
+
}
+14
-1
users/modules/foot/default.nix
+14
-1
users/modules/foot/default.nix
···
10
10
enable = true;
11
11
package = pkgs.foot;
12
12
server.enable = false;
13
-
settings.main.dpi-aware = lib.mkForce "yes";
13
+
settings = {
14
+
main = {
15
+
login-shell = "yes";
16
+
dpi-aware = lib.mkForce "yes";
17
+
font = "Comic Mono:size=12";
18
+
};
19
+
csd = {
20
+
preferred = "client";
21
+
size = 0;
22
+
};
23
+
mouse.hide-when-typing = "yes";
24
+
scrollback.lines = 100000;
25
+
bell.system = "no";
26
+
};
14
27
};
15
28
}
+44
-41
users/modules/git/default.nix
+44
-41
users/modules/git/default.nix
···
2
2
{
3
3
programs.git = {
4
4
enable = true;
5
-
extraConfig = {
6
-
pull.rebase = true;
7
-
safe.directory = "/etc/nixos";
8
-
diff.external = "${pkgs.difftastic}/bin/difft";
9
-
};
10
-
lfs.enable = true;
11
-
aliases = {
12
-
a = "add -p";
13
-
co = "checkout";
14
-
cob = "checkout -b";
15
-
f = "fetch -p";
16
-
c = "commit";
17
-
ps = "push";
18
-
pl = "pull";
19
-
rb = "rebase";
20
-
ba = "branch -a";
21
-
bd = "branch -d";
22
-
bD = "branch -D";
23
-
d = "diff";
24
-
dc = "diff --cached";
25
-
ds = "diff --staged";
26
-
rs = "restore";
27
-
rss = "restore --staged";
28
-
s = "status -sb";
29
-
ss = "stash";
30
-
ssp = "stash pop";
31
-
ssl = "stash list";
32
-
ssd = "stash drop";
33
-
# reset
34
-
rsoft = "reset --soft";
35
-
rhard = "reset --hard";
36
-
rs1ft = "soft HEAD~1";
37
-
rh1rd = "hard HEAD~1";
38
-
# logging
39
-
l = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
40
-
plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'";
41
-
tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative";
42
-
rank = "shortlog -sn --no-merges";
43
-
# delete merged branches
44
-
bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d";
45
-
};
5
+
includes = [
6
+
{
7
+
contents = {
8
+
9
+
pull.rebase = true;
10
+
diff.external = "${pkgs.difftastic}/bin/difft";
11
+
alias = {
12
+
a = "add -p";
13
+
co = "checkout";
14
+
cob = "checkout -b";
15
+
f = "fetch -p";
16
+
c = "commit";
17
+
ps = "push";
18
+
pl = "pull";
19
+
rb = "rebase";
20
+
ba = "branch -a";
21
+
bd = "branch -d";
22
+
bD = "branch -D";
23
+
d = "diff";
24
+
dc = "diff --cached";
25
+
ds = "diff --staged";
26
+
rs = "restore";
27
+
rss = "restore --staged";
28
+
s = "status -sb";
29
+
ss = "stash";
30
+
ssp = "stash pop";
31
+
ssl = "stash list";
32
+
ssd = "stash drop";
33
+
# reset
34
+
rsoft = "reset --soft";
35
+
rhard = "reset --hard";
36
+
rs1ft = "soft HEAD~1";
37
+
rh1rd = "hard HEAD~1";
38
+
# logging
39
+
l = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
40
+
plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'";
41
+
tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative";
42
+
rank = "shortlog -sn --no-merges";
43
+
# delete merged branches
44
+
bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d";
45
+
};
46
+
};
47
+
}
48
+
];
46
49
};
47
50
}
+2
-63
users/modules/nushell/default.nix
+2
-63
users/modules/nushell/default.nix
···
1
1
{ pkgs, lib, ... }:
2
2
{
3
+
home.shell.enableNushellIntegration = true;
4
+
3
5
programs.carapace.enable = true;
4
-
programs.carapace.enableNushellIntegration = true;
5
6
programs.nushell = {
6
7
enable = true;
7
-
shellAliases = {
8
-
myip = lib.mkForce "echo";
9
-
};
10
8
extraEnv = ''
11
9
source-env ${./prompt.nu}
12
10
'';
13
11
extraConfig = ''
14
-
let carapace_completer = {|spans: list<string>|
15
-
carapace $spans.0 nushell ...$spans
16
-
| from json
17
-
| if ($in | default [] | where value == $"($spans | last)ERR" | is-empty) { $in } else { null }
18
-
}
19
-
$env.CARAPACE_BRIDGES = 'zsh,fish,bash,inshellisense'
20
-
21
-
let fish_completer = {|spans|
22
-
${lib.getExe pkgs.fish} --command $'complete "--do-complete=($spans | str join " ")"'
23
-
| $"value(char tab)description(char newline)" + $in
24
-
| from tsv --flexible --no-infer
25
-
}
26
-
27
-
let zoxide_completer = {|spans|
28
-
$spans | skip 1 | zoxide query -l ...$in | lines | where {|x| $x != $env.PWD}
29
-
}
30
-
31
-
let multiple_completers = {|spans|
32
-
## alias fixer start https://www.nushell.sh/cookbook/external_completers.html#alias-completions
33
-
let expanded_alias = scope aliases
34
-
| where name == $spans.0
35
-
| get -i 0.expansion
36
-
37
-
let spans = if $expanded_alias != null {
38
-
$spans
39
-
| skip 1
40
-
| prepend ($expanded_alias | split row ' ' | take 1)
41
-
} else {
42
-
$spans
43
-
}
44
-
## alias fixer end
45
-
46
-
match $spans.0 {
47
-
__zoxide_z | __zoxide_zi => $zoxide_completer
48
-
_ => $carapace_completer
49
-
} | do $in $spans
50
-
}
51
-
52
-
$env.config = {
53
-
show_banner: false,
54
-
completions: {
55
-
case_sensitive: false # case-sensitive completions
56
-
quick: true # set to false to prevent auto-selecting completions
57
-
partial: true # set to false to prevent partial filling of the prompt
58
-
algorithm: "fuzzy" # prefix or fuzzy
59
-
external: {
60
-
# set to false to prevent nushell looking into $env.PATH to find more suggestions
61
-
enable: true
62
-
# set to lower can improve completion performance at the cost of omitting some options
63
-
max_results: 100
64
-
completer: $multiple_completers
65
-
}
66
-
}
67
-
}
68
-
$env.PATH = ($env.PATH |
69
-
split row (char esep) |
70
-
append /usr/bin/env
71
-
)
72
-
73
12
source ${./aliases.nu}
74
13
'';
75
14
};
+13
-16
users/modules/sway/default.nix
+13
-16
users/modules/sway/default.nix
···
15
15
../rofi
16
16
# ./swayidle.nix
17
17
];
18
+
18
19
wayland.windowManager = {
19
20
sway =
20
21
let
···
25
26
in
26
27
{
27
28
enable = true;
28
-
extraSessionCommands = ''
29
-
export QT_QPA_PLATFORM=wayland
30
-
'';
31
29
wrapperFeatures.gtk = true;
32
-
extraConfig = ''
33
-
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
34
-
exec xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2
35
-
'';
36
30
config = {
37
31
bars = [ ];
38
32
gaps.smartBorders = "on";
39
-
menu = mkRofiCmd [
40
-
"-show"
41
-
"drun"
42
-
];
33
+
menu = mkRofiCmd ["-show" "drun"];
43
34
modifier = "Mod4";
44
35
terminal = config.settings.terminal.binary;
36
+
startup = [
37
+
{command = "mkdir -p ${config.home.homeDirectory}/shots";}
38
+
];
45
39
keybindings =
46
40
let
47
41
mod = config.wayland.windowManager.sway.config.modifier;
···
64
58
"${mod}+q" = "kill";
65
59
"${mod}+Shift+e" = "exit";
66
60
"${mod}+Shift+r" = "reload";
67
-
# Screenshot and copy it to clipboard
61
+
# screenshot and copy it to clipboard
68
62
"Mod1+s" = ''
69
63
exec export SFILE="${shotFile}.png" && mkdir -p ${shotDir} && ${grim} "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png
70
64
'';
71
-
# Save selected area as a picture and copy it to clipboard
65
+
# save selected area as a picture and copy it to clipboard
72
66
"Mod1+Shift+s" = ''
73
67
exec export SFILE="${shotFile}.png" && mkdir -p ${shotDir} && ${grim} -g "$(${slurp})" "$SFILE" && ${cat} "$SFILE" | ${wl-copy} -t image/png
74
68
'';
75
-
# Record screen
69
+
# record screen
76
70
"Mod1+r" = ''exec mkdir -p ${shotDir} && ${wf-recorder} -x yuv420p -f "${shotFile}.mp4"'';
77
-
# Record an area
71
+
# record an area
78
72
"Mod1+Shift+r" =
79
73
''exec mkdir -p ${shotDir} && ${wf-recorder} -x yuv420p -g "$(${slurp})" -f "${shotFile}.mp4"'';
80
-
# Stop recording
74
+
# stop recording
81
75
"Mod1+c" = "exec pkill -INT wf-recorder";
82
76
"XF86AudioRaiseVolume" = "exec ${pactl} set-sink-volume 0 +5%";
83
77
"XF86AudioLowerVolume" = "exec ${pactl} set-sink-volume 0 -5%";
···
114
108
"eDP-1" = {
115
109
scale = "2";
116
110
adaptive_sync = "on";
111
+
};
112
+
"DP-1" = {
113
+
mode = "1920x1080@165Hz";
117
114
};
118
115
"HDMI-A-1" = {
119
116
mode = "1920x1080@74.973Hz";
+3
users/modules/zen/default.nix
+3
users/modules/zen/default.nix
+1
-12
users/modules/zoxide/default.nix
+1
-12
users/modules/zoxide/default.nix
···
1
1
{
2
-
pkgs,
3
-
config,
4
-
lib,
5
-
...
6
-
}:
7
-
{
8
-
home.packages = [ pkgs.zoxide ];
9
-
home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories =
10
-
lib.singleton ".local/share/zoxide";
11
-
programs.zsh.initExtra = ''
12
-
eval "$(zoxide init zsh)"
13
-
'';
2
+
programs.zoxide.enable = true;
14
3
}