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:
@@ -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: privacy‑friendly YouTube client
|
freetube.enable = false; # FreeTube: privacy‑friendly 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
|
||||||
|
|||||||
@@ -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: privacy‑friendly YouTube client
|
freetube.enable = false; # FreeTube: privacy‑friendly 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
|
||||||
|
|||||||
@@ -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: privacy‑friendly YouTube client
|
freetube.enable = false; # FreeTube: privacy‑friendly 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,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"];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user