summaryrefslogtreecommitdiff
path: root/nixos/hosts/opus/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/hosts/opus/default.nix')
-rw-r--r--nixos/hosts/opus/default.nix93
1 files changed, 93 insertions, 0 deletions
diff --git a/nixos/hosts/opus/default.nix b/nixos/hosts/opus/default.nix
new file mode 100644
index 0000000..4143528
--- /dev/null
+++ b/nixos/hosts/opus/default.nix
@@ -0,0 +1,93 @@
+{ 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
+ ];
+
+ # ────────────────────────────────────────────────────────────────────────
+ # 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";
+}