Files
nix-flake/modules/capabilities/graphics.nix
T
2026-10-07 01:03:43 +01:00

70 lines
1.8 KiB
Nix

{ inputs, self, ... }: let
extraPackages = pkgs: with pkgs; [
x264
gparted
vlc
obsidian
proton-vpn
ente-auth
signal-desktop
github-desktop
kdePackages.filelight
];
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"}";
};
};
}