aboutsummaryrefslogtreecommitdiff
path: root/share/home/hyprdesktop.nix
blob: fbf406bca52e92766d62db627cbaa60f2ed43672 (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
# Module containing a bunch of things that make up a `desktop environment` built
# off of hyprland. I install this on all my desktop/laptop machines.
{ pkgs, config, inputs, ... }: {
  imports = [
    ./minimal.nix
    ./hyprland.nix
    ./git.nix
    ./mpv.nix
    ./kitty.nix
    ./firefox
  ];

  home.packages = with pkgs; [
    xh # Nice to use HTTP client
    bc # CLI calculator
    amfora # Gemini CLI browser
    trashy # Trash CLI
    tokei # counts lines of code
    btop # modern top
    brightnessctl
    wineWowPackages.full
    winetricks
    inputs.scripts.packages.${pkgs.system}.image-move
    qemu_kvm

    # TUI/GUI programs
    cmus # music player
    calibre # Document organisation/reading program
    libreoffice-qt
    beekeeper-studio # SQL database client
    thunderbird # email client
    nsxiv # image viewer
    discord
    signal-desktop
    tdesktop # Telegram desktop
    fluffychat # matrix client
    qbittorrent # bittorrent client
    zathura # document reader

    # Gaming
    jdk17_headless
    superTuxKart
  ];

  programs.direnv = {
    enable = true;
    nix-direnv.enable = true;
  };

  xdg = {
    systemDirs.data =
      let
        gds = pkgs.gsettings-desktop-schemas;
        gtk3 = pkgs.gtk3;
      in
      [
        "${gds}/share/gsettings-schemas/${gds.name}"
        "${gtk3}/share/gsettings-schemas/${gtk3.name}"
      ];
    userDirs =
      let
        home = config.home.homeDirectory;
      in
      {
        enable = true;
        createDirectories = true;
        pictures = "${home}/Annex/Pictures";
        music = "${home}/Annex/Music";
      };
  };
}