aboutsummaryrefslogtreecommitdiff
path: root/users/tdback/desktop.nix
blob: 1d57042744f46d57b2463edf55c4b0912b4d446a (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
65
66
67
68
69
70
71
72
73
74
{ config, pkgs, ... }:
let
  mkDirs =
    defined:
    let
      home = config.home.homeDirectory;
      dirs = [
        "desktop"
        "documents"
        "download"
        "music"
        "pictures"
        "publicShare"
        "templates"
        "videos"
      ];
    in
    {
      enable = true;
      createDirectories = true;
    }
    // (builtins.listToAttrs (
      builtins.map (dir: {
        name = dir;
        value = if builtins.hasAttr dir defined then "${home}/${defined.${dir}}" else null;
      }) dirs
    ));
in
{
  imports = [
    ./modules/email
    ./modules/firefox
    ./modules/irc
    ./modules/mpd
    ./modules/ncmpcpp
    ./modules/neomutt
    ./modules/tmux
  ];

  home.packages = with pkgs.unstable; [
    clang
    element-desktop
    gimp
    gitu
    mpv
    pciutils
    tidal-dl
    yt-dlp
    zathura
  ];

  xdg = {
    enable = true;
    userDirs = mkDirs {
      documents = "documents";
      download = "downloads";
    };
  };

  qt = {
    enable = true;
    platformTheme.name = "gtk3";
    style = {
      name = "adwaita-dark";
      package = pkgs.adwaita-qt;
    };
  };

  gtk = {
    enable = true;
    gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
    gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
  };
}