{ config, lib, pkgs, inputs, ... }: with lib; let cfg = config.samfelag.modules.desktop.env.grapheio; in { options.samfelag.modules.desktop.env.grapheio = { enable = mkEnableOption "Grapheio desktop environment - hyprland based"; }; config = mkIf cfg.enable { # - Packages --------------------------------- environment.systemPackages = with pkgs; [ # - System --------------------------------- # - Audio alsa-utils playerctl brightnessctl # - Appearance ----------------------------- # - Cursor inputs.hyprcursor-rose-pine.packages.${pkgs.system}.default # - Wallpaper hyprpaper ]; # - Audio ------------------------------------ services = { pipewire = { enable = true; }; }; # - Hyprpaper -------------------------------- hm.xdg.configFile."hypr/hyprpaper.conf".text = '' preload = ${config.samfelag.modules.desktop.wallpaper} wallpaper = ,${config.samfelag.modules.desktop.wallpaper} ''; # - Cursor ----------------------------------- hm.home.pointerCursor = { gtk.enable = true; package = pkgs.rose-pine-cursor; name = "BreezeX Cursor"; size = 24; }; hm.gtk = { enable = true; cursorTheme = { package = pkgs.rose-pine-cursor; name = "BreezeX Cursor"; }; }; # - Modules ---------------------------------- samfelag.modules = { desktop = { # Window Manager wm.hyprland.enable = true; # Greeter (login screen) greeter.greetd = { enable = true; wm_cmd = "Hyprland"; }; tools = { # Status bars eww.enable = true; # Launcher rofi.enable = true; }; }; system.kanata.enable = true; app = { alacritty.enable = true; firefox.enable = true; }; }; }; }