zaphyra's git: nixfiles

zaphyra's nixfiles

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 
{
  config,
  systemConfig,
  lib,
  pkgs,
  ...
}:

{

  options.zaphyra.programs.nautilus.enable = lib.mkOption {
    type = lib.types.bool;
    default = systemConfig.modules.presets.graphical.enable;
  };

  config = lib.mkIf config.zaphyra.programs.nautilus.enable {
    home.packages = with pkgs; [
      nautilus
      sushi # quick-preview for nautilus
    ];

    home.sessionVariables = {
      NAUTILUS_4_EXTENSION_DIR = "${config.home.profileDirectory}/lib/nautilus/extensions-4";
    };

    xdg.mimeApps.enable = true;
    xdg.mimeApps.defaultApplications = lib.genAttrs [
      "inode/directory"
      "application/x-7z-compressed"
      "application/x-7z-compressed-tar"
      "application/x-bzip"
      "application/x-bzip-compressed-tar"
      "application/x-compress"
      "application/x-compressed-tar"
      "application/x-cpio"
      "application/x-gzip"
      "application/x-lha"
      "application/x-lzip"
      "application/x-lzip-compressed-tar"
      "application/x-lzma"
      "application/x-lzma-compressed-tar"
      "application/x-tar"
      "application/x-tarz"
      "application/x-xar"
      "application/x-xz"
      "application/x-xz-compressed-tar"
      "application/zip"
      "application/gzip"
      "application/bzip2"
      "application/x-bzip2-compressed-tar"
      "application/vnd.rar;application/zstd"
      "application/x-zstd-compressed-tar"
    ] (_name: [ "org.gnome.Nautilus.desktop" ]);

    gtk.gtk4.extraCss = ''
      /* remove 'starred' in nautilus side-panel */
      .nautilus-window .navigation-sidebar > :nth-child(3) {
        min-height: 0;
        font-size: 0;
        -gtk-icon-size: 0;
        margin-top: -2px;
      }
    '';

    dconf.settings = {
      "org/gnome/nautilus/list-view" = {
        use-tree-view = true;
        default-zoom-level = "small";
      };
      "org/gnome/nautilus/preferences" = {
        date-time-format = "detailed";
        default-folder-viewer = "list-view";
        show-delete-permanently = true;
      };
    };
  };

}