78 lines
2 KiB
Nix
78 lines
2 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: {
|
|
options.host.desktop.enable = lib.mkEnableOption "should desktop configuration be enabled";
|
|
|
|
config = lib.mkMerge [
|
|
{
|
|
host.desktop.enable = lib.mkDefault true;
|
|
}
|
|
(lib.mkIf config.host.desktop.enable {
|
|
services = {
|
|
# Enable CUPS to print documents.
|
|
printing.enable = true;
|
|
|
|
xserver = {
|
|
# Enable the X11 windowing system.
|
|
enable = true;
|
|
|
|
# Enable the GNOME Desktop Environment.
|
|
displayManager.gdm.enable = true;
|
|
desktopManager = {
|
|
gnome.enable = true;
|
|
};
|
|
|
|
# Get rid of xTerm
|
|
desktopManager.xterm.enable = false;
|
|
excludePackages = with pkgs; [
|
|
xterm
|
|
atomix # puzzle game
|
|
cheese # webcam tool
|
|
epiphany # web browser
|
|
geary # email reader
|
|
gedit # text editor
|
|
gnome-characters
|
|
gnome-music
|
|
gnome-photos
|
|
gnome-tour
|
|
gnome-logs
|
|
gnome-maps
|
|
hitori # sudoku game
|
|
iagno # go game
|
|
tali # poker game
|
|
yelp # help viewer
|
|
];
|
|
};
|
|
|
|
pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
|
|
# If you want to use JACK applications, uncomment this
|
|
#jack.enable = true;
|
|
|
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
|
# no need to redefine it in your config for now)
|
|
#media-session.enable = true;
|
|
};
|
|
automatic-timezoned = {
|
|
enable = true;
|
|
};
|
|
|
|
# Enable sound with pipewire.
|
|
pulseaudio.enable = false;
|
|
};
|
|
|
|
# enable RealtimeKit for pulse audio
|
|
security.rtkit.enable = true;
|
|
# disable welcome tour
|
|
environment.gnome.excludePackages = [pkgs.gnome-tour];
|
|
})
|
|
];
|
|
}
|