{ pkgs, ... }: { imports = [ ./desktop.nix ./emacs.nix ./firefox.nix ./chromium.nix ]; nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; environment = { sessionVariables = { NIXOS_OZONE_WL = "1"; XDG_CURRENT_DESKTOP = "Hyprland"; XDG_SESSION_TYPE = "wayland"; XDG_SESSION_DESKTOP = "Hyprland"; GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim"; }; systemPackages = with pkgs; [ libsForQt5.polkit-kde-agent swaylock swaynotificationcenter xdg-utils hyprpaper pipewire wireplumber wtype wl-clipboard grim slurp swayimg pamixer pavucontrol playerctl brightnessctl networkmanagerapplet bluez protonvpn-cli protonvpn-gui mpv streamlink mpg123 tagger libreoffice webcord teams-for-linux ]; }; security.pam.services.swaylock = { }; services = { blueman.enable = true; udisks2.enable = true; gvfs.enable = true; tumbler.enable = true; xserver.enable = false; greetd.settings = let command = "Hyprland"; in { default_session = { inherit command; }; initial_session = { inherit command; }; }; }; xdg.mime = rec { enable = true; defaultApplications = { "application/pdf" = [ "emacs.desktop" ]; "application/epub+zip" = [ "emacs.desktop" ]; "application/oxps" = [ "emacs.desktop" ]; "image/jpeg" = [ "swayimg.desktop" ]; "image/png" = [ "swayimg.desktop" ]; "video/mp4" = [ "mpv.desktop" ]; "text/csv" = [ "emacs.desktop" ]; "text/html" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ]; "x-scheme-handler/about" = [ "firefox.desktop" ]; "x-scheme-handler/chrome" = [ "firefox.desktop" ]; "application/x-extension-htm" = [ "firefox.desktop" ]; "application/x-extension-html" = [ "firefox.desktop" ]; "application/x-extension-shtml" = [ "firefox.desktop" ]; "application/xhtml+xml" = [ "firefox.desktop" ]; "application/x-extension-xhtml" = [ "firefox.desktop" ]; "application/x-extension-xht" = [ "firefox.desktop" ]; "application/x-mozilla-bookmarks" = [ "firefox.desktop" ]; "x-scheme-handler/msteams" = [ "teams-for-linux.desktop" ]; }; addedAssociations = defaultApplications; }; programs = { dconf.enable = true; light.enable = true; thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]; }; hyprland = { enable = true; xwayland.enable = true; }; }; }