aboutsummaryrefslogtreecommitdiff
path: root/gui/apps/file.nix
blob: d0a164eb0f1a50515fbeccc262ecaedac774a7d5 (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
{ pkgs, ... }:

{
  home = {
    packages = let
      custom-sxiv = pkgs.callPackage ../pkgs/sxiv.nix { };
    in with pkgs; [
      pcmanfm
    # automounting
      gvfs lxmenu-data shared-mime-info
      xfce.gigolo
    # viewers
      bat
      evince
      custom-sxiv
      mpv
      gthumb
    # audio
      pulseaudio
      pavucontrol
    # office
      libreoffice
      gimp
      simplescreenrecorder
    ];

    sessionVariables = {
    # required to enable auto-mounting in pcmanfm
      GIO_EXTRA_MODULES = "${pkgs.gvfs}/lib/gio/modules";
    # use GTK theme in libreoffice
      SAL_USE_VCLPLUGIN = "gtk";
    };

    file.".config/user-dirs.dirs".text = ''
      XDG_TEMPLATES_DIR="$HOME/"
      XDG_DESKTOP_DIR="$HOME/"
      XDG_DOWNLOAD_DIR="$HOME/downloads/"
      XDG_DOCUMENTS_DIR="$HOME/"
      XDG_MUSIC_DIR="$HOME/"
      XDG_PICTURES_DIR="$HOME/"
      XDG_PUBLICSHARE_DIR="$HOME/"
      XDG_TEMPLATES_DIR="$HOME/"
      XDG_VIDEOS_DIR="$HOME/"
    '';
    file.".config/user-dirs.dirs".force = true;
  };

  xdg.mimeApps.defaultApplications = {
    "application/pdf" = [ "org.gnome.Evince.desktop" ];

    "image/png"  = [ "sxiv.desktop" ];
    "image/jpg"  = [ "sxiv.desktop" ];
    "image/jpeg" = [ "sxiv.desktop" ];

    "video/mp4" = [ "mpv.desktop" ];
  };

# sxiv config
  xresources.extraConfig = ''
    Sxiv.font: Iosevka:size=12
    Sxiv.foreground: #909636
    Sxiv.background: #161616
  '';
}