{ config, lib, pkgs, catppuccin-themes, ... }: { imports = [ ./wlogout/default.nix ./waybar/default.nix ./swaync/default.nix ./rofi/default.nix ./anyrun.nix ./gtk.nix ]; programs.rofi = { package = pkgs.rofi-wayland; terminal = "${pkgs.alacritty}/bin/alacritty"; pass.extraConfig = '' backend=wtype clibpoard_backend=wl-clipboard ''; }; services.kanshi = { enable = true; systemdTarget = "hyprland-session.target"; }; stylix.targets = { hyprland.enable = true; xresources.enable = true; }; wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; systemdIntegration = true; extraConfig = import ./config.nix { inherit config pkgs; theme = catppuccin-themes.hyprland; }; }; xdg = { configFile = { "hypr/hyprpaper.conf".text = '' preload = ${config.stylix.image} wallpaper = ,${config.stylix.image} ''; "hypr/macchiato.conf".source = ./macchiato.conf; "hypr/extra.conf" = lib.mkDefault { text = ""; }; }; mimeApps = let associations = { "image/jpeg" = [ "swayimg.desktop" ]; "image/png" = [ "swayimg.desktop" ]; "video/mp4" = [ "mpv.desktop" ]; "application/pdf" = [ "zathura.desktop" "emacs.desktop" ]; "application/json" = [ "emacs.desktop" "firefox.desktop" ]; "application/x-yaml" = [ "emacs.desktop" ]; "text/csv" = [ "calc.desktop" "emacs.desktop" ]; }; in { enable = true; defaultApplications = associations; associations.added = associations; }; }; }