-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmodule-desktop.nix
111 lines (95 loc) · 3.23 KB
/
module-desktop.nix
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{ config, pkgs, ... }: {
# https://github.com/fthx/no-overview/tree/main
# is also helpful to ensure we end up on a desktop instead of the launcher.
# Forked to https://github.com/iwanders/gnome-no-overview-extension
# Currently installed through the gnome extension system.
imports = [ ./gnome-osk.nix ];
options = { };
config = {
# Surface related stuff.
services.iptsd.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = true;
# https://github.com/NixOS/nixpkgs/blob/4ecab3273592f27479a583fb6d975d4aba3486fe/nixos/modules/services/x11/desktop-managers/gnome.nix#L459
# Configure keymap in X11
services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e,caps:escape";
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.gdm.autoSuspend = false;
# This block is here to ensure we get GDM with the custom on screen keyboard extension
# in the settings I want.
programs.dconf.profiles.gdm.databases = [
{
#lockAll = false;
settings."org/gnome/shell/extensions/enhancedosk" = {
show-statusbar-icon = true;
locked = true;
};
}
{
#lockAll = false;
settings."org/gnome/shell" = {
enabled-extensions = [ "iwanders-gnome-enhanced-osk-extension" ];
};
}
{
#lockAll = false;
settings."org/gnome/desktop/a11y/applications" = {
screen-keyboard-enabled = true;
};
}
];
services.xserver.desktopManager.gnome.enable = true;
services.gnome.core-utilities.enable = false;
services.usbmuxd.enable = true; # For mounting ios devices.
# well, that (utilities false) still pulls in orca, with speech synthesis, for many megabytes.
# https://github.com/NixOS/nixpkgs/blob/4ecab3273592f27479a583fb6d975d4aba3486fe/nixos/modules/services/x11/desktop-managers/gnome.nix#L459
# https://discourse.nixos.org/t/howto-disable-most-gnome-default-applications-and-what-they-are/13505
environment.gnome.excludePackages = (with pkgs.gnome; [
baobab # disk usage analyzer
epiphany # web browser
gedit # text editor
simple-scan # document scanner
totem # video player
yelp # help viewer
geary # email client
seahorse # password manager
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-contacts
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
gnome-screenshot
gnome-weather
pkgs.gnome-connections
]) ++ (with pkgs; [ orca ]);
# We also lose nautilus now though, so we add back stuff we actually care about...
environment.systemPackages = (with pkgs.gnome; [
eog # image viewer
evince # document viewer
file-roller # archive manager
gnome-terminal
gnome-system-monitor
gnome-disk-utility
nautilus
gvfs # for mounting ios devices.
]) ++ (with pkgs; [
vlc
mplayer
scite
chromium
gimp
xorg.xwininfo
thunderbird
firefox
# For mounting ios devices:
libimobiledevice
ifuse # optional, to mount using 'ifuse'
]);
};
}