2025-01-05 23:06:45 +01:00
|
|
|
{ pkgs, ... }: {
|
2023-08-14 07:55:14 +02:00
|
|
|
# Enable sound with pipewire.
|
|
|
|
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;
|
2025-01-05 20:33:46 +01:00
|
|
|
xkb.layout = "us";
|
|
|
|
xkb.variant = "";
|
2023-08-14 07:55:14 +02:00
|
|
|
autorun = true;
|
|
|
|
};
|
|
|
|
|
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 = {
|
2025-01-05 23:08:30 +01:00
|
|
|
displayManager = {
|
2025-01-05 23:06:45 +01:00
|
|
|
gdm = {
|
|
|
|
enable = true;
|
|
|
|
};
|
2025-01-05 23:08:30 +01:00
|
|
|
};
|
|
|
|
desktopManager = {
|
2025-01-05 23:06:45 +01:00
|
|
|
gnome = {
|
|
|
|
enable = true;
|
|
|
|
extraGSettingsOverridePackages = [ pkgs.mutter ];
|
|
|
|
extraGSettingsOverrides = ''
|
|
|
|
[org.gnome.mutter]
|
2025-01-05 23:58:37 +01:00
|
|
|
experimental-features=[
|
2025-01-06 18:19:39 +01:00
|
|
|
'scale-monitor-framebuffer'
|
|
|
|
'variable-refresh-rate'
|
2025-01-05 23:58:37 +01:00
|
|
|
]
|
2025-01-05 23:06:45 +01: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
|
|
|
};
|
|
|
|
|
2023-07-13 14:07:53 +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; [
|
2025-01-04 20:40:30 +01:00
|
|
|
cheese
|
|
|
|
gnome-music
|
|
|
|
epiphany
|
|
|
|
geary
|
|
|
|
totem
|
|
|
|
gnome-characters
|
2023-07-10 12:50:05 +02:00
|
|
|
gnome-tour
|
|
|
|
gnome-photos
|
2025-01-04 20:40:30 +01:00
|
|
|
yelp
|
|
|
|
gnome-font-viewer
|
2023-07-10 12:50:05 +02:00
|
|
|
gnome-connections
|
2025-01-04 20:40:30 +01:00
|
|
|
gnome-contacts
|
|
|
|
gnome-logs
|
|
|
|
gnome-maps
|
|
|
|
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 13:31:15 +01:00
|
|
|
gnomeExtensions.arcmenu
|
2025-01-04 20:40:30 +01:00
|
|
|
gnomeExtensions.tiling-shell
|
2024-01-01 13:31:15 +01:00
|
|
|
gnomeExtensions.dash-to-panel
|
2023-08-22 14:14:49 +02:00
|
|
|
gnomeExtensions.blur-my-shell
|
|
|
|
gnomeExtensions.caffeine
|
|
|
|
gnomeExtensions.hibernate-status-button
|
|
|
|
gnomeExtensions.night-theme-switcher
|
2023-12-21 02:53:52 +01:00
|
|
|
gnomeExtensions.tailscale-qs
|
2025-01-05 23:58:37 +01:00
|
|
|
gnomeExtensions.battery-usage-wattmeter
|
2025-01-06 02:00:06 +01:00
|
|
|
gnomeExtensions.lilypad
|
2023-07-10 12:50:05 +02:00
|
|
|
|
2025-01-06 18:15:43 +01:00
|
|
|
gnome-podcasts
|
|
|
|
|
2023-07-10 12:50:05 +02:00
|
|
|
# Gnome relevant packages
|
2025-01-06 18:02:12 +01:00
|
|
|
gnome-tweaks
|
2023-07-10 12:50:05 +02:00
|
|
|
papirus-icon-theme
|
2023-08-23 07:30:15 +02:00
|
|
|
dconf2nix # https://github.com/gvolpe/dconf2nix
|
2025-01-05 23:58:37 +01:00
|
|
|
ghostty # Terminal Emulator
|
2025-01-06 18:02:12 +01:00
|
|
|
gnome-session
|
2023-07-10 12:50:05 +02:00
|
|
|
];
|
|
|
|
}
|