63 lines
1.5 KiB
Nix
63 lines
1.5 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
let
|
|
cfg = config.osbmModules;
|
|
in
|
|
{
|
|
config = lib.mkMerge [
|
|
# Plasma Desktop Environment
|
|
(lib.mkIf (cfg.desktopEnvironment == "plasma") {
|
|
services.xserver.enable = true;
|
|
services.displayManager.sddm.enable = true;
|
|
services.desktopManager.plasma6.enable = true;
|
|
|
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
|
kate
|
|
konsole
|
|
];
|
|
|
|
# Enable printing
|
|
services.printing.enable = true;
|
|
|
|
# Enable Bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
hardware.bluetooth.powerOnBoot = true;
|
|
|
|
# Desktop packages
|
|
environment.systemPackages = with pkgs; [
|
|
alacritty
|
|
ghostty
|
|
obsidian
|
|
mpv
|
|
kitty
|
|
qbittorrent
|
|
element-desktop
|
|
];
|
|
|
|
# Wayland support
|
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
|
})
|
|
|
|
# GNOME Desktop Environment
|
|
(lib.mkIf (cfg.desktopEnvironment == "gnome") {
|
|
services.xserver.enable = true;
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
|
|
# Enable printing
|
|
services.printing.enable = true;
|
|
|
|
# Enable Bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
hardware.bluetooth.powerOnBoot = true;
|
|
})
|
|
|
|
# Common settings for any desktop environment
|
|
(lib.mkIf (cfg.desktopEnvironment != "none") {
|
|
# Enable X11 keymap
|
|
services.xserver.xkb = {
|
|
layout = lib.mkDefault "us";
|
|
variant = lib.mkDefault "";
|
|
};
|
|
})
|
|
];
|
|
}
|