summaryrefslogtreecommitdiff
path: root/archetypes/profiles/gnome/default.nix
blob: afe53b428419c96bd32c35f42d202600a1990fe8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{ lib, pkgs, ... }: let
	mkGnome = lib.mkOverride 700;

	nixosConfig = {
		services.displayManager.gdm.enable = mkGnome true;
		services.desktopManager.gnome.enable = mkGnome true;
		services.tlp.enable = mkGnome false;  # Conflicts with power-profiles-daemon

		# Override gammastep so the indicator doesnt run on gnome
		nixpkgs.overlays = with pkgs; [
			(final: prev: {
				gammastep = prev.gammastep.overrideAttrs (prev: {
					postInstall = (prev.postInstall or "") + ''
						sed -i '/^NotShowIn=/d' $out/share/applications/gammastep-indicator.desktop
						echo "NotShowIn=GNOME;" >> $out/share/applications/gammastep-indicator.desktop
					'';
				});
			})
		];
	};

	homeConfig = {
		dconf.settings = {
			# Faster repeated keys and less delay before repeating
			# Gnome (wayland) eq. to `xset r rate 250 50`
			"org/gnome/desktop/peripherals/keyboard" = {
				repeat = true;
				delay = 250;
				repeat-interval = 20;  # 20 repeats per second = 50Hz
			};
			# Remap caps key to escape
			"org/gnome/desktop/input-sources" = {
				xkb-options = [ "caps:escape" ];
			};
		};
	};
in {
	imports = [ (lib._mkProfileArchetype "gnome" nixosConfig homeConfig) ];
}