feat: Compile Plasma Bigscreen against the development repo as of February 13, 2026

This commit is contained in:
UGA Innovation Factory
2026-02-13 11:35:24 -05:00
parent 950be4b8ce
commit eb791734ba
7 changed files with 306 additions and 1 deletions

63
sw/bigscreen/default.nix Normal file
View File

@@ -0,0 +1,63 @@
# ============================================================================
# Bigscreen Software Configuration
# ============================================================================
# Imports desktop-specific programs and services (KDE Plasma, CUPS, etc.)
{
config,
lib,
pkgs,
inputs,
...
}:
with lib;
let
cfg = config.athenix.sw.bigscreen;
in
{
options.athenix.sw.bigscreen = mkOption {
type = lib.types.submodule {
options = {
enable = mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable full desktop environment with KDE Plasma 6 Bigscreen.
Includes:
- KDE Plasma 6 desktop with SDDM display manager
- Printing and scanning support (CUPS)
- Virtualization (libvirt, virt-manager)
- Bluetooth and audio (PipeWire)
Recommended for: home theater PCs, media centers, and large-screen desktops.
'';
example = true;
};
};
};
default = { };
description = "Desktop environment configuration (KDE Plasma 6).";
};
config = mkIf cfg.enable (mkMerge [
(import ./programs.nix {
inherit
config
lib
pkgs
inputs
;
})
(import ./services.nix {
inherit
config
lib
pkgs
inputs
;
})
]);
}

31
sw/bigscreen/programs.nix Normal file
View File

@@ -0,0 +1,31 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.athenix.sw;
basePackages = with pkgs; [
tmux
man
(chromium.override {
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
})
lm_sensors
];
in
{
environment.systemPackages = subtractLists cfg.excludePackages (basePackages ++ cfg.extraPackages);
programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.virt-manager.enable = true;
}

74
sw/bigscreen/services.nix Normal file
View File

@@ -0,0 +1,74 @@
{
lib,
pkgs,
...
}:
let
xelpkgs = pkgs: import ../../pkgs pkgs;
bigscreenpkgs = xelpkgs pkgs;
in
{
athenix.sw.python.enable = lib.mkDefault true;
services.displayManager.sddm = {
enable = true;
theme = "breeze";
wayland.enable = true;
enableHidpi = true;
settings = {
Autologin = {
Session = "plasma-bigscreen-wayland";
User = "engr-ugaif";
};
};
};
services.desktopManager.plasma6.enable = true;
services.displayManager.sessionPackages = with bigscreenpkgs; [
plasma-bigscreen
];
services.printing.enable = true;
networking.networkmanager.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
fonts.packages = with pkgs; [
nerd-fonts.fira-code
corefonts
noto-fonts
];
fonts.fontconfig = {
enable = true;
defaultFonts.monospace = [ "FiraCode Nerd Font Mono" ];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
networking.firewall.enable = true;
services.flatpak.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ];
virtualisation.libvirtd.enable = true;
services.thermald.enable = true;
services.fwupd.enable = true;
services.openssh = {
enable = true;
settings.PermitRootLogin = "no";
};
}

View File

@@ -32,6 +32,7 @@ in
./builders
./tablet-kiosk
./stateless-kiosk
./bigscreen
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
inputs.disko.nixosModules.disko