{ config, lib, pkgs, ... }: { imports = [ ./waybar/default.nix ]; services = { avizo.enable = true; syncthing.enable = true; udiskie = { enable = true; notify = true; automount = true; tray = "never"; }; mako = { enable = true; actions = true; anchor = "top-right"; defaultTimeout = 5000; icons = true; iconPath = with config.gtk.iconTheme; "${package}/share/icons/${name}"; layer = "overlay"; margin = "20"; padding = "10"; sort = "-time"; borderRadius = 10; }; }; wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; systemd.enable = true; extraConfig = import ./config.nix { inherit config pkgs; }; }; programs = { zathura.enable = true; rofi = { enable = true; package = pkgs.rofi-wayland; location = "center"; terminal = "${pkgs.alacritty}/bin/alacritty"; pass = { enable = true; package = pkgs.rofi-pass-wayland; extraConfig = '' USERNAME_field='login' ''; }; plugins = with pkgs; [ rofi-calc ]; extraConfig = let power-menu = "power-menu:${pkgs.rofi-power-menu}/bin/rofi-power-menu"; in { modi = "window,run,drun,ssh,calc,${power-menu},combi"; combi-modi = "window,drun,ssh,calc"; sidebar-mode = true; sort = true; sorting-method = "fzf"; matching = "fuzzy"; icon-theme = config.gtk.iconTheme.name; show-icons = true; application-fallback-icon = "󰋙"; drun-display-format = "{icon} {name} ({categories})"; disable-history = false; hide-scrollbar = true; display-window = " 󰧨 Move "; display-run = " 󰅴 Run "; display-drun = " 󱓞 Launch "; display-ssh = " 󰢹 SSH "; display-calc = " 󰪚 Calculator "; display-combi = " 󰛡 Combi "; }; }; }; gtk = { enable = true; cursorTheme = { package = pkgs.catppuccin-cursors.mochaDark; name = "Catppuccin-Mocha-Dark-Cursors"; size = 24; }; iconTheme = { package = pkgs.papirus-icon-theme; name = "Papirus-Dark"; }; theme = { package = pkgs.catppuccin-gtk.override { accents = [ "lavender" ]; size = "standard"; variant = "mocha"; }; name = "Catppuccin-Mocha-Standard-Lavender-Dark"; }; }; xdg = { configFile = { "hypr/extra.conf" = lib.mkDefault { text = ""; }; "hypr/hyprpaper.conf".text = '' preload = ${config.stylix.image} wallpaper = ,${config.stylix.image} ''; "gtklock/config.ini".text = let powerbar = "${pkgs.gtklock-powerbar-module}/lib/gtklock/powerbar-module.so"; playerctl = "${pkgs.gtklock-playerctl-module}/lib/gtklock/playerctl-module.so"; in '' [main] start-hidden=true modules=${powerbar};${playerctl} [powerbar] reboot-command=systemctl reboot poweroff-command=systemctl -i poweroff suspend-command=systemctl suspend logout-command=hyprctl dispatch exit [playerctl] art-size=64 position=below-clock ''; }; mimeApps = rec { enable = true; defaultApplications = { "image/jpeg" = [ "swayimg.desktop" ]; "image/png" = [ "swayimg.desktop" ]; "video/mp4" = [ "mpv.desktop" ]; "text/csv" = [ "calc.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" ]; }; associations.added = defaultApplications; }; }; }