forked from auxolotl/templates
72 lines
1.6 KiB
Nix
72 lines
1.6 KiB
Nix
# Enables the Gnome desktop environment.
|
|
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.aux.ui.desktops.gnome;
|
|
in
|
|
{
|
|
options = {
|
|
aux.ui.desktops.gnome.enable = lib.mkEnableOption (
|
|
lib.mdDoc "Enables the Gnome Desktop Environment."
|
|
);
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
aux.ui.desktops.enable = true;
|
|
|
|
# Enable Gnome
|
|
services.xserver = {
|
|
# Remove default packages that came with the install
|
|
excludePackages = [ pkgs.xterm ];
|
|
|
|
desktopManager.gnome.enable = true;
|
|
displayManager.gdm.enable = true;
|
|
};
|
|
|
|
environment = {
|
|
# Remove extraneous Gnome packages
|
|
gnome.excludePackages = with pkgs.gnome; [
|
|
gnome-software # Built-in software manager
|
|
tali # poker game
|
|
iagno # go game
|
|
hitori # sudoku game
|
|
atomix # puzzle game
|
|
];
|
|
|
|
# Install additional quality-of-life packages
|
|
systemPackages = with pkgs; [
|
|
gnome-tweaks # Gnome tweak tool
|
|
gnome-themes-extra # Additional themes
|
|
];
|
|
|
|
# Install GStreamer plugins
|
|
# References:
|
|
# https://wiki.nixos.org/wiki/GStreamer
|
|
# https://github.com/NixOS/nixpkgs/issues/195936
|
|
sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (
|
|
with pkgs.gst_all_1;
|
|
[
|
|
gstreamer
|
|
gst-plugins-base
|
|
gst-plugins-good
|
|
gst-plugins-bad
|
|
gst-plugins-ugly
|
|
gst-libav
|
|
gst-vaapi
|
|
]
|
|
);
|
|
};
|
|
|
|
# Gnome UI integration for KDE apps
|
|
qt = {
|
|
enable = true;
|
|
platformTheme = "gnome";
|
|
style = "adwaita-dark";
|
|
};
|
|
};
|
|
}
|