Add boxes and switcheroo modules; enable kdenlive

Register GNOME Boxes and Switcheroo in core packages and enable flags
Turn on kdenlive for Garand‑Desktop and adjust its wrapper for QT
scaling
Extend Docker module with host‑specific profile support and conditional
Nvidia integration
Reformat package definitions (plex, distrobox, winboat) and tidy
nvidia‑driver list
This commit is contained in:
2026-05-23 20:47:49 +02:00
parent 0a3cff7b74
commit ce94f3e813
6 changed files with 43 additions and 8 deletions
+3 -1
View File
@@ -53,6 +53,7 @@ _: {
distrobox.enable = false; # Distrobox: containerized development environments distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker lazydocker.enable = false; # Lazydocker: simple TUI for Docker
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
boxes.enable = false; # Gnome-Boxes: virtual machine manager
/* /*
Gaming Gaming
@@ -94,9 +95,10 @@ _: {
Media & Graphics Media & Graphics
*/ */
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
switcheroo.enable = false; # Switcheroo: file conversion tool
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = true; # Kdenlive: video editing software
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client plex.enable = true; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player jellyfin.enable = true; # Jellyfin: foss media player
+2
View File
@@ -53,6 +53,7 @@ _: {
distrobox.enable = false; # Distrobox: containerized development environments distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker lazydocker.enable = false; # Lazydocker: simple TUI for Docker
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
boxes.enable = false; # Gnome-Boxes: virtual machine manager
/* /*
Gaming Gaming
@@ -94,6 +95,7 @@ _: {
Media & Graphics Media & Graphics
*/ */
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
switcheroo.enable = false; # Switcheroo: file conversion tool
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = false; # Kdenlive: video editing software
+2
View File
@@ -53,6 +53,7 @@ _: {
distrobox.enable = false; # Distrobox: containerized development environments distrobox.enable = false; # Distrobox: containerized development environments
lazydocker.enable = false; # Lazydocker: simple TUI for Docker lazydocker.enable = false; # Lazydocker: simple TUI for Docker
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
boxes.enable = false; # Gnome-Boxes: virtual machine manager
/* /*
Gaming Gaming
@@ -94,6 +95,7 @@ _: {
Media & Graphics Media & Graphics
*/ */
eyeOfGnome.enable = true; # Eye of GNOME: image viewer eyeOfGnome.enable = true; # Eye of GNOME: image viewer
switcheroo.enable = false; # Switcheroo: file conversion tool
freetube.enable = false; # FreeTube: privacyfriendly YouTube client freetube.enable = false; # FreeTube: privacyfriendly YouTube client
gimp.enable = false; # GIMP: GNU Image Manipulation Program gimp.enable = false; # GIMP: GNU Image Manipulation Program
kdenlive.enable = false; # Kdenlive: video editing software kdenlive.enable = false; # Kdenlive: video editing software
+8 -1
View File
@@ -2,12 +2,19 @@
pkgs, pkgs,
lib, lib,
config, config,
host,
... ...
}: { }: let
inherit (import ../../hosts/${host}/variables.nix) profile;
in {
options.docker.enable = lib.mkEnableOption "Docker"; options.docker.enable = lib.mkEnableOption "Docker";
config.virtualisation.docker = lib.mkIf config.docker.enable { config.virtualisation.docker = lib.mkIf config.docker.enable {
enable = true; enable = true;
enableNvidia =
if profile == "nvidia"
then true
else false;
package = pkgs.docker; package = pkgs.docker;
daemon.settings.dns = ["9.9.9.11" "149.112.112.11"]; daemon.settings.dns = ["9.9.9.11" "149.112.112.11"];
}; };
+25 -5
View File
@@ -32,10 +32,22 @@
ttySolitaire = tty-solitaire; ttySolitaire = tty-solitaire;
gimp = gimp; gimp = gimp;
eyeOfGnome = eog; eyeOfGnome = eog;
kdenlive = kdePackages.kdenlive; kdenlive = kdePackages.kdenlive.overrideAttrs (old: {
postInstall =
(old.postInstall or "")
+ ''
wrapProgram $out/bin/kdenlive \
--set QT_SCALE_FACTOR 0.8
'';
});
plex = [ plex = [
(plex-desktop.override {extraEnv = {QT_QPA_PLATFORM = "xcb";};}) (
# plex-desktop plex-desktop.override {
extraEnv = {
QT_QPA_PLATFORM = "xcb";
};
}
)
plexamp plexamp
]; ];
jellyfin = [ jellyfin = [
@@ -44,8 +56,14 @@
]; ];
freetube = freetube; freetube = freetube;
lazydocker = lazydocker; lazydocker = lazydocker;
distrobox = [distrobox pkgs.boxbuddy]; distrobox = [
winboat = [winboat freerdp]; distrobox
pkgs.boxbuddy
];
winboat = [
winboat
freerdp
];
signal = signal-desktop; signal = signal-desktop;
pixieditor = pixieditor; pixieditor = pixieditor;
bottles = bottles; bottles = bottles;
@@ -55,6 +73,8 @@
ferdium = ferdium; ferdium = ferdium;
logisim-evolution = logisim-evolution; logisim-evolution = logisim-evolution;
notify = notify-client; notify = notify-client;
boxes = gnome-boxes;
switcheroo = switcheroo;
}; };
in { in {
imports = builtins.attrValues (builtins.mapAttrs mkPackage packages); imports = builtins.attrValues (builtins.mapAttrs mkPackage packages);
+3 -1
View File
@@ -13,7 +13,9 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = ["nvidia"];
environment.systemPackages = with pkgs; [nvidia-docker]; environment.systemPackages = with pkgs; [
nvidia-docker
];
hardware = { hardware = {
nvidia-container-toolkit.enable = true; nvidia-container-toolkit.enable = true;
nvidia = { nvidia = {