From af9286f525770ce196bbf66a2da4ca9be1d34c75 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Thu, 12 Mar 2026 13:01:28 -0400 Subject: refactor some stuff --- system/default.nix | 16 +++++++++++++--- system/desktop.nix | 21 +++++++++++++++------ system/desktops/hyprland.nix | 13 ++++++------- system/hardware.nix | 21 --------------------- system/networking.nix | 11 +++++++---- system/sshd.nix | 2 +- system/virt/docker.nix | 14 +++++++++----- 7 files changed, 51 insertions(+), 47 deletions(-) delete mode 100644 system/hardware.nix (limited to 'system') diff --git a/system/default.nix b/system/default.nix index 205f63a..9c66323 100644 --- a/system/default.nix +++ b/system/default.nix @@ -5,7 +5,9 @@ inputs, system, ... -}: { +}: let + full = !config.minimal; +in { imports = [ inputs.home-manager.nixosModules.home-manager ./desktops @@ -15,7 +17,6 @@ ./bluetooth.nix ./desktop.nix ./fingerprint.nix - ./hardware.nix ./networking.nix ./nvidia.nix ./sshd.nix @@ -45,6 +46,13 @@ # load overlays nixpkgs.overlays = [ (final: prev: import ../pkgs {inherit final prev;}) + # hyprland + (_: _: inputs.hyprland.packages.${system}) + (_: _: inputs.hyprland-plugins.packages.${system}) + (_: _: inputs.hy3.packages.${system}) + # misc + (_: _: inputs.talc.packages.${system}) + (_: _: inputs.apple-fonts.packages.${system}) ]; # set state version @@ -118,7 +126,6 @@ }; # use the latest kernel - boot.kernelPackages = pkgs.linuxPackages_latest; # sysrq @@ -161,4 +168,7 @@ enable = true; execWheelOnly = true; }; + + # firmware + services.fwupd.enable = full; } diff --git a/system/desktop.nix b/system/desktop.nix index 6eed43f..ac6a79d 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -6,6 +6,7 @@ }: let inherit (lib) mkIf; cfg = config.desktops; + full = !config.minimal; in { config = mkIf cfg.enable { # nix-ld @@ -13,15 +14,15 @@ in { # appimage programs.appimage = { - enable = true; + enable = full; binfmt = true; }; # flatpak - services.flatpak.enable = true; + services.flatpak.enable = full; # services - services.libinput.enable = true; + services.libinput.enable = config.desktops.wayland.enable; # gtk portal? programs.dconf.enable = true; @@ -42,7 +43,7 @@ in { # printing services.printing = { - enable = true; + enable = full; drivers = with pkgs; [ brlaser cnijfilter2 @@ -50,14 +51,14 @@ in { ]; }; services.avahi = { - enable = true; + enable = full; nssmdns4 = true; openFirewall = true; }; users.groups.lp.members = [config.user]; # secrets - services.gnome.gnome-keyring.enable = true; + services.gnome.gnome-keyring.enable = full; # system fonts fonts.packages = with pkgs; [ @@ -65,6 +66,14 @@ in { vista-fonts ]; + # yubikey support + services = { + pcscd.enable = full; + udev.packages = with pkgs; [ + yubikey-personalization + ]; + }; + unfreePackages = [ "corefonts" "vista-fonts" diff --git a/system/desktops/hyprland.nix b/system/desktops/hyprland.nix index b0281a3..82ddf0e 100644 --- a/system/desktops/hyprland.nix +++ b/system/desktops/hyprland.nix @@ -1,8 +1,7 @@ { - inputs, - config, lib, - system, + config, + pkgs, ... }: let inherit (lib) mkIf; @@ -12,8 +11,8 @@ in { desktops.wayland.enable = true; xdg.portal = { - extraPortals = [ - inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland + extraPortals = with pkgs; [ + xdg-desktop-portal-hyprland ]; config.hyprland = { default = lib.mkForce ["gtk"]; @@ -28,8 +27,8 @@ in { programs.hyprland = { enable = true; withUWSM = true; - package = inputs.hyprland.packages.${system}.hyprland; - portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland; + package = pkgs.hyprland; + portalPackage = pkgs.xdg-desktop-portal-hyprland; }; }; } diff --git a/system/hardware.nix b/system/hardware.nix deleted file mode 100644 index 8b1ef0c..0000000 --- a/system/hardware.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - inherit (lib) mkIf; -in { - config = mkIf (!config.minimal) { - # yubikey support - services = { - pcscd.enable = true; - udev.packages = with pkgs; [ - yubikey-personalization - ]; - }; - - # firmware - services.fwupd.enable = true; - }; -} diff --git a/system/networking.nix b/system/networking.nix index 72a7029..8e46f4c 100644 --- a/system/networking.nix +++ b/system/networking.nix @@ -12,12 +12,15 @@ in { users.groups.networkmanager.members = [config.user]; # firewall - networking.firewall.enable = true; + networking.firewall.enable = cfg.firewall.enable; networking.firewall.allowedTCPPorts = [80 443 8080]; - networking.nftables.enable = true; + networking.nftables.enable = cfg.firewall.enable; # dns - services.resolved.enable = true; - networking.networkmanager.dns = "systemd-resolved"; + services.resolved.enable = cfg.dns.enable; + networking.networkmanager.dns = + if cfg.dns.enable + then "systemd-resolved" + else "default"; }; } diff --git a/system/sshd.nix b/system/sshd.nix index b3a76c2..e60da43 100644 --- a/system/sshd.nix +++ b/system/sshd.nix @@ -7,7 +7,7 @@ inherit (lib) mkIf; cfg = config.network; in { - config = mkIf cfg.enable { + config = mkIf cfg.ssh.enable { # sshd services.openssh = { enable = true; diff --git a/system/virt/docker.nix b/system/virt/docker.nix index 9dcb7e2..2376574 100644 --- a/system/virt/docker.nix +++ b/system/virt/docker.nix @@ -5,13 +5,17 @@ }: let inherit (lib) mkIf; cfg = config.virt.docker; + rootfs = config.fileSystems."/".fsType; in { config = mkIf cfg.enable { - virtualisation.docker = { - enable = true; - enableOnBoot = false; - storageDriver = "btrfs"; - }; + virtualisation.docker = + { + enable = true; + enableOnBoot = false; + } + // mkIf (rootfs == "btrfs") { + storageDriver = "btrfs"; + }; users.groups.docker.members = [config.user]; }; } -- cgit v1.2.3-freya