Files
NixOS-Configs/modules/graphical/default.nix
2026-08-31 21:20:26 -07:00

42 lines
1.4 KiB
Nix

{ pkgs, lib, ... }:
{
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
services.getty.autologinUser = "anish";
# Boot straight into Hyprland from the first virtual console on any machine.
# No display manager required; tty2-6 remain available as plain shells.
environment.loginShellInit = ''
if [ "$(tty)" = "/dev/tty1" ]; then
exec ${pkgs.hyprland}/bin/Hyprland
fi
'';
# Machine-agnostic Wayland session variables.
# GPU/vendor specific variables live with their hardware module (e.g. modules/hardware/nvidia.nix).
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
HYPRCURSOR_ENABLED = "1";
MOZ_ENABLE_WAYLAND = "1";
QT_QPA_PLATFORM = "wayland;xcb";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
CLUTTER_BACKEND = "wayland";
GDK_BACKEND = "wayland,x11,*";
};
# Fonts used across the desktop shell (Silicon Volt theme):
# JetBrains Mono for terminal/UI mono, IBM Plex Sans for UI sans,
# Instrument Serif for display italics, Nanum Gothic Coding as mono fallback.
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
nerd-fonts.fira-code
font-awesome
ibm-plex
nanum-gothic-coding
] ++ lib.optional (lib.hasAttr "instrument-serif" pkgs) pkgs.instrument-serif;
}