2024-03-28 16:13:46 -04:00
|
|
|
{ pkgs, lib, config, ... }: {
|
|
|
|
|
2024-03-28 20:37:53 -04:00
|
|
|
imports =
|
|
|
|
[ ./displayManagers/lightdm ./gnome ./plasma ./windowManagers/hyprland ];
|
2024-03-28 16:13:46 -04:00
|
|
|
|
|
|
|
options = {
|
2024-03-28 16:40:23 -04:00
|
|
|
desktopConfig.enable =
|
2024-03-28 16:13:46 -04:00
|
|
|
lib.mkEnableOption "Enables basic GUI X11 and Wayland environment.";
|
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf config.desktopConfig.enable {
|
|
|
|
# Enable the X11 windowing system.
|
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
|
|
|
xkb.layout = "us";
|
|
|
|
xkb.variant = "";
|
|
|
|
excludePackages = with pkgs; [ xterm ];
|
|
|
|
};
|
2024-03-28 16:40:23 -04:00
|
|
|
|
2024-03-28 16:13:46 -04:00
|
|
|
# Install pretty fonts.
|
2024-03-28 20:37:53 -04:00
|
|
|
fonts.packages = with pkgs;
|
|
|
|
[
|
|
|
|
liberation_ttf
|
|
|
|
(nerdfonts.override {
|
|
|
|
fonts = [
|
|
|
|
"DroidSansMono"
|
|
|
|
"FiraCode"
|
|
|
|
"FiraMono"
|
|
|
|
"Hack"
|
|
|
|
"Noto"
|
|
|
|
];
|
|
|
|
})
|
|
|
|
];
|
2024-03-28 16:13:46 -04:00
|
|
|
|
|
|
|
# Enable basic assortment of GUI apps.
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
fractal
|
|
|
|
github-desktop
|
|
|
|
google-chrome
|
|
|
|
obsidian
|
|
|
|
tauon
|
|
|
|
vscode
|
|
|
|
webcord
|
|
|
|
zoom-us
|
|
|
|
];
|
|
|
|
|
|
|
|
desktopConfig.windowManagers.hyprland.enable = lib.mkDefault true;
|
|
|
|
};
|
2024-03-28 16:40:23 -04:00
|
|
|
}
|