1{
2 config,
3 lib,
4 pkgs,
5 ...
6}: {
7 imports = [
8 ./gnome
9 ./plasma
10 ];
11
12 options.myHome.desktop.enable = lib.mkOption {
13 default = config.myHome.desktop.gnome.enable or config.myHome.desktop.plasma.enable;
14 description = "Desktop environment configuration.";
15 type = lib.types.bool;
16 };
17
18 config = lib.mkIf config.myHome.desktop.enable {
19 home.packages = [
20 pkgs.adwaita-icon-theme
21 ];
22
23 dconf = {
24 enable = true;
25
26 settings = {
27 "org/gnome/nm-applet".disable-connected-notifications = true;
28 "org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
29 "org/gtk/settings/file-chooser".sort-directories-first = true;
30 };
31 };
32
33 gtk.gtk3.bookmarks = [
34 "file://${config.xdg.userDirs.documents}"
35 "file://${config.xdg.userDirs.download}"
36 "file://${config.xdg.userDirs.music}"
37 "file://${config.xdg.userDirs.videos}"
38 "file://${config.xdg.userDirs.pictures}"
39 ];
40
41 xdg.userDirs = {
42 enable = true;
43 createDirectories = true;
44 desktop = lib.mkDefault "${config.home.homeDirectory}/Desktop";
45 documents = lib.mkDefault "${config.home.homeDirectory}/Documents";
46 download = lib.mkDefault "${config.home.homeDirectory}/Downloads";
47 music = lib.mkDefault "${config.home.homeDirectory}/Music";
48 pictures = lib.mkDefault "${config.home.homeDirectory}/Pictures";
49 publicShare = lib.mkDefault "${config.home.homeDirectory}/Public";
50 templates = lib.mkDefault "${config.home.homeDirectory}/Templates";
51 videos = lib.mkDefault "${config.home.homeDirectory}/Videos";
52 };
53 };
54}