{ pkgs, lib, ... }: let sddmTheme = "catppuccin-mocha"; in { imports = [ ./environment.nix ]; home-manager.users.matt = import ./home.nix; services = { displayManager = { sddm = { enable = true; package = pkgs.kdePackages.sddm; theme = sddmTheme; wayland.enable = true; }; # gdm.enable = lib.mkForce false; defaultSession = "hyprland"; }; # disable plasma desktopManager.plasma6.enable = lib.mkForce false; # desktopManager.gnome.enable = lib.mkForce false; dbus.enable = true; ddccontrol.enable = true; blueman.enable = true; }; programs.hyprland = { enable = true; xwayland.enable = true; portalPackage = pkgs.xdg-desktop-portal-hyprland; }; programs.nm-applet.enable = true; systemd = { user.services.polkit-gnome-authentication-agent-1 = { description = "polkit-gnome-authentication-agent-1"; wantedBy = [ "graphical-session.target" ]; wants = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; extraConfig = '' DefaultTimeoutStopSec=10s ''; }; security = { polkit.enable = true; # configure sudo sudo.extraRules = [ { commands = [ { command = "/run/current-system/sw/bin/waybar-weather"; options = [ "NOPASSWD" ]; } { command = "/run/current-system/sw/bin/waybar-updates"; options = [ "NOPASSWD" ]; } ]; groups = [ "wheel" ]; } ]; }; xdg.portal = { enable = true; wlr.enable = false; xdgOpenUsePortal = false; extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ]; }; nixpkgs.overlays = [ (self: super: { waybar = super.waybar.overrideAttrs (oldAttrs: { mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; }); }) ]; }