tangled
alpha
login
or
join now
vt3e.cat
/
petals
1
fork
atom
my nix flake.
1
fork
atom
overview
issues
pulls
pipelines
ivy: misc changes + readd virtualhost for pds
vt3e.cat
4 months ago
81a704f4
dc65deb4
verified
This commit was signed with the committer's
known signature
.
vt3e.cat
SSH Key Fingerprint:
SHA256:bC12nO0d6wKnJ426YBbLO7LVxmZlwJ1l2X0eqOroDV0=
+224
-66
9 changed files
expand all
collapse all
unified
split
flake.lock
flake.nix
hosts
default.nix
ivy
caddy.nix
default.nix
services
ddns.nix
default.nix
pds.nix
user
programs
git.nix
+171
-45
flake.lock
···
7
7
]
8
8
},
9
9
"locked": {
10
10
-
"lastModified": 1760084311,
11
11
-
"narHash": "sha256-YpNNtvA8v28Gd3/PHXCABuBWOzR0K8CyQPga13LxBH0=",
10
10
+
"lastModified": 1762452589,
11
11
+
"narHash": "sha256-SZsqazkBxSLsiwup6bj4BcSFNkcP5ficCIa1/H1RKk8=",
12
12
"owner": "catppuccin",
13
13
"repo": "nix",
14
14
-
"rev": "fa3a9d5f80ebfe7f4974bc1939f558690cc56359",
14
14
+
"rev": "f8268123e66838a903136b85e647069005fb0138",
15
15
"type": "github"
16
16
},
17
17
"original": {
···
20
20
"type": "github"
21
21
}
22
22
},
23
23
+
"darwin": {
24
24
+
"inputs": {
25
25
+
"nixpkgs": [
26
26
+
"agenix",
27
27
+
"nixpkgs"
28
28
+
]
29
29
+
},
30
30
+
"locked": {
31
31
+
"lastModified": 1744478979,
32
32
+
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
33
33
+
"owner": "lnl7",
34
34
+
"repo": "nix-darwin",
35
35
+
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
36
36
+
"type": "github"
37
37
+
},
38
38
+
"original": {
39
39
+
"owner": "lnl7",
40
40
+
"ref": "master",
41
41
+
"repo": "nix-darwin",
42
42
+
"type": "github"
43
43
+
}
44
44
+
},
23
45
"flake-parts": {
24
46
"inputs": {
25
47
"nixpkgs-lib": "nixpkgs-lib"
26
48
},
27
49
"locked": {
28
28
-
"lastModified": 1759362264,
29
29
-
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
50
50
+
"lastModified": 1762440070,
51
51
+
"narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
30
52
"owner": "hercules-ci",
31
53
"repo": "flake-parts",
32
32
-
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
54
54
+
"rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
33
55
"type": "github"
34
56
},
35
57
"original": {
···
40
62
},
41
63
"flake-utils": {
42
64
"inputs": {
43
43
-
"systems": "systems_2"
65
65
+
"systems": "systems_3"
44
66
},
45
67
"locked": {
46
68
"lastModified": 1731533236,
···
48
70
"owner": "numtide",
49
71
"repo": "flake-utils",
50
72
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
73
73
+
"type": "github"
74
74
+
},
75
75
+
"original": {
76
76
+
"owner": "numtide",
77
77
+
"repo": "flake-utils",
78
78
+
"type": "github"
79
79
+
}
80
80
+
},
81
81
+
"flake-utils_2": {
82
82
+
"inputs": {
83
83
+
"systems": "systems_4"
84
84
+
},
85
85
+
"locked": {
86
86
+
"lastModified": 1681202837,
87
87
+
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
88
88
+
"owner": "numtide",
89
89
+
"repo": "flake-utils",
90
90
+
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
51
91
"type": "github"
52
92
},
53
93
"original": {
···
59
99
"home-manager": {
60
100
"inputs": {
61
101
"nixpkgs": [
102
102
+
"agenix",
62
103
"nixpkgs"
63
104
]
64
105
},
65
106
"locked": {
66
66
-
"lastModified": 1760239230,
67
67
-
"narHash": "sha256-eqSP/BAbQwNTlQ/6yuK0yILzZAPNNj91gp6oIfVtu/E=",
107
107
+
"lastModified": 1745494811,
108
108
+
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
109
109
+
"owner": "nix-community",
110
110
+
"repo": "home-manager",
111
111
+
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
112
112
+
"type": "github"
113
113
+
},
114
114
+
"original": {
115
115
+
"owner": "nix-community",
116
116
+
"repo": "home-manager",
117
117
+
"type": "github"
118
118
+
}
119
119
+
},
120
120
+
"home-manager_2": {
121
121
+
"inputs": {
122
122
+
"nixpkgs": [
123
123
+
"nixpkgs"
124
124
+
]
125
125
+
},
126
126
+
"locked": {
127
127
+
"lastModified": 1762458864,
128
128
+
"narHash": "sha256-O8NI0pOf1GxPaBRhyspWZmtXLo0tzEEvOfMxNh3/8Jo=",
68
129
"owner": "nix-community",
69
130
"repo": "home-manager",
70
70
-
"rev": "c4aaddeaecc09554c92518fd904e3e84b497ed09",
131
131
+
"rev": "f35d0cb75f0669ac8de18d774b336d3d3560bcde",
71
132
"type": "github"
72
133
},
73
134
"original": {
···
88
149
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
89
150
},
90
151
"locked": {
91
91
-
"lastModified": 1760121522,
92
92
-
"narHash": "sha256-8SGgpcZsMZIqFU+J/1OwebC/px8sgx5YYHNw1XkBM98=",
152
152
+
"lastModified": 1762400608,
153
153
+
"narHash": "sha256-cuT7sRqgERQvvsPgonz+0tu308Yy42nyNxgR2AxllEk=",
93
154
"owner": "sodiboo",
94
155
"repo": "niri-flake",
95
95
-
"rev": "17dbedb88a21142c41d120f139e2870bc56bb5f4",
156
156
+
"rev": "e8402dc4d8104f8f81fd16d3d743d43d106f2f47",
96
157
"type": "github"
97
158
},
98
159
"original": {
···
121
182
"niri-unstable": {
122
183
"flake": false,
123
184
"locked": {
124
124
-
"lastModified": 1759395653,
125
125
-
"narHash": "sha256-sv9J1z6CrTPf9lRJLyCN90fZVdQz7LFeX7pIlInH8BQ=",
185
185
+
"lastModified": 1762146685,
186
186
+
"narHash": "sha256-anRlNG6t7esBbF1+ALDeathVBSclA0PEL52Vo0WnN5g=",
126
187
"owner": "YaLTeR",
127
188
"repo": "niri",
128
128
-
"rev": "ba6e5e082a79901dc89b0d49c5da1b769d652aec",
189
189
+
"rev": "a2ca2b3c866bc781b12c334a9f949b3db6d7c943",
129
190
"type": "github"
130
191
},
131
192
"original": {
···
136
197
},
137
198
"nixos-hardware": {
138
199
"locked": {
139
139
-
"lastModified": 1760106635,
140
140
-
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
200
200
+
"lastModified": 1762427122,
201
201
+
"narHash": "sha256-sQJuoiqsaIvKiIOmF/3FDV5dM2TGL2jBv1PeQSt83YE=",
141
202
"owner": "NixOS",
142
203
"repo": "nixos-hardware",
143
143
-
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
204
204
+
"rev": "24084931d8098fce300fabea9e48fa96292228d7",
144
205
"type": "github"
145
206
},
146
207
"original": {
···
152
213
},
153
214
"nixpkgs": {
154
215
"locked": {
155
155
-
"lastModified": 1760038930,
156
156
-
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
216
216
+
"lastModified": 1762111121,
217
217
+
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
157
218
"owner": "NixOS",
158
219
"repo": "nixpkgs",
159
159
-
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
220
220
+
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
160
221
"type": "github"
161
222
},
162
223
"original": {
···
168
229
},
169
230
"nixpkgs-lib": {
170
231
"locked": {
171
171
-
"lastModified": 1754788789,
172
172
-
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
232
232
+
"lastModified": 1761765539,
233
233
+
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
173
234
"owner": "nix-community",
174
235
"repo": "nixpkgs.lib",
175
175
-
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
236
236
+
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
176
237
"type": "github"
177
238
},
178
239
"original": {
···
183
244
},
184
245
"nixpkgs-stable": {
185
246
"locked": {
186
186
-
"lastModified": 1759994382,
187
187
-
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
247
247
+
"lastModified": 1762233356,
248
248
+
"narHash": "sha256-cGS3lLTYusbEP/IJIWGgnkzIl+FA5xDvtiHyjalGr4k=",
188
249
"owner": "NixOS",
189
250
"repo": "nixpkgs",
190
190
-
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
251
251
+
"rev": "ca534a76c4afb2bdc07b681dbc11b453bab21af8",
191
252
"type": "github"
192
253
},
193
254
"original": {
···
199
260
},
200
261
"nixpkgs_2": {
201
262
"locked": {
202
202
-
"lastModified": 1759036355,
203
203
-
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
204
204
-
"owner": "nixos",
263
263
+
"lastModified": 1762111121,
264
264
+
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
265
265
+
"owner": "NixOS",
205
266
"repo": "nixpkgs",
206
206
-
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
267
267
+
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
207
268
"type": "github"
208
269
},
209
270
"original": {
210
210
-
"owner": "nixos",
271
271
+
"owner": "NixOS",
211
272
"ref": "nixos-unstable",
212
273
"repo": "nixpkgs",
213
274
"type": "github"
214
275
}
215
276
},
277
277
+
"nixpkgs_3": {
278
278
+
"locked": {
279
279
+
"lastModified": 1682134069,
280
280
+
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
281
281
+
"owner": "NixOS",
282
282
+
"repo": "nixpkgs",
283
283
+
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
284
284
+
"type": "github"
285
285
+
},
286
286
+
"original": {
287
287
+
"id": "nixpkgs",
288
288
+
"type": "indirect"
289
289
+
}
290
290
+
},
216
291
"root": {
217
292
"inputs": {
293
293
+
"agenix": "agenix",
218
294
"catppuccin": "catppuccin",
219
295
"flake-parts": "flake-parts",
220
220
-
"home-manager": "home-manager",
296
296
+
"home-manager": "home-manager_2",
221
297
"niri": "niri",
222
298
"nixos-hardware": "nixos-hardware",
223
299
"nixpkgs": "nixpkgs",
224
300
"spicetify-nix": "spicetify-nix",
225
225
-
"vicinae": "vicinae"
301
301
+
"vicinae": "vicinae",
302
302
+
"vscode-server": "vscode-server"
226
303
}
227
304
},
228
305
"spicetify-nix": {
···
230
307
"nixpkgs": [
231
308
"nixpkgs"
232
309
],
233
233
-
"systems": "systems"
310
310
+
"systems": "systems_2"
234
311
},
235
312
"locked": {
236
236
-
"lastModified": 1760243311,
237
237
-
"narHash": "sha256-LNrok211+WWlMGWqpGPpnGcnWhyo5SfvMv62uDiLzoI=",
313
313
+
"lastModified": 1762057664,
314
314
+
"narHash": "sha256-mdEEvepIi8ebpGP1WWOHNvNQyd8rF0mUrKAiU6mwHCk=",
238
315
"owner": "Gerg-L",
239
316
"repo": "spicetify-nix",
240
240
-
"rev": "93f1d45e48191a0b24c5c15e5cf369566ff75be9",
317
317
+
"rev": "4aa6e43d29e3c8acf544aa6782a1963a11369208",
241
318
"type": "github"
242
319
},
243
320
"original": {
···
276
353
"type": "github"
277
354
}
278
355
},
356
356
+
"systems_3": {
357
357
+
"locked": {
358
358
+
"lastModified": 1681028828,
359
359
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
360
360
+
"owner": "nix-systems",
361
361
+
"repo": "default",
362
362
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
363
363
+
"type": "github"
364
364
+
},
365
365
+
"original": {
366
366
+
"owner": "nix-systems",
367
367
+
"repo": "default",
368
368
+
"type": "github"
369
369
+
}
370
370
+
},
371
371
+
"systems_4": {
372
372
+
"locked": {
373
373
+
"lastModified": 1681028828,
374
374
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
375
375
+
"owner": "nix-systems",
376
376
+
"repo": "default",
377
377
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
378
378
+
"type": "github"
379
379
+
},
380
380
+
"original": {
381
381
+
"owner": "nix-systems",
382
382
+
"repo": "default",
383
383
+
"type": "github"
384
384
+
}
385
385
+
},
279
386
"vicinae": {
280
387
"inputs": {
281
388
"flake-utils": "flake-utils",
282
389
"nixpkgs": "nixpkgs_2"
283
390
},
284
391
"locked": {
285
285
-
"lastModified": 1760905782,
286
286
-
"narHash": "sha256-3d9nWWbyL2X17pi85d6uzcBZzKEr3YG1wNo/2bTA2oE=",
392
392
+
"lastModified": 1762438376,
393
393
+
"narHash": "sha256-sO8186XCEKI5WRyvJrJOhkEEvhtluNjY5P/TagvuJ40=",
287
394
"owner": "vicinaehq",
288
395
"repo": "vicinae",
289
289
-
"rev": "8cc6e595c5fc487bf1658bb7be9578f073907ca7",
396
396
+
"rev": "b36b894a991aa752edb766afc78b5aa020fe7071",
290
397
"type": "github"
291
398
},
292
399
"original": {
···
295
402
"type": "github"
296
403
}
297
404
},
405
405
+
"vscode-server": {
406
406
+
"inputs": {
407
407
+
"flake-utils": "flake-utils_2",
408
408
+
"nixpkgs": "nixpkgs_3"
409
409
+
},
410
410
+
"locked": {
411
411
+
"lastModified": 1753541826,
412
412
+
"narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=",
413
413
+
"owner": "nix-community",
414
414
+
"repo": "nixos-vscode-server",
415
415
+
"rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d",
416
416
+
"type": "github"
417
417
+
},
418
418
+
"original": {
419
419
+
"owner": "nix-community",
420
420
+
"repo": "nixos-vscode-server",
421
421
+
"type": "github"
422
422
+
}
423
423
+
},
298
424
"xwayland-satellite-stable": {
299
425
"flake": false,
300
426
"locked": {
···
315
441
"xwayland-satellite-unstable": {
316
442
"flake": false,
317
443
"locked": {
318
318
-
"lastModified": 1759707084,
319
319
-
"narHash": "sha256-0pkftKs6/LReNvxw7DVTN2AJEheZVgyeK0Aarbagi70=",
444
444
+
"lastModified": 1762397230,
445
445
+
"narHash": "sha256-PAV8DhLzfo6YwrESrK4ykEj+rUvBYMtbeI0N8SAlsMU=",
320
446
"owner": "Supreeeme",
321
447
"repo": "xwayland-satellite",
322
322
-
"rev": "a9188e70bd748118b4d56a529871b9de5adb9988",
448
448
+
"rev": "56256a1340b771c71a5cfdc881525807edc3fcd2",
323
449
"type": "github"
324
450
},
325
451
"original": {
+2
flake.nix
···
31
31
};
32
32
vicinae.url = "github:vicinaehq/vicinae";
33
33
34
34
+
vicinae.url = "github:vicinaehq/vicinae";
35
35
+
vscode-server.url = "github:nix-community/nixos-vscode-server";
34
36
};
35
37
36
38
outputs =
+1
hosts/default.nix
···
42
42
./ivy
43
43
./ivy/_hware-config.nix
44
44
inputs.home-manager.nixosModules.home-manager
45
45
+
inputs.vscode-server.nixosModules.default
45
46
];
46
47
specialArgs = {
47
48
inherit inputs;
+19
-11
hosts/ivy/caddy.nix
···
3
3
services.caddy = {
4
4
enable = true;
5
5
email = "hai@wlo.moe";
6
6
+
virtualHosts = {
7
7
+
"wlo.moe" = {
8
8
+
extraConfig = ''
9
9
+
encode zstd gzip
10
10
+
root * /var/www/wlo.moe
11
11
+
try_files {path} /index.html
12
12
+
file_server
13
13
+
'';
14
14
+
};
15
15
+
16
16
+
# zellij web
17
17
+
# https://zellij.dev/tutorials/web-client/
18
18
+
"zj.wlo.moe" = {
19
19
+
extraConfig = ''
20
20
+
encode zstd gzip
21
21
+
reverse_proxy localhost:8082
22
22
+
'';
23
23
+
};
24
24
+
};
6
25
7
26
globalConfig = ''
8
27
on_demand_tls {
···
17
36
file_server
18
37
}
19
38
'';
20
20
-
21
21
-
virtualHosts = {
22
22
-
"wlo.moe" = {
23
23
-
extraConfig = ''
24
24
-
encode zstd gzip
25
25
-
root * /var/www/wlo.moe
26
26
-
try_files {path} /index.html
27
27
-
file_server
28
28
-
'';
29
29
-
};
30
30
-
};
31
39
};
32
40
}
+13
hosts/ivy/default.nix
···
1
1
{
2
2
pkgs,
3
3
+
inputs,
3
4
...
4
5
}:
5
6
{
···
56
57
neofetch
57
58
git
58
59
home-manager
60
60
+
zellij
61
61
+
neovim
62
62
+
curlftpfs
63
63
+
fuse3
59
64
];
60
65
66
66
+
services.vscode-server.enable = true;
67
67
+
programs.nix-ld.enable = true;
68
68
+
61
69
users = {
62
70
mutableUsers = false;
63
71
users."willow" = {
···
67
75
"wheel"
68
76
"docker"
69
77
];
78
78
+
shell = pkgs.fish;
70
79
openssh.authorizedKeys.keys = [
71
80
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPWD6wk95qNhk/36vEH34qIRp/TPCcQ+D+u5Xd9/N0m1 hai@wlo.moe"
72
81
];
···
79
88
services.openssh = {
80
89
enable = true;
81
90
ports = [ 22 ];
91
91
+
settings = {
92
92
+
PasswordAuthentication = true;
93
93
+
PermitRootLogin = "no";
94
94
+
};
82
95
};
83
96
}
+5
hosts/ivy/services/ddns.nix
···
1
1
+
{
2
2
+
services.ddns-updater = {
3
3
+
enable = true;
4
4
+
};
5
5
+
}
+1
hosts/ivy/services/default.nix
···
3
3
./pds.nix
4
4
./vaultwarden.nix
5
5
./immich.nix
6
6
+
./ddns.nix
6
7
];
7
8
}
+1
-1
hosts/ivy/services/pds.nix
···
3
3
enable = true;
4
4
5
5
environmentFiles = [
6
6
-
"/etc/pds/pds.env"
6
6
+
"/var/lib/secrets/pds"
7
7
];
8
8
9
9
settings = {
+11
-9
user/programs/git.nix
···
6
6
config = {
7
7
programs.git = {
8
8
enable = true;
9
9
-
difftastic.enable = true;
10
9
11
11
-
userName = "willow";
12
12
-
userEmail = "hai@wlo.moe";
13
13
-
14
14
-
signing = {
15
15
-
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPWD6wk95qNhk/36vEH34qIRp/TPCcQ+D+u5Xd9/N0m1 hai@wlo.moe";
16
16
-
signByDefault = true;
17
17
-
};
10
10
+
settings = {
11
11
+
difftastic.enable = true;
12
12
+
user = {
13
13
+
email = "hai@wlo.moe";
14
14
+
name = "willow";
15
15
+
};
18
16
19
19
-
extraConfig = {
20
17
gpg.format = "ssh";
21
18
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
22
19
init.defaultBranch = "main";
23
20
rebase.autostash = true;
24
21
push.autoSetupRemote = true;
25
22
pull.rebase = true;
23
23
+
};
24
24
+
25
25
+
signing = {
26
26
+
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPWD6wk95qNhk/36vEH34qIRp/TPCcQ+D+u5Xd9/N0m1 hai@wlo.moe";
27
27
+
signByDefault = true;
26
28
};
27
29
};
28
30