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