Use uwsm instead of running hyprland directly

This commit is contained in:
Joseph Hanson 2025-02-11 16:42:51 -06:00
parent 04271382e1
commit ffaeb78187
Signed by: jahanson
SSH key fingerprint: SHA256:vy6dKBECV522aPAwklFM3ReKAVB086rT3oWwiuiFG7o

View file

@ -4,11 +4,10 @@
inputs, inputs,
pkgs, pkgs,
... ...
}: }: let
let sanoidConfig = import ./config/sanoid.nix {};
sanoidConfig = import ./config/sanoid.nix { };
disks = import ./config/disks.nix; disks = import ./config/disks.nix;
smartdDevices = map (device: { inherit device; }) disks; smartdDevices = map (device: {inherit device;}) disks;
pushoverNotify = pkgs.writeShellApplication { pushoverNotify = pkgs.writeShellApplication {
name = "pushover-notify"; name = "pushover-notify";
@ -18,7 +17,7 @@ let
jq jq
]; ];
excludeShellChecks = [ "SC2154" ]; excludeShellChecks = ["SC2154"];
text = '' text = ''
${builtins.readFile ./scripts/pushover-notify.sh} ${builtins.readFile ./scripts/pushover-notify.sh}
@ -32,29 +31,28 @@ let
jq jq
]; ];
excludeShellChecks = [ "SC2154" ]; excludeShellChecks = ["SC2154"];
text = '' text = ''
${builtins.readFile ./scripts/refresh-series.sh} ${builtins.readFile ./scripts/refresh-series.sh}
''; '';
}; };
in in {
{
imports = [ imports = [
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
(import ../../profiles/disko-nixos.nix { (import ../../profiles/disko-nixos.nix {
disks = [ "/dev/sda|/dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_500GB_S58SNM0W406409E" ]; disks = ["/dev/sda|/dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_500GB_S58SNM0W406409E"];
}) })
inputs.nix-minecraft.nixosModules.minecraft-servers inputs.nix-minecraft.nixosModules.minecraft-servers
]; ];
boot = { boot = {
initrd = { initrd = {
kernelModules = [ "nfs" ]; kernelModules = ["nfs"];
supportedFilesystems = [ "nfs" ]; supportedFilesystems = ["nfs"];
}; };
binfmt.emulatedSystems = [ "aarch64-linux" ]; # Enabled for arm compilation binfmt.emulatedSystems = ["aarch64-linux"]; # Enabled for arm compilation
kernelModules = [ kernelModules = [
"vfio" "vfio"
@ -62,11 +60,11 @@ in
"vfio_pci" "vfio_pci"
"vfio_virqfd" "vfio_virqfd"
]; ];
extraModulePackages = [ ]; extraModulePackages = [];
kernelParams = [ "zfs.zfs_arc_max=107374182400" ]; # 100GB kernelParams = ["zfs.zfs_arc_max=107374182400"]; # 100GB
}; };
swapDevices = [ ]; swapDevices = [];
hardware = { hardware = {
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
@ -76,7 +74,7 @@ in
nvidia-container-toolkit.enable = true; nvidia-container-toolkit.enable = true;
}; };
users.users.root.openssh.authorizedKeys.keys = [ ]; users.users.root.openssh.authorizedKeys.keys = [];
# Network settings # Network settings
networking = { networking = {
hostName = "shadowfax"; hostName = "shadowfax";
@ -169,7 +167,7 @@ in
# Minio # Minio
minio = { minio = {
enable = true; enable = true;
dataDir = [ "/eru/minio" ]; dataDir = ["/eru/minio"];
rootCredentialsFile = config.sops.secrets."minio".path; rootCredentialsFile = config.sops.secrets."minio".path;
}; };
@ -196,7 +194,7 @@ in
# Soft Serve - SSH git server # Soft Serve - SSH git server
soft-serve = { soft-serve = {
enable = true; enable = true;
settings = import ./config/soft-serve.nix { }; settings = import ./config/soft-serve.nix {};
}; };
sunshine = { sunshine = {
@ -216,21 +214,21 @@ in
# VSCode Compatibility Settings # VSCode Compatibility Settings
vscode-server.enable = true; vscode-server.enable = true;
xserver.videoDrivers = [ "nvidia" ]; xserver.videoDrivers = ["nvidia"];
greetd = { greetd = {
enable = true; enable = true;
vt = 3; vt = 3;
settings = { settings = {
default_session = { default_session = {
user = "jahanson"; user = "jahanson";
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd='uwsm start select'"; # start Hyprland with a TUI login manager
}; };
}; };
}; };
}; };
# sops # sops
sops = import ./config/sops-secrets.nix { }; sops = import ./config/sops-secrets.nix {};
# System settings and services. # System settings and services.
mySystem = { mySystem = {
@ -410,7 +408,7 @@ in
# qBittorrent # qBittorrent
qbittorrent = { qbittorrent = {
enable = true; enable = true;
package = pkgs.unstable.qbittorrent.override { guiSupport = false; }; package = pkgs.unstable.qbittorrent.override {guiSupport = false;};
user = "qbittorrent"; user = "qbittorrent";
group = "kah"; group = "kah";
dataDir = "/nahar/qbittorrent"; dataDir = "/nahar/qbittorrent";
@ -434,9 +432,9 @@ in
system = { system = {
incus = { incus = {
enable = true; enable = true;
preseed = import ./config/incus-preseed.nix { }; preseed = import ./config/incus-preseed.nix {};
}; };
motd.networkInterfaces = [ "bond0" ]; motd.networkInterfaces = ["bond0"];
nfs.enable = true; nfs.enable = true;
zfs.enable = true; zfs.enable = true;
zfs.mountPoolsAtBoot = [ zfs.mountPoolsAtBoot = [