{ inputs, pov, config, lib, ... }: let inherit (lib) types; cfg = lib.getAttrFromPath pov config; in { config = lib.mkIf (cfg.enable && (cfg.type == "gnomeMinimal")) { nixpkgs.overlays = [ (final: prev: { # patch gdm to automaticly select the first user gnome-shell = prev.gnome-shell.overrideAttrs (prevAttrs: { patches = prevAttrs.patches ++ [ inputs.self.resources.patches.gdm-autoselect-user ]; }); }) ]; modules.filesystem.impermanence.system.dirs = [ { directory = "/var/lib/colord"; mode = "u=rwx,g=rx,o="; user = "colord"; group = "colord"; } ]; modules = { gnomeMinimal.enable = true; hardware.bluetooth.enable = true; networking.NetworkManager.enable = true; services = { upower.enable = true; power-profiles-daemon.enable = true; earlyoom.avoid = [ "gnome-shell" "gdm" "mutter" ]; }; }; }; }