{ pkgs, username, ... }: { home-manager.users.${username}.imports = [ ./home/desktop.nix ]; nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; hardware.bluetooth.enable = true; environment = { sessionVariables = { NIXOS_OZONE_WL = "1"; QT_QPA_PLATFORM = "wayland"; GRIM_DEFAULT_DIR = "$HOME/Pictures/Screenshots"; }; systemPackages = with pkgs; [ libsecret libnotify xdg-utils hunspell hunspellDicts.en_GB-large ]; }; security = { polkit.enable = true; pam.loginLimits = [ { domain = "@users"; item = "rtprio"; type = "-"; value = 1; } ]; }; programs = { dconf.enable = true; noisetorch.enable = true; kdeconnect.enable = true; sway.enable = true; xwayland.enable = true; }; gtk.iconCache.enable = true; services = { gnome.gnome-keyring.enable = true; flatpak.enable = true; printing.enable = true; pipewire = { enable = true; pulse.enable = true; alsa = { enable = true; support32Bit = true; }; }; greetd = { enable = true; settings = let default_session.command = "sway"; in { inherit default_session; initial_session = { inherit (default_session) command; user = username; }; }; }; xserver = { enable = true; xkb = { layout = "gb"; variant = ""; options = "ctrl:nocaps"; }; }; }; xdg.portal = { enable = true; config.common.default = "*"; # TODO change for xdg-desktop-portal > 1.17 changes extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; }