diff options
Diffstat (limited to 'hosts/sif')
-rw-r--r-- | hosts/sif/default.nix | 305 | ||||
-rw-r--r-- | hosts/sif/gkleen-rclone.yaml | 34 | ||||
-rw-r--r-- | hosts/sif/hw.nix | 63 | ||||
-rw-r--r-- | hosts/sif/mail/secrets.yaml | 34 | ||||
-rw-r--r-- | hosts/sif/wgrz/privkey | 16 |
5 files changed, 251 insertions, 201 deletions
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index b90e7162..5ed4e05e 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
@@ -1,4 +1,4 @@ | |||
1 | { flake, pkgs, customUtils, lib, config, path, ... }: | 1 | { flake, flakeInputs, pkgs, customUtils, lib, config, path, ... }: |
2 | let | 2 | let |
3 | mwnSubnetsPublic = | 3 | mwnSubnetsPublic = |
4 | [ "129.187.0.0/16" "141.40.0.0/16" "141.84.0.0/16" | 4 | [ "129.187.0.0/16" "141.40.0.0/16" "141.84.0.0/16" |
@@ -13,8 +13,10 @@ in { | |||
13 | imports = with flake.nixosModules.systemProfiles; [ | 13 | imports = with flake.nixosModules.systemProfiles; [ |
14 | ./hw.nix | 14 | ./hw.nix |
15 | 15 | ||
16 | initrd-all-crypto-modules default-locale openssh rebuild-machines | 16 | tmpfs-root bcachefs initrd-all-crypto-modules default-locale openssh rebuild-machines |
17 | networkmanager | 17 | networkmanager |
18 | flakeInputs.nixos-hardware.nixosModules.lenovo-thinkpad-p1 | ||
19 | flakeInputs.impermanence.nixosModules.impermanence | ||
18 | ]; | 20 | ]; |
19 | 21 | ||
20 | config = { | 22 | config = { |
@@ -31,12 +33,12 @@ in { | |||
31 | boot = { | 33 | boot = { |
32 | initrd = { | 34 | initrd = { |
33 | systemd = { | 35 | systemd = { |
34 | enable = true; | 36 | enable = false; |
35 | emergencyAccess = config.users.users.root.hashedPassword; | 37 | emergencyAccess = config.users.users.root.hashedPassword; |
36 | }; | 38 | }; |
37 | luks.devices = { | 39 | luks.devices = { |
38 | nvm0 = { device = "/dev/disk/by-uuid/fe641e81-0812-4181-a5f6-382ebba509bb"; bypassWorkqueues = true; }; | 40 | nvm0 = { device = "/dev/disk/by-uuid/bef17e86-d929-4a60-97cb-6bfa133face7"; bypassWorkqueues = true; }; |
39 | nvm1 = { device = "/dev/disk/by-uuid/43df1ba8-1728-4193-8855-920a82d4494a"; bypassWorkqueues = true; }; | 41 | nvm1 = { device = "/dev/disk/by-uuid/2884e98d-5afd-4965-91c9-88ffb5ec58bc"; bypassWorkqueues = true; }; |
40 | }; | 42 | }; |
41 | availableKernelModules = [ "drbg" "nvme" "xhci_pci" "usb_storage" "sd_mod" "sr_mod" "rtsx_pci_sdmmc" ]; | 43 | availableKernelModules = [ "drbg" "nvme" "xhci_pci" "usb_storage" "sd_mod" "sr_mod" "rtsx_pci_sdmmc" ]; |
42 | kernelModules = [ "dm-raid" "dm-integrity" "dm-snapshot" "dm-thin-pool" "dm-mod" "dm-crypt" ]; | 44 | kernelModules = [ "dm-raid" "dm-integrity" "dm-snapshot" "dm-thin-pool" "dm-mod" "dm-crypt" ]; |
@@ -59,7 +61,6 @@ in { | |||
59 | plymouth.enable = true; | 61 | plymouth.enable = true; |
60 | 62 | ||
61 | kernelPackages = pkgs.linuxPackages_latest; | 63 | kernelPackages = pkgs.linuxPackages_latest; |
62 | kernelParams = [ "i915.fastboot=1" "intel_pstate=no_hwp" "acpi_backlight=vendor" "thinkpad-acpi.brightness_enable=1" "quiet" ]; | ||
63 | extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; | 64 | extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; |
64 | kernelModules = ["v4l2loopback"]; | 65 | kernelModules = ["v4l2loopback"]; |
65 | kernelPatches = [ | 66 | kernelPatches = [ |
@@ -187,12 +188,10 @@ in { | |||
187 | # FirewallMark = 1; | 188 | # FirewallMark = 1; |
188 | }; | 189 | }; |
189 | wireguardPeers = [ | 190 | wireguardPeers = [ |
190 | { wireguardPeerConfig = { | 191 | { AllowedIPs = [ "10.200.116.1/32" "10.163.88.40/32" ] ++ mwnSubnetsPrivate ++ mwnSubnetsPublic; |
191 | AllowedIPs = [ "10.200.116.1/32" "10.163.88.40/32" ] ++ mwnSubnetsPrivate ++ mwnSubnetsPublic; | 192 | PublicKey = "YlRFLc+rD2k2KXl7pIJbOKbcPgdJCl8ZTsv0xlK4VEI="; |
192 | PublicKey = "YlRFLc+rD2k2KXl7pIJbOKbcPgdJCl8ZTsv0xlK4VEI="; | 193 | PersistentKeepalive = 25; |
193 | PersistentKeepalive = 25; | 194 | Endpoint = "wg.math.lmu.de:51820"; |
194 | Endpoint = "wg.math.lmu.de:51820"; | ||
195 | }; | ||
196 | } | 195 | } |
197 | ]; | 196 | ]; |
198 | }; | 197 | }; |
@@ -211,43 +210,34 @@ in { | |||
211 | Name = "wgrz"; | 210 | Name = "wgrz"; |
212 | }; | 211 | }; |
213 | address = ["10.200.116.128/24"]; | 212 | address = ["10.200.116.128/24"]; |
214 | routes = map (Destination: { routeConfig = { | 213 | routes = map (Destination: { |
215 | inherit Destination; | 214 | inherit Destination; |
216 | Gateway = "10.200.116.1"; | 215 | Gateway = "10.200.116.1"; |
217 | GatewayOnLink = true; | 216 | GatewayOnLink = true; |
218 | Table = "wgrz"; | 217 | Table = "wgrz"; |
219 | };}) (mwnSubnetsPrivate ++ mwnSubnetsPublic ++ ["10.163.88.40/32"]); | 218 | }) (mwnSubnetsPrivate ++ mwnSubnetsPublic ++ ["10.163.88.40/32"]); |
220 | routingPolicyRules = [ | 219 | routingPolicyRules = [ |
221 | { routingPolicyRuleConfig = { | 220 | { Table = "main"; |
222 | Table = "main"; | 221 | # FirewallMark = 1; |
223 | # FirewallMark = 1; | 222 | To = "129.187.111.225"; |
224 | To = "129.187.111.225"; | 223 | Priority = 100; |
225 | Priority = 100; | ||
226 | }; | ||
227 | } | 224 | } |
228 | { routingPolicyRuleConfig = { | 225 | { Table = "main"; |
229 | Table = "main"; | 226 | To = "10.153.91.204"; |
230 | To = "10.153.91.204"; | 227 | Priority = 100; |
231 | Priority = 100; | ||
232 | }; | ||
233 | } | 228 | } |
234 | { routingPolicyRuleConfig = { | 229 | { Table = "wgrz"; |
235 | Table = "wgrz"; | 230 | From = "10.200.116.128"; |
236 | From = "10.200.116.128"; | 231 | Priority = 200; |
237 | Priority = 200; | ||
238 | }; | ||
239 | } | 232 | } |
240 | { routingPolicyRuleConfig = { | 233 | { Table = "wgrz"; |
241 | Table = "wgrz"; | 234 | To = "10.163.88.40"; |
242 | To = "10.163.88.40"; | 235 | Priority = 200; |
243 | Priority = 200; | ||
244 | }; | ||
245 | } | 236 | } |
246 | ] ++ map (To: { routingPolicyRuleConfig = { | 237 | ] ++ map (To: { Table = "wgrz"; |
247 | Table = "wgrz"; | 238 | inherit To; |
248 | inherit To; | 239 | Priority = 200; |
249 | Priority = 200; | 240 | }) (mwnSubnetsPrivate ++ mwnSubnetsPublic); |
250 | };}) (mwnSubnetsPrivate ++ mwnSubnetsPublic); | ||
251 | linkConfig = { | 241 | linkConfig = { |
252 | RequiredForOnline = false; | 242 | RequiredForOnline = false; |
253 | }; | 243 | }; |
@@ -328,7 +318,7 @@ in { | |||
328 | }; | 318 | }; |
329 | 319 | ||
330 | environment.systemPackages = with pkgs; [ | 320 | environment.systemPackages = with pkgs; [ |
331 | nvtop brightnessctl config.boot.kernelPackages.v4l2loopback s-tui uhk-agent | 321 | nvtopPackages.full brightnessctl config.boot.kernelPackages.v4l2loopback s-tui uhk-agent |
332 | ]; | 322 | ]; |
333 | 323 | ||
334 | services = { | 324 | services = { |
@@ -375,9 +365,27 @@ in { | |||
375 | xserver = { | 365 | xserver = { |
376 | enable = true; | 366 | enable = true; |
377 | 367 | ||
378 | layout = "us"; | 368 | xkb = { |
379 | xkbVariant = "dvp"; | 369 | layout = "us"; |
380 | xkbOptions = "compose:caps"; | 370 | variant = "dvp"; |
371 | options = "compose:caps"; | ||
372 | }; | ||
373 | |||
374 | wacom.enable = true; | ||
375 | |||
376 | dpi = 282; | ||
377 | |||
378 | videoDrivers = [ "nvidia" ]; | ||
379 | |||
380 | screenSection = '' | ||
381 | Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }" | ||
382 | ''; | ||
383 | |||
384 | deviceSection = '' | ||
385 | Option "TearFree" "True" | ||
386 | ''; | ||
387 | |||
388 | exportConfiguration = true; | ||
381 | 389 | ||
382 | displayManager.lightdm = { | 390 | displayManager.lightdm = { |
383 | enable = true; | 391 | enable = true; |
@@ -403,26 +411,21 @@ in { | |||
403 | ''; | 411 | ''; |
404 | }; | 412 | }; |
405 | }; | 413 | }; |
406 | |||
407 | wacom.enable = true; | ||
408 | libinput.enable = true; | ||
409 | |||
410 | dpi = 282; | ||
411 | |||
412 | videoDrivers = [ "nvidia" ]; | ||
413 | |||
414 | screenSection = '' | ||
415 | Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }" | ||
416 | ''; | ||
417 | |||
418 | deviceSection = '' | ||
419 | Option "TearFree" "True" | ||
420 | ''; | ||
421 | |||
422 | exportConfiguration = true; | ||
423 | }; | 414 | }; |
415 | libinput.enable = true; | ||
424 | }; | 416 | }; |
425 | 417 | ||
418 | systemd.tmpfiles.rules = [ | ||
419 | "d /var/lib/lightdm/.cache/lightdm-gtk-greeter 1770 lightdm lightdm -" | ||
420 | "L /var/lib/lightdm/.cache/lightdm-gtk-greeter/state - - - - ${pkgs.writeText "state" '' | ||
421 | [greeter] | ||
422 | last-user=gkleen | ||
423 | last-session=none+xmonad | ||
424 | ''}" | ||
425 | |||
426 | "L /etc/localtime - - - - /.bcachefs/etc/localtime" | ||
427 | ]; | ||
428 | |||
426 | users = { | 429 | users = { |
427 | users.gkleen.extraGroups = [ "media" "plugdev" "input" "rtkit" ]; | 430 | users.gkleen.extraGroups = [ "media" "plugdev" "input" "rtkit" ]; |
428 | groups.media = {}; | 431 | groups.media = {}; |
@@ -438,72 +441,75 @@ in { | |||
438 | pulse.enable = true; | 441 | pulse.enable = true; |
439 | jack.enable = true; | 442 | jack.enable = true; |
440 | wireplumber.enable = true; | 443 | wireplumber.enable = true; |
441 | }; | 444 | extraConfig = { |
442 | environment.etc."pipewire/pipewire.conf.d/custom.conf".source = (pkgs.formats.json {}).generate "custom.conf" { | 445 | pipewire."10-custom" = { |
443 | "context.properties" = { | 446 | "context.properties" = { |
444 | "log.level" = 2; | 447 | "log.level" = 2; |
445 | "core.daemon" = true; | 448 | "core.daemon" = true; |
446 | "core.name" = "pipewire-0"; | 449 | "core.name" = "pipewire-0"; |
447 | }; | 450 | "module.x11.bell" = false; |
448 | "context.modules" = [ | ||
449 | { | ||
450 | name = "libpipewire-module-rtkit"; | ||
451 | args = { | ||
452 | "nice.level" = -15; | ||
453 | "rt.prio" = 88; | ||
454 | "rt.time.soft" = 200000; | ||
455 | "rt.time.hard" = 200000; | ||
456 | }; | 451 | }; |
457 | flags = [ "ifexists" "nofail" ]; | 452 | "context.modules" = [ |
458 | } | 453 | { |
459 | # { name = "libpipewire-module-protocol-native"; } | 454 | name = "libpipewire-module-rtkit"; |
460 | { name = "libpipewire-module-profiler"; } | 455 | args = { |
461 | # { name = "libpipewire-module-metadata"; } | 456 | "nice.level" = -15; |
462 | { name = "libpipewire-module-spa-device-factory"; } | 457 | "rt.prio" = 88; |
463 | { name = "libpipewire-module-spa-node-factory"; } | 458 | "rt.time.soft" = 200000; |
464 | # { name = "libpipewire-module-client-node"; } | 459 | "rt.time.hard" = 200000; |
465 | # { name = "libpipewire-module-client-device"; } | 460 | }; |
466 | { | 461 | flags = [ "ifexists" "nofail" ]; |
467 | name = "libpipewire-module-portal"; | 462 | } |
468 | flags = [ "ifexists" "nofail" ]; | 463 | # { name = "libpipewire-module-protocol-native"; } |
469 | } | 464 | { name = "libpipewire-module-profiler"; } |
470 | { | 465 | # { name = "libpipewire-module-metadata"; } |
471 | name = "libpipewire-module-access"; | 466 | { name = "libpipewire-module-spa-device-factory"; } |
472 | args = {}; | 467 | { name = "libpipewire-module-spa-node-factory"; } |
473 | } | 468 | # { name = "libpipewire-module-client-node"; } |
474 | { name = "libpipewire-module-adapter"; } | 469 | # { name = "libpipewire-module-client-device"; } |
475 | { name = "libpipewire-module-link-factory"; } | 470 | { |
476 | { name = "libpipewire-module-session-manager"; } | 471 | name = "libpipewire-module-portal"; |
477 | ]; | 472 | flags = [ "ifexists" "nofail" ]; |
478 | }; | 473 | } |
479 | environment.etc."pipewire/pipewire-pulse.conf.d/custom.conf".source = (pkgs.formats.json {}).generate "custom.conf" { | 474 | { |
480 | "context.properties" = { | 475 | name = "libpipewire-module-access"; |
481 | "log.level" = 2; | 476 | args = {}; |
482 | }; | 477 | } |
483 | "context.modules" = [ | 478 | { name = "libpipewire-module-adapter"; } |
484 | { | 479 | { name = "libpipewire-module-link-factory"; } |
485 | name = "libpipewire-module-rtkit"; | 480 | { name = "libpipewire-module-session-manager"; } |
486 | args = { | 481 | ]; |
487 | "nice.level" = -15; | 482 | }; |
488 | "rt.prio" = 88; | 483 | pipewire-pulse."10-custom" = { |
489 | "rt.time.soft" = 200000; | 484 | "context.properties" = { |
490 | "rt.time.hard" = 200000; | 485 | "log.level" = 2; |
491 | }; | 486 | }; |
492 | flags = [ "ifexists" "nofail" ]; | 487 | "context.modules" = [ |
493 | } | 488 | { |
494 | # { name = "libpipewire-module-protocol-native"; } | 489 | name = "libpipewire-module-rtkit"; |
495 | # { name = "libpipewire-module-client-node"; } | 490 | args = { |
496 | { name = "libpipewire-module-adapter"; } | 491 | "nice.level" = -15; |
497 | # { name = "libpipewire-module-metadata"; } | 492 | "rt.prio" = 88; |
498 | # { | 493 | "rt.time.soft" = 200000; |
499 | # name = "libpipewire-module-protocol-pulse"; | 494 | "rt.time.hard" = 200000; |
500 | # args = { | 495 | }; |
501 | # "server.address" = [ "unix:native" ]; | 496 | flags = [ "ifexists" "nofail" ]; |
502 | # }; | 497 | } |
503 | # } | 498 | # { name = "libpipewire-module-protocol-native"; } |
504 | ]; | 499 | # { name = "libpipewire-module-client-node"; } |
505 | "stream.properties" = { | 500 | { name = "libpipewire-module-adapter"; } |
506 | "resample.quality" = 1; | 501 | # { name = "libpipewire-module-metadata"; } |
502 | # { | ||
503 | # name = "libpipewire-module-protocol-pulse"; | ||
504 | # args = { | ||
505 | # "server.address" = [ "unix:native" ]; | ||
506 | # }; | ||
507 | # } | ||
508 | ]; | ||
509 | "stream.properties" = { | ||
510 | "resample.quality" = 1; | ||
511 | }; | ||
512 | }; | ||
507 | }; | 513 | }; |
508 | }; | 514 | }; |
509 | 515 | ||
@@ -531,14 +537,14 @@ in { | |||
531 | prime = { | 537 | prime = { |
532 | nvidiaBusId = "PCI:1:0:0"; | 538 | nvidiaBusId = "PCI:1:0:0"; |
533 | intelBusId = "PCI:0:2:0"; | 539 | intelBusId = "PCI:0:2:0"; |
534 | sync.enable = true; | 540 | reverseSync.enable = true; |
535 | }; | 541 | }; |
536 | }; | 542 | }; |
537 | 543 | ||
538 | opengl = { | 544 | graphics = { |
539 | enable = true; | 545 | enable = true; |
540 | driSupport32Bit = true; | 546 | enable32Bit = true; |
541 | setLdLibraryPath = true; | 547 | # setLdLibraryPath = true; |
542 | }; | 548 | }; |
543 | 549 | ||
544 | firmware = [ pkgs.firmwareLinuxNonfree ]; | 550 | firmware = [ pkgs.firmwareLinuxNonfree ]; |
@@ -547,10 +553,13 @@ in { | |||
547 | nitrokey.enable = true; | 553 | nitrokey.enable = true; |
548 | }; | 554 | }; |
549 | 555 | ||
550 | sound.enable = true; | 556 | # sound.enable = true; |
551 | 557 | ||
552 | nix = { | 558 | nix = { |
553 | settings.auto-optimise-store = true; | 559 | settings = { |
560 | auto-optimise-store = true; | ||
561 | max-jobs = 4; | ||
562 | }; | ||
554 | daemonCPUSchedPolicy = "idle"; | 563 | daemonCPUSchedPolicy = "idle"; |
555 | daemonIOSchedClass = "idle"; | 564 | daemonIOSchedClass = "idle"; |
556 | 565 | ||
@@ -564,6 +573,11 @@ in { | |||
564 | speedFactor = 4; | 573 | speedFactor = 4; |
565 | }; | 574 | }; |
566 | }; | 575 | }; |
576 | systemd.services."nix-daemon" = { | ||
577 | serviceConfig = { | ||
578 | CPUQuota = "400%"; | ||
579 | }; | ||
580 | }; | ||
567 | 581 | ||
568 | environment.etc."X11/xorg.conf.d/50-wacom.conf".source = lib.mkForce ./wacom.conf; | 582 | environment.etc."X11/xorg.conf.d/50-wacom.conf".source = lib.mkForce ./wacom.conf; |
569 | 583 | ||
@@ -621,7 +635,7 @@ in { | |||
621 | zramSwap = { | 635 | zramSwap = { |
622 | enable = true; | 636 | enable = true; |
623 | algorithm = "zstd"; | 637 | algorithm = "zstd"; |
624 | writebackDevice = "/dev/disk/by-uuid/50f3f856-cc17-4614-846a-34a14d5006ec"; | 638 | writebackDevice = "/dev/disk/by-label/swap"; |
625 | }; | 639 | }; |
626 | 640 | ||
627 | services.pcscd.enable = true; | 641 | services.pcscd.enable = true; |
@@ -633,7 +647,10 @@ in { | |||
633 | group = "users"; | 647 | group = "users"; |
634 | }; | 648 | }; |
635 | 649 | ||
636 | i18n.inputMethod.enabled = "ibus"; | 650 | i18n.inputMethod = { |
651 | enable = true; | ||
652 | type = "ibus"; | ||
653 | }; | ||
637 | 654 | ||
638 | environment.sessionVariables."GTK_USE_PORTAL" = "1"; | 655 | environment.sessionVariables."GTK_USE_PORTAL" = "1"; |
639 | xdg.portal = { | 656 | xdg.portal = { |
@@ -653,6 +670,26 @@ in { | |||
653 | in [ gtk-portal ]; | 670 | in [ gtk-portal ]; |
654 | }; | 671 | }; |
655 | 672 | ||
656 | system.stateVersion = "20.03"; | 673 | environment.persistence."/.bcachefs" = { |
674 | hideMounts = true; | ||
675 | directories = [ | ||
676 | "/nix" | ||
677 | "/root" | ||
678 | "/var/log" | ||
679 | "/var/lib/sops-nix" | ||
680 | "/var/lib/nixos" | ||
681 | "/var/lib/systemd" | ||
682 | "/home" | ||
683 | "/var/lib/chrony" | ||
684 | "/var/lib/fprint" | ||
685 | "/var/lib/bluetooth" | ||
686 | "/etc/NetworkManager/system-connections" | ||
687 | ]; | ||
688 | files = [ | ||
689 | "/etc/localtime" | ||
690 | ]; | ||
691 | }; | ||
692 | |||
693 | system.stateVersion = "24.11"; | ||
657 | }; | 694 | }; |
658 | } | 695 | } |
diff --git a/hosts/sif/gkleen-rclone.yaml b/hosts/sif/gkleen-rclone.yaml index 4bc07556..f0430f71 100644 --- a/hosts/sif/gkleen-rclone.yaml +++ b/hosts/sif/gkleen-rclone.yaml | |||
@@ -5,28 +5,26 @@ sops: | |||
5 | azure_kv: [] | 5 | azure_kv: [] |
6 | hc_vault: [] | 6 | hc_vault: [] |
7 | age: | 7 | age: |
8 | - recipient: age1ure0athvtnaqqw48pe0y3upqdzmkaen9h70yggd9va4hva6avd8qqm6s4d | 8 | - recipient: age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866 |
9 | enc: | | 9 | enc: | |
10 | -----BEGIN AGE ENCRYPTED FILE----- | 10 | -----BEGIN AGE ENCRYPTED FILE----- |
11 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhazlZcFRyY2ZxZ2dLb00v | 11 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxZU1MY0JCRkdPK0JIWEs4 |
12 | SzZmM3paanI1b090NW8za1FKa3Q0bWlKeTJNCllhRGo2bDNaMkxpMHlweEZGU3FQ | 12 | MnVQYWN1cklPSFJFTkYxVm9nVFpYSjRTUENnClZZaUw0QVYxejMzM0VvYTUzMUlE |
13 | SlFIQmxqK2trWm5TRFp0SEhVRUNNWncKLS0tIHc3OGNqbHF0eFozdWp1V3IvRFJJ | 13 | N0ZVV0laeVJQV3BsUHJzVWlNM0ZZWEUKLS0tIEZvRWtEdzFwVlVMS2FxT2Z3NHRo |
14 | bzd6VTRPT1pqYVFPQ0IyblVQdWt4MUUKtp8FKeOVhZ6DTY0euegOFcmUL6bNYlml | 14 | STZZRWxURnQ1MHE2RlJVQmdiM2VlNVkKpDJSJxij/LKFGUyuy/iAmf/Gq+PhLh4V |
15 | 1DlbDUF47mAMz6HfsvpyoJmLG/uQBCXUVIpP18ignQtJJx043+vnEA== | 15 | DoowTqWMehgKz/x14HCegI6fIuI2Spwk6GVVICQvmk5Y33/kyneOiA== |
16 | -----END AGE ENCRYPTED FILE----- | ||
17 | - recipient: age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne | ||
18 | enc: | | ||
19 | -----BEGIN AGE ENCRYPTED FILE----- | ||
20 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4c0hoSGE4SVpwRkpBZmgv | ||
21 | SVVDODZmbkN4THNMelJucXZ3aTFrUDlmRmtZCkl3UFlROWJyd0VGakZRK3NGUEty | ||
22 | UUxjMDVZZWc4MXdKQTlKczF4N1gxYUUKLS0tIHRyczNiTzJLYTZaRFduc2RoaXhU | ||
23 | SUpCMXJDd1YwcnpuQ2hHa2Q4TlNGYjgKe3cSIERblN7XbI8mBWWSKhdLs6J8LT6t | ||
24 | 3Q2gz8LZhtEJvROOYiVjcnZG9iOLLkgsy/mI34Y0evcKZrvvsPyQ1g== | ||
16 | -----END AGE ENCRYPTED FILE----- | 25 | -----END AGE ENCRYPTED FILE----- |
17 | lastmodified: "2022-01-31T18:19:02Z" | 26 | lastmodified: "2022-01-31T18:19:02Z" |
18 | mac: ENC[AES256_GCM,data:E/XAsuv+EqFud686SHuRp6XZ4f8uoXMI2rnPI733lQg/x/zuvCoOil9AtnQpStnu9wchlbee/y53uUDzAdTiYsjBCRqqt+19iAPnRHPZ2eb82SPetIRA8leKhiJFtOpHFTmlPYHCokxVBH6qLDjaJj/1Dx7Iv9xoAB4ECYnWxTo=,iv:wY5p++ixK5KA+Xnpuj0/3YBLMr/CQwIm3Nj3DzQC4II=,tag:f+7rincFHPEJZp+QJ2iiMQ==,type:str] | 27 | mac: ENC[AES256_GCM,data:E/XAsuv+EqFud686SHuRp6XZ4f8uoXMI2rnPI733lQg/x/zuvCoOil9AtnQpStnu9wchlbee/y53uUDzAdTiYsjBCRqqt+19iAPnRHPZ2eb82SPetIRA8leKhiJFtOpHFTmlPYHCokxVBH6qLDjaJj/1Dx7Iv9xoAB4ECYnWxTo=,iv:wY5p++ixK5KA+Xnpuj0/3YBLMr/CQwIm3Nj3DzQC4II=,tag:f+7rincFHPEJZp+QJ2iiMQ==,type:str] |
19 | pgp: | 28 | pgp: [] |
20 | - created_at: "2023-01-30T10:58:04Z" | ||
21 | enc: | | ||
22 | -----BEGIN PGP MESSAGE----- | ||
23 | |||
24 | hF4DXxoViZlp6dISAQdAEEQ+ELalInEqD7WVWPyhz9C2WGOAqYZdW8wHn+i7c3cw | ||
25 | HgPkJXA0JJBawtQ+eqWtVBbmZbabVdiZ7xOAlVQWrVXa7tN7s2y4yY6KESB/5NFo | ||
26 | 0l4BvOF0KdMDkBx9rhVakSfCJ9w/3ZodD2tZ/KgttamnsYg9EwI2xDSsFowK0gUM | ||
27 | 2t7ZnDbDsQCrIR0y/qL5DwFVVKlvbDl5ZGLq5Py/ECMh5WdsEQ0dqBmeytxN44gw | ||
28 | =SxAd | ||
29 | -----END PGP MESSAGE----- | ||
30 | fp: 30D3453B8CD02FE2A3E7C78C0FB536FB87AE8F51 | ||
31 | unencrypted_suffix: _unencrypted | 29 | unencrypted_suffix: _unencrypted |
32 | version: 3.7.1 | 30 | version: 3.7.1 |
diff --git a/hosts/sif/hw.nix b/hosts/sif/hw.nix index 3442a93a..fc20ef7c 100644 --- a/hosts/sif/hw.nix +++ b/hosts/sif/hw.nix | |||
@@ -1,31 +1,50 @@ | |||
1 | { config, lib, pkgs, ... }: | 1 | { config, lib, pkgs, utils, ... }: |
2 | 2 | ||
3 | { | 3 | { |
4 | fileSystems."/" = | 4 | fileSystems = { |
5 | { device = "/dev/disk/by-uuid/f094bf06-66f9-40a8-9ab2-2b54d05223d2"; | 5 | "/boot" = |
6 | fsType = "btrfs"; | 6 | { label = "boot"; |
7 | }; | 7 | fsType = "vfat"; |
8 | options = [ "fmask=0033" "dmask=0022" ]; | ||
9 | }; | ||
10 | "/.bcachefs" = | ||
11 | { device = "/dev/mapper/sif-nvm0:/dev/mapper/sif-nvm1"; | ||
12 | fsType = "bcachefs"; | ||
13 | neededForBoot = true; | ||
14 | }; | ||
15 | "/var/lib/sops-nix".neededForBoot = true; | ||
16 | "/var/lib/systemd".neededForBoot = true; | ||
17 | }; | ||
18 | system.etc.overlay.enable = false; | ||
19 | systemd.sysusers.enable = false; | ||
8 | 20 | ||
9 | fileSystems."/boot" = | 21 | # boot.initrd.supportedFilesystems.bcachefs = true; |
10 | { device = "/dev/disk/by-uuid/B3A2-D029"; | 22 | # boot.initrd.systemd.units."dev-sif-nvm0:-dev-sif-nvm1.device".enable = false; |
11 | fsType = "vfat"; | 23 | # systemd.units."dev-sif-nvm0:-dev-sif-nvm1.device".enable = false; |
12 | }; | 24 | # boot.initrd.systemd.services."bcachefs" = { |
25 | # before = [ "initrd-fs.target" ]; | ||
26 | # after = [ "local-fs-pre.target" "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; | ||
27 | # requires = [ "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; | ||
28 | # wantedBy = [ "initrd-fs.target" ]; | ||
29 | # unitConfig = { | ||
30 | # DefaultDependencies = false; | ||
31 | # StopPropagatedFrom = [ "dev-sif-nvm0.device" "dev-sif-nvm1.device" ]; | ||
32 | # }; | ||
33 | # serviceConfig = { | ||
34 | # Type = "oneshot"; | ||
35 | # ExecStart = "/bin/mount -o X-mount.mkdir -t bcachefs /dev/sif/nvm0:/dev/sif/nvm1 /sysroot/.bcachefs"; | ||
36 | # RemainAfterExit = true; | ||
37 | # }; | ||
38 | # }; | ||
39 | # systemd.services."bcachefs" = { | ||
40 | # serviceConfig = { | ||
41 | # Type = "oneshot"; | ||
42 | # ExecStart = "${pkgs.coreutils}/bin/true"; | ||
43 | # }; | ||
44 | # }; | ||
13 | 45 | ||
14 | fileSystems."/home" = | ||
15 | { device = "/dev/disk/by-uuid/9e932072-3c56-4a9c-8da7-3163d2a8bf28"; | ||
16 | fsType = "btrfs"; | ||
17 | }; | ||
18 | |||
19 | fileSystems."/var/media" = | ||
20 | { device = "/dev/disk/by-uuid/437eca70-d017-4d52-a1fa-2f4c7a87f096"; | ||
21 | fsType = "btrfs"; | ||
22 | }; | ||
23 | |||
24 | nix.settings.max-jobs = 12; | ||
25 | # High-DPI console | 46 | # High-DPI console |
26 | console.font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz"; | 47 | console.font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz"; |
27 | 48 | ||
28 | hardware.cpu.intel.updateMicrocode = true; | ||
29 | |||
30 | hardware.enableRedistributableFirmware = true; | 49 | hardware.enableRedistributableFirmware = true; |
31 | } | 50 | } |
diff --git a/hosts/sif/mail/secrets.yaml b/hosts/sif/mail/secrets.yaml index 5ac36cc6..3c74b710 100644 --- a/hosts/sif/mail/secrets.yaml +++ b/hosts/sif/mail/secrets.yaml | |||
@@ -5,28 +5,26 @@ sops: | |||
5 | azure_kv: [] | 5 | azure_kv: [] |
6 | hc_vault: [] | 6 | hc_vault: [] |
7 | age: | 7 | age: |
8 | - recipient: age1ure0athvtnaqqw48pe0y3upqdzmkaen9h70yggd9va4hva6avd8qqm6s4d | 8 | - recipient: age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866 |
9 | enc: | | 9 | enc: | |
10 | -----BEGIN AGE ENCRYPTED FILE----- | 10 | -----BEGIN AGE ENCRYPTED FILE----- |
11 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEYkM2VWRIZzZCQUVYeThv | 11 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1MVYrR1ZrUXVhYVIvdTdS |
12 | eWhHZE5GVFVOSUtLcDBXQmhtdFhuTThBdTF3ClNVcDl3SUdRMGJXOENyNWdSb21z | 12 | OUxoOGhRZ3p2dFhCYkxta1REYy9FWTFEZVNJCjhpQ0VMcWdkWWQ1blZyVVpGWk81 |
13 | OXY1QUNwUjRrbU00b2hHS3pJM3diTFkKLS0tIEFxV2JSbWphdEEzbE8xbkd2cXBz | 13 | UVBTZzNKSis2ZVVNdFA4TldvL05oMWcKLS0tIEl0TU8xQUhkTk83dDhzYU5aeCtR |
14 | dEhFSDVKbFJJZWRPY3o2am94ZURJL2cKwJkjD9jarS3zdcNBVpx3cIjh8XmXCL+C | 14 | OVcrdFRaeGxZL2kxT3VzUnBtWEI1Y1UK8LwKTus25P/nQrMJG5MOuR/lD2PCgeLC |
15 | AN1T7DQjzQpD65Mdbj9QqXx1p0HmjO/sqr1yNQopub8oQneLbtx8Gg== | 15 | WYBIbFusX//mwr1nymyWnHXkfXf8uHzpc6rJGFoa+TuOVU3elYB/Pg== |
16 | -----END AGE ENCRYPTED FILE----- | ||
17 | - recipient: age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne | ||
18 | enc: | | ||
19 | -----BEGIN AGE ENCRYPTED FILE----- | ||
20 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQcUs2OGp6WWN5cm9IVDdx | ||
21 | TFRpZTJXQjBXeGp3RytPaFdjR3UyVURnYmhZCnh3SDNYR0J1US9vcEhTbmJCNm5r | ||
22 | emJReml2QTNkTC93M0lpYlpNbTc4TGsKLS0tIGZ4YkE4STQ2dmh4akJVcnZOUVhT | ||
23 | MTNrOGxqZmFWSnl0U3lVTnllbEFTN28KKv/W6tk2YlNQV8fotfjSLg1HOs6OdMj4 | ||
24 | GkZ30jQYfwmFYEA8YPn9JXbVNpprXd0d6ufLl/tAQckT6lsqGhwzeg== | ||
16 | -----END AGE ENCRYPTED FILE----- | 25 | -----END AGE ENCRYPTED FILE----- |
17 | lastmodified: "2022-02-02T14:45:23Z" | 26 | lastmodified: "2022-02-02T14:45:23Z" |
18 | mac: ENC[AES256_GCM,data:UdM/VmdfqhYm1aFCHaO0mbJA/oyV/J2oKVVmGDa0Co3MWq9aWMqP726O+rLk36W0HOG4fmue//R1Q524au2hMW9bZUFzrubfQt2V78tZRZeHCJSRmOmi1D1EDdfPz9J3oWDvIEgIIsAk5H5EuuH0j6FILye6tzcomNGDAKZbwuc=,iv:a7dJAqkcroLp01gkGKV5gm6gTIIMa/9P8qJn44ISrw0=,tag:R9/6X6mgfVSLK7bmoWRnfQ==,type:str] | 27 | mac: ENC[AES256_GCM,data:UdM/VmdfqhYm1aFCHaO0mbJA/oyV/J2oKVVmGDa0Co3MWq9aWMqP726O+rLk36W0HOG4fmue//R1Q524au2hMW9bZUFzrubfQt2V78tZRZeHCJSRmOmi1D1EDdfPz9J3oWDvIEgIIsAk5H5EuuH0j6FILye6tzcomNGDAKZbwuc=,iv:a7dJAqkcroLp01gkGKV5gm6gTIIMa/9P8qJn44ISrw0=,tag:R9/6X6mgfVSLK7bmoWRnfQ==,type:str] |
19 | pgp: | 28 | pgp: [] |
20 | - created_at: "2023-01-30T10:58:14Z" | ||
21 | enc: | | ||
22 | -----BEGIN PGP MESSAGE----- | ||
23 | |||
24 | hF4DXxoViZlp6dISAQdAYwW96YVgfK1Y3Ue1EA3qbE3zw4k4gdTnzWeBB2Ljux4w | ||
25 | urG4pwe47rkuq3e1TMdZxxDeZe0OvLwaZBVfD+eFVUrnLYbkrm4shvrq+6xv70Zm | ||
26 | 0l4BvG9W6VvUXNyKR0Bl65K/hqm8A7GOBPfB35npsY+1ufeJJYdmxX6n7dL94SX5 | ||
27 | he4m9JRuiyPrRxomudU5nrWLQwKQk8WtavExfVq6zIlnkhlGerKbxDVEIsFaDleT | ||
28 | =7IFo | ||
29 | -----END PGP MESSAGE----- | ||
30 | fp: 30D3453B8CD02FE2A3E7C78C0FB536FB87AE8F51 | ||
31 | unencrypted_suffix: _unencrypted | 29 | unencrypted_suffix: _unencrypted |
32 | version: 3.7.1 | 30 | version: 3.7.1 |
diff --git a/hosts/sif/wgrz/privkey b/hosts/sif/wgrz/privkey index 66ad2bd5..c316585b 100644 --- a/hosts/sif/wgrz/privkey +++ b/hosts/sif/wgrz/privkey | |||
@@ -7,19 +7,17 @@ | |||
7 | "hc_vault": null, | 7 | "hc_vault": null, |
8 | "age": [ | 8 | "age": [ |
9 | { | 9 | { |
10 | "recipient": "age1ure0athvtnaqqw48pe0y3upqdzmkaen9h70yggd9va4hva6avd8qqm6s4d", | 10 | "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866", |
11 | "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHZWp5NWNJRDhGVzEza2hw\nR0dXSVljL2h0V3BKY0NBdHNGMUQ4VWZVQjNBCnMyWElnblBHLzF5VTB0R0xQMFd6\namRDb3JvNXJkNnFyMzloR2VPNFVyV1EKLS0tIDZiNkFFUnFKKzFObjd5VU04eXQ3\nVzdXem9FM2QwMjdvY3JRS1NYZEJHbk0KiyJDq69kk/gS7xMwqJRb3fzvl5wFIXN1\nxkdHl9pCQYGwgLUuHFgrNCseiDIO2n4hf2wEfbgS5F/errO91GGEBg==\n-----END AGE ENCRYPTED FILE-----\n" | 11 | "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqNEhML1RrdGlpdEdqeGx0\nNVpwc2ZXYTg0UHRmVGVBVXVVaERUbi9YRTBNCms3WklLeG5MbDNKK3NSWXhvb1Fk\nR1NGVjROQ1gyQmdGNHVQQ2xFTXpVRWMKLS0tIFEvbG92bW45OHpYV3c1T0Jna1A3\nd0JocXhPVkNZcEdFMG5xN211eTc1MXMKOX1AS9rBBh3I/0iAS8u9RKqYHOfWSlOk\nDLa2WGUyXE+RHninTS8wQyoyM4V5ZMlQC5/qBCNi/5P/3xhup9TpRA==\n-----END AGE ENCRYPTED FILE-----\n" |
12 | }, | ||
13 | { | ||
14 | "recipient": "age1fj65apkhfkrwyv5tx6zcs9nkjg8267fy733qph30sc7zfn7vapjqkd5kne", | ||
15 | "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArbFV2YlVnR2krSmZlSjhp\nUXVjNVlzam1KYUQvekRoV2N4YkNXRHdMMEJFCnZ4RUViRTNPQUgxVVJWM0x1R0FS\nWEtYUjIzQXlPVi9XQ2NDV2I3WGNyVHcKLS0tIGFXUUx0V2NhSmptcXJ5a3NKV1BL\nTU9qeWtmQnNXVk9hK1pxQXJVNlhvdlUKbikT1rHTFvqiMiQ0el2jn2efgL8sbbHA\nFGY76cwdbGx7bc4j5hwkJE/+RNn1Fly2hVOnZbsh1SixFBM54vSl9A==\n-----END AGE ENCRYPTED FILE-----\n" | ||
12 | } | 16 | } |
13 | ], | 17 | ], |
14 | "lastmodified": "2022-02-03T14:44:50Z", | 18 | "lastmodified": "2022-02-03T14:44:50Z", |
15 | "mac": "ENC[AES256_GCM,data:LzYx8LqNy2NPr9+5v/f9ExE2PR1xHm1O1ldK2xPZFc3yMrgOpJpIF+sEHqf3Pv9prLbVC/2pSuAdtKrPqQdTWV8cCtaj8h4aBrnU9WHRESMe/ZkrpipeCEMuzBrhAjf94FQqI0gEkfUAq27nxyXJfaYw7eIfEKBqO6gZPGOiLpM=,iv:I1BGnMxm+R9ci0zBsJU0LbTkuxhZFfvgZ+01QcZCCTw=,tag:jeeeyW1rzt/BbSAbo4OSZw==,type:str]", | 19 | "mac": "ENC[AES256_GCM,data:LzYx8LqNy2NPr9+5v/f9ExE2PR1xHm1O1ldK2xPZFc3yMrgOpJpIF+sEHqf3Pv9prLbVC/2pSuAdtKrPqQdTWV8cCtaj8h4aBrnU9WHRESMe/ZkrpipeCEMuzBrhAjf94FQqI0gEkfUAq27nxyXJfaYw7eIfEKBqO6gZPGOiLpM=,iv:I1BGnMxm+R9ci0zBsJU0LbTkuxhZFfvgZ+01QcZCCTw=,tag:jeeeyW1rzt/BbSAbo4OSZw==,type:str]", |
16 | "pgp": [ | 20 | "pgp": null, |
17 | { | ||
18 | "created_at": "2023-01-30T10:58:43Z", | ||
19 | "enc": "-----BEGIN PGP MESSAGE-----\n\nhF4DXxoViZlp6dISAQdAiQkff1SBFC/IhgcdXnIFcwOUlY5bd+tDy161X7Yag3gw\nrUrCJwLeE3LWzxIO0oUrhe9J73yjbnQadtGJT+MP8WWa88P7YNKxBULXn6Ry20Pc\n0l4Bi/HYhX3T11Z0buR5nqhO/+j2hAUl3qOTYql2qBxqQkgEf4/hDDuEQUe+5oY4\n/S7TtUJPE3xKreWo1byGqevoe4as98Hb6CFjC3MgIGJyyBZBxLABjQAhYEN+NGrW\n=+dMk\n-----END PGP MESSAGE-----\n", | ||
20 | "fp": "30D3453B8CD02FE2A3E7C78C0FB536FB87AE8F51" | ||
21 | } | ||
22 | ], | ||
23 | "unencrypted_suffix": "_unencrypted", | 21 | "unencrypted_suffix": "_unencrypted", |
24 | "version": "3.7.1" | 22 | "version": "3.7.1" |
25 | } | 23 | } |