nix/nixos/common/desktops/gnome/default.nix

102 lines
2.5 KiB
Nix
Raw Normal View History

2023-08-25 01:02:10 +02:00
{ lib, config, pkgs, hostname, gpu, ... }: {
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Configure keymap in X11
services.xserver = {
enable = true;
layout = "us";
xkbVariant = "";
autorun = true;
2023-09-23 13:40:19 +02:00
videoDrivers = [ ] ++ lib.optional (builtins.isString gpu) gpu;
};
2023-08-23 16:40:37 +02:00
##### disable nvidia, very nice battery life.
2023-08-23 16:48:17 +02:00
# hardware.nvidiaOptimus.disable = lib.mkDefault true;
2023-08-23 16:40:37 +02:00
2023-08-19 11:35:19 +02:00
services.xserver = {
2023-07-10 12:50:05 +02:00
# https://nixos.org/manual/nixos/stable/index.html#chap-gnome
# Enable the GNOME Desktop Environment.
2023-08-23 18:27:35 +02:00
displayManager.gdm.enable = true;
2023-07-10 12:50:05 +02:00
desktopManager.gnome.enable = true;
2023-08-23 18:25:13 +02:00
desktopManager.gnome.extraGSettingsOverrides = ''
2023-08-23 18:31:18 +02:00
[org.gnome.login-screen]
2023-08-23 18:32:25 +02:00
banner-message-enable=true
2023-08-23 18:34:09 +02:00
banner-message-text='Test';
2023-08-23 18:25:13 +02:00
'';
2023-07-10 12:50:05 +02:00
};
# Set Gnome settings:
2023-08-24 12:14:42 +02:00
services.gnome = {
2023-07-10 12:50:05 +02:00
games.enable = false;
core-utilities.enable = true;
2023-07-12 16:41:12 +02:00
gnome-remote-desktop.enable = true;
2023-07-10 12:50:05 +02:00
};
# Set the firewall ports for gnome-remote-desktop:
networking.firewall.interfaces.tailscale0.allowedTCPPorts = [ 3389 ];
2023-07-12 16:41:12 +02:00
2023-07-10 12:50:05 +02:00
# https://nixos.wiki/wiki/GNOME
# Remove unwanted packages
2023-08-22 14:14:49 +02:00
environment.gnome.excludePackages = (with pkgs; [
2023-07-10 12:50:05 +02:00
gnome.cheese
gnome.gnome-music
gnome.epiphany
gnome.geary
gnome.totem
gnome.gnome-characters
gnome-tour
gnome-photos
gnome.yelp
gnome.gnome-font-viewer
gnome-connections
gnome.gnome-contacts
gnome.gnome-logs
gnome.gnome-maps
gnome.simple-scan
2023-08-22 14:14:49 +02:00
]);
2023-07-10 12:50:05 +02:00
2023-08-22 14:14:49 +02:00
environment.systemPackages = with pkgs; [
2023-07-10 12:50:05 +02:00
# Gnome Extensions
2024-01-01 12:42:30 +01:00
gnomeExtensions.forge
2023-08-22 14:14:49 +02:00
gnomeExtensions.dash-to-dock
gnomeExtensions.blur-my-shell
gnomeExtensions.vitals
gnomeExtensions.user-themes
gnomeExtensions.caffeine
gnomeExtensions.hibernate-status-button
gnomeExtensions.night-theme-switcher
2023-12-21 02:53:52 +01:00
gnomeExtensions.tailscale-qs
2023-07-10 12:50:05 +02:00
# Gnome relevant packages
gnome3.gnome-tweaks
papirus-icon-theme
2023-08-23 07:30:15 +02:00
dconf2nix # https://github.com/gvolpe/dconf2nix
2023-09-29 10:41:08 +02:00
# Tweak libadwaita themes
2024-01-01 12:42:30 +01:00
gradience
adw-gtk3
2023-12-04 11:13:06 +01:00
gnome.gnome-session
2023-07-10 12:50:05 +02:00
];
imports = [
# Gnome Themes
2024-01-01 12:42:30 +01:00
./themes/arc.nix
# ./themes/gruvbox.nix
# ./themes/tokyo-night.nix
# ./themes/nordic.nix
# ./themes/vimix.nix
# ./themes/fluent.nix
2023-07-10 12:50:05 +02:00
# You may need to edit which theme you're using in dconf.nix if you remove themes
];
}