summaryrefslogtreecommitdiff
path: root/users/seth/desktop/gnome.nix
blob: 44f5eecf82a7b8bf5d2e8e26d81f59d56316fde2 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
	config,
	pkgs,
	...
}: let
	inherit (config.seth) desktop;
	homePackages =
		if desktop == "gnome"
		then with pkgs; [adw-gtk3] ++ (with pkgs.gnomeExtensions; [appindicator blur-my-shell caffeine])
		else [];
	dconfSettings =
		if desktop == "gnome"
		then {
			"org/gnome/shell" = {
				favorite-apps = [
					"firefox.desktop"
					"org.gnome.Nautilus.desktop"
					"discord.desktop"
				];
			};

			"org/gnome/desktop/interface" = {
				color-scheme = "prefer-dark";
			};

			"org/gnome/desktop/wm/keybindings" = {
				switch-windows = "['<Alt>Tab']";
				switch-windows-backward = "['<Shift><Alt>Tab']";
			};

			"org/gnome/shell" = {
				disable-user-extensions = false;
				enabled-extensions = [
					"[email protected]"
					"[email protected]"
					"[email protected]"
				];
			};
		}
		else {};
	gtkConfig =
		if desktop == "gnome"
		then {
			enable = true;

			theme = {
				name = "adw-gtk3";
				package = pkgs.adw-gtk3;
			};

			gtk3.extraConfig = {
				Settings = ''
					gtk-application-prefer-dark-theme=1
				'';
			};

			gtk4.extraConfig = {
				Settings = ''
					gtk-application-prefer-dark-theme=1
				'';
			};
		}
		else {};
in {
	home.packages = homePackages;

	dconf.settings = dconfSettings;

	gtk = gtkConfig;
}