summaryrefslogtreecommitdiff
path: root/hosts/sif/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/sif/default.nix')
-rw-r--r--hosts/sif/default.nix107
1 files changed, 47 insertions, 60 deletions
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix
index 088e1022..2a3a6be9 100644
--- a/hosts/sif/default.nix
+++ b/hosts/sif/default.nix
@@ -12,9 +12,8 @@ let
12in { 12in {
13 imports = with flake.nixosModules.systemProfiles; [ 13 imports = with flake.nixosModules.systemProfiles; [
14 ./hw.nix 14 ./hw.nix
15 ./mail ./libvirt 15 ./mail ./libvirt ./greetd
16 tmpfs-root bcachefs initrd-all-crypto-modules default-locale openssh rebuild-machines 16 tmpfs-root bcachefs initrd-all-crypto-modules default-locale openssh rebuild-machines niri-unstable networkmanager
17 networkmanager
18 flakeInputs.nixos-hardware.nixosModules.lenovo-thinkpad-p1 17 flakeInputs.nixos-hardware.nixosModules.lenovo-thinkpad-p1
19 flakeInputs.impermanence.nixosModules.impermanence 18 flakeInputs.impermanence.nixosModules.impermanence
20 flakeInputs.nixVirt.nixosModules.default 19 flakeInputs.nixVirt.nixosModules.default
@@ -27,6 +26,9 @@ in {
27 allowUnfree = true; 26 allowUnfree = true;
28 pulseaudio = true; 27 pulseaudio = true;
29 }; 28 };
29 extraOverlays = [
30 flakeInputs.niri-flake.overlays.niri
31 ];
30 }; 32 };
31 33
32 time.timeZone = null; 34 time.timeZone = null;
@@ -61,15 +63,20 @@ in {
61 plymouth.enable = true; 63 plymouth.enable = true;
62 64
63 kernelPackages = pkgs.linuxPackages_latest; 65 kernelPackages = pkgs.linuxPackages_latest;
64 extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
65 kernelModules = ["v4l2loopback"];
66 kernelPatches = [ 66 kernelPatches = [
67 { name = "edac-config"; 67 { name = "edac-config";
68 patch = null; 68 patch = null;
69 extraConfig = '' 69 extraStructuredConfig = with lib.kernel; {
70 EDAC y 70 EDAC = yes;
71 EDAC_IE31200 y 71 EDAC_IE31200 = yes;
72 ''; 72 };
73 }
74 { name = "zswap-default";
75 patch = null;
76 extraStructuredConfig = with lib.kernel; {
77 ZSWAP_DEFAULT_ON = yes;
78 ZSWAP_SHRINKER_DEFAULT_ON = yes;
79 };
73 } 80 }
74 ]; 81 ];
75 82
@@ -438,7 +445,7 @@ in {
438 }; 445 };
439 446
440 xserver = { 447 xserver = {
441 enable = true; 448 enable = false;
442 449
443 xkb = { 450 xkb = {
444 layout = "us"; 451 layout = "us";
@@ -464,47 +471,16 @@ in {
464 }; 471 };
465 libinput.enable = true; 472 libinput.enable = true;
466 473
467 greetd = { 474 envfs.enable = false;
468 enable = true;
469 # settings.default_session.command = let
470 # cfg = config.programs.regreet;
471 # in pkgs.writeShellScript "greeter" ''
472 # modprobe -r nvidia_drm
473
474 # exec ${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${lib.getExe cfg.package}
475 # '';
476 };
477 };
478
479 programs.regreet = {
480 enable = true;
481 theme = {
482 package = pkgs.equilux-theme;
483 name = "Equilux-compact";
484 };
485 iconTheme = {
486 package = pkgs.paper-icon-theme;
487 name = "Paper-Mono-Dark";
488 };
489 font = {
490 package = pkgs.fira;
491 name = "Fira Sans";
492 # size = 6;
493 };
494 cageArgs = [ "-s" "-m" "last" ];
495 settings = {
496 GTK.application_prefer_dark_theme = true;
497 };
498 }; 475 };
499 programs.hyprland.enable = true;
500 476
501 systemd.tmpfiles.settings = { 477 systemd.tmpfiles.settings = {
502 "10-localtime"."/etc/localtime".L.argument = "/.bcachefs/etc/localtime"; 478 "10-localtime"."/etc/localtime".L.argument = "/.bcachefs/etc/localtime";
503 479
504 "10-regreet"."/var/cache/regreet/cache.toml".C.argument = toString ((pkgs.formats.toml {}).generate "cache.toml" { 480 # "10-regreet"."/var/cache/regreet/cache.toml".C.argument = toString ((pkgs.formats.toml {}).generate "cache.toml" {
505 last_user = "gkleen"; 481 # last_user = "gkleen";
506 user_to_last_sess.gkleen = "Hyprland"; 482 # user_to_last_sess.gkleen = "Niri";
507 }); 483 # });
508 }; 484 };
509 485
510 users = { 486 users = {
@@ -613,15 +589,15 @@ in {
613 }; 589 };
614 590
615 nvidia = { 591 nvidia = {
616 open = true; 592 open = false;
617 modesetting.enable = true; 593 modesetting.enable = true;
618 powerManagement.enable = true; 594 powerManagement.enable = true;
619 prime = { 595 # prime = {
620 nvidiaBusId = "PCI:1:0:0"; 596 # nvidiaBusId = "PCI:1:0:0";
621 intelBusId = "PCI:0:2:0"; 597 # intelBusId = "PCI:0:2:0";
622 reverseSync.enable = true; 598 # reverseSync.enable = true;
623 offload.enableOffloadCmd = true; 599 # offload.enableOffloadCmd = true;
624 }; 600 # };
625 }; 601 };
626 602
627 graphics = { 603 graphics = {
@@ -695,6 +671,7 @@ in {
695 671
696 services.dbus.packages = with pkgs; 672 services.dbus.packages = with pkgs;
697 [ dbus dconf 673 [ dbus dconf
674 xdg-desktop-portal-gtk
698 ]; 675 ];
699 676
700 services.udisks2.enable = true; 677 services.udisks2.enable = true;
@@ -703,12 +680,8 @@ in {
703 light.enable = true; 680 light.enable = true;
704 wireshark.enable = true; 681 wireshark.enable = true;
705 dconf.enable = true; 682 dconf.enable = true;
706 }; 683 niri.enable = true;
707 684 fuse.userAllowOther = true;
708 zramSwap = {
709 enable = true;
710 algorithm = "zstd";
711 writebackDevice = "/dev/disk/by-label/swap";
712 }; 685 };
713 686
714 services.pcscd.enable = true; 687 services.pcscd.enable = true;
@@ -728,6 +701,16 @@ in {
728 environment.sessionVariables."GTK_USE_PORTAL" = "1"; 701 environment.sessionVariables."GTK_USE_PORTAL" = "1";
729 xdg.portal = { 702 xdg.portal = {
730 enable = true; 703 enable = true;
704 extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
705 config.niri = {
706 default = ["gnome" "gtk"];
707 "org.freedesktop.impl.portal.FileChooser" = ["gtk"];
708 "org.freedesktop.impl.portal.OpenFile" = ["gtk"];
709 "org.freedesktop.impl.portal.Access" = ["gtk"];
710 "org.freedesktop.impl.portal.Notification" = ["gtk"];
711 "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
712 "org.freedesktop.impl.portal.Inhibit" = ["none"];
713 };
731 }; 714 };
732 715
733 environment.persistence."/.bcachefs" = { 716 environment.persistence."/.bcachefs" = {
@@ -735,11 +718,11 @@ in {
735 directories = [ 718 directories = [
736 "/nix" 719 "/nix"
737 "/root" 720 "/root"
721 "/home"
738 "/var/log" 722 "/var/log"
739 "/var/lib/sops-nix" 723 "/var/lib/sops-nix"
740 "/var/lib/nixos" 724 "/var/lib/nixos"
741 "/var/lib/systemd" 725 "/var/lib/systemd"
742 "/home"
743 "/var/lib/chrony" 726 "/var/lib/chrony"
744 "/var/lib/fprint" 727 "/var/lib/fprint"
745 "/var/lib/bluetooth" 728 "/var/lib/bluetooth"
@@ -768,6 +751,10 @@ in {
768 751
769 home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ]; 752 home-manager.sharedModules = [ flakeInputs.nixVirt.homeModules.default ];
770 753
754 environment.pathsToLink = [
755 "share/zsh"
756 ];
757
771 system.stateVersion = "24.11"; 758 system.stateVersion = "24.11";
772 }; 759 };
773} 760}