blob: b56e3d050f92073aef4f2650010b5b5a8cc6d8f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
{ config, pkgs, inputs, ... }:
{
imports = [
# hardware-configuration.nix stays at the repo root for nixos-generate-config compat
../../hardware-configuration.nix
# OS-level modules — no binary wrapped, just system concerns
../../modules/system/nix
../../modules/system/boot
../../modules/system/hardware
../../modules/system/locale
../../modules/system/users
../../modules/system/audio
../../modules/system/printing
../../modules/system/network
../../modules/system/services
# Standalone features (apps with their own binaries)
../../modules/features/niri
../../modules/features/noctalia-greeter
../../modules/features/noctalia-shell
../../modules/features/nvidia
../../modules/features/appimage
../../modules/features/mpd
../../modules/features/swingmusic
../../modules/features/starship
../../modules/features/monitoring
../../modules/features/terminals
../../modules/features/cli-tools
../../modules/features/binary-compat
../../modules/features/editors
../../modules/features/file-managers
../../modules/features/wayland-tools
../../modules/features/audio-tools
../../modules/features/gst-codecs
../../modules/features/fonts
../../modules/features/desktop-apps
../../modules/features/dev-tools
../../modules/features/wireshark
../../modules/features/mouse
];
# ────────────────────────────────────────────────────────────────────────
# Desktop composition (was attrs/desktop)
# Inline because this host is the only one using the full desktop stack.
# ────────────────────────────────────────────────────────────────────────
qt = {
enable = true;
platformTheme = "qt5ct";
style = "breeze";
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
];
};
environment.sessionVariables = {
SHELL = "${pkgs.fish}/bin/fish";
XCURSOR_THEME = "Bibata-Modern-Ice";
XCURSOR_SIZE = "20";
CC = "clang";
ELECTRON_OZONE_PLATFORM_HINT = "auto";
GSK_RENDERER = "ngl";
QT_QPA_PLATFORM = "wayland;xcb";
QT_ENABLE_HIGHDPI_SCALING = "1";
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
QT_SCREEN_SCALE_FACTORS = "1.5";
};
# ────────────────────────────────────────────────────────────────────────
# Gaming composition (was attrs/gaming)
# ────────────────────────────────────────────────────────────────────────
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
programs.throne = {
enable = true;
tunMode.enable = true;
};
environment.systemPackages = with pkgs; [
pkgs.lutris
pkgs.prismlauncher
];
system.stateVersion = "26.05";
}
|