feat: Compile Plasma Bigscreen against the development repo as of February 13, 2026
This commit is contained in:
63
sw/bigscreen/default.nix
Normal file
63
sw/bigscreen/default.nix
Normal 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
31
sw/bigscreen/programs.nix
Normal 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
74
sw/bigscreen/services.nix
Normal 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";
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user