{ inputs, self, ... }: let extraPackages = pkgs: with pkgs; [ x264 gparted vlc obsidian proton-vpn ente-auth signal-desktop github-desktop kdePackages.filelight seahorse ]; in { flake.nixosModules.graphics = { pkgs, config, lib, ... }: { imports = [ self.nixosModules.graphicsOptions ]; environment.systemPackages = with pkgs; [ wayland-utils mesa-demos vulkan-tools ] ++ (if !(config.features.nixos.home-manager.enable) then (extraPackages pkgs) else []); fonts.packages = with pkgs; [ iosevka-comfy.comfy nerd-fonts.jetbrains-mono ]; features.applications.gui = { vscode.enable = lib.mkDefault true; kitty.enable = lib.mkDefault true; }; }; flake.homeModules.graphics = { config, pkgs, ... }: { imports = [ self.homeModules.graphicsOptions ]; home.packages = (extraPackages pkgs) ++ (if config.info.isStandalone then (with pkgs; [ iosevka-comfy.comfy nerd-fonts.jetbrains-mono ]) else []); dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; home.pointerCursor = { enable = true; package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; size = 22; gtk.enable = true; x11.enable = true; }; gtk = { enable = true; colorScheme = "dark"; gtk2.configLocation = "${config.xdg.configHome}/.gtkrc-2.0"; # prevents file conflicts between this and other parts of the nix config gtk2.force = true; }; xdg.desktopEntries.ocr = { name = "OCR image"; exec = "${pkgs.writeScript "ocr" "${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${pkgs.tesseract}/bin/tesseract - - | ${pkgs.wl-clipboard}/bin/wl-copy"}"; }; }; }