desktop: autologin into Hyprland, Qt/KDE theming, dots fonts

Disable UWSM (black-screens under NVIDIA), autologin to the Hyprland
session, restore upstream qt platformTheme=kde + Darkly, and install the
fonts the end-4 dots actually reference (Google Sans Flex, Readex Pro,
Space Grotesk).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-28 00:51:35 +01:00
parent b57b5fea7c
commit 3a2145c076

View File

@@ -1,8 +1,11 @@
{ pkgs, ... }: { inputs, pkgs, ... }:
{ {
# System-side requirements of illogical-flake (the HM module does the rest) # System-side requirements of illogical-flake (the HM module does the rest)
programs.hyprland.enable = true; programs.hyprland = {
enable = true;
withUWSM = false; # UWSM session black-screens (NVIDIA env vars + non-UWSM-aware dots)
};
services.geoclue2.enable = true; # QtPositioning — weather / night light widgets services.geoclue2.enable = true; # QtPositioning — weather / night light widgets
services.displayManager.sddm = { services.displayManager.sddm = {
@@ -10,8 +13,29 @@
wayland.enable = true; wayland.enable = true;
}; };
# Boot straight into Hyprland; the illogical-impulse lock screen acts as the
# login page (lock.launchOnStartup in ~/.config/illogical-impulse/config.json)
services.displayManager.autoLogin = {
enable = true;
user = "zephrynis";
};
services.displayManager.defaultSession = "hyprland";
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # file pickers etc. xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # file pickers etc.
# Qt app theming (Prism Launcher, protonup-qt, …), matching upstream Arch:
# the dots set QT_QPA_PLATFORMTHEME=kde and write wallpaper Material You
# colors + widgetStyle=Darkly into ~/.config/kdeglobals, assuming
# plasma-integration and Darkly are system-installed (like Bibata). The
# illogical-flake port overrides the platform theme to qt6ct in
# hypr/custom/env.lua — countered in home/zephrynis.nix. No qt.style here:
# QT_STYLE_OVERRIDE would beat kdeglobals' widgetStyle.
qt = {
enable = true;
platformTheme = "kde";
};
environment.systemPackages = [ pkgs.darkly ]; # Qt6 only; no qt5 variant in nixpkgs
security.polkit.enable = true; security.polkit.enable = true;
programs.dconf.enable = true; programs.dconf.enable = true;
services.gvfs.enable = true; services.gvfs.enable = true;
@@ -19,6 +43,16 @@
services.upower.enable = true; services.upower.enable = true;
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
# Fonts the current dots actually use (config.json appearance.fonts):
# main/title/numbers = Google Sans Flex, reading = Readex Pro,
# expressive = Space Grotesk. Without these everything silently falls
# back to DejaVu Sans.
(runCommand "google-sans-flex-font" { } ''
install -Dm644 ${inputs.google-sans-flex}/*.ttf -t $out/share/fonts/truetype
'')
readexpro
(google-fonts.override { fonts = [ "SpaceGrotesk" ]; })
# named by the illogical-flake README # named by the illogical-flake README
rubik rubik
nerd-fonts.ubuntu nerd-fonts.ubuntu