aboutsummaryrefslogtreecommitdiff
path: root/hosts/wonderland/home.nix
blob: b57342ac0ae572dc31b5c635a3a3aa8a275e0763 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{ pkgs
, flakeRoot
, inputs
, ...
}:
let
  desktop-pkgs = with pkgs; [
    mullvad-vpn
    bitwarden
    calibre
    beekeeper-studio
    thunderbird
    brightnessctl

    libsForQt5.plasma-browser-integration
    libsForQt5.kdeconnect-kde
    libsForQt5.ark
    libsForQt5.kate
    haruna # Video player
    libreoffice-qt
    gimp
    audacity
    discord
    whatsapp-for-linux
    inkscape

    nsxiv
    inputs.scripts.packages.${pkgs.system}.image-move

    wineWowPackages.full
    winetricks
  ];
in
{
  home-manager.useGlobalPkgs = true;
  home-manager.useUserPackages = true;
  home-manager.sharedModules = [{ imports = [ (flakeRoot + /share/home) ]; }];

  home-manager.users.alice = {
    imports =
      let
        home = flakeRoot + /share/home;
      in
      [
        # Custom home manager modules
        (flakeRoot + /share/hm-modules/wpaperd.nix)

        # Config
        (home + /kitty.nix)
        (home + /hyprland.nix)
        (home + /git.nix)
        (home + /firefox)
        (home + /wezterm)
      ];
    home.packages = with pkgs;
      [
        signal-desktop
        tdesktop # Telegram desktop
        qbittorrent
        okteta
        emacs
        # spotify-qt librespot
        nheko # matrix client

        # Various utils
        # qemu_kvm
        pijul # alternative vsc system
        tokei # counts lines of code
        dua # modern du with interactive mode (dua i)
        btop # modern top

        # Gaming
        libsForQt5.kpat # solitare
        jdk17_headless
        superTuxKart

        linux-wifi-hotspot
        qemu_kvm
      ]
      ++ desktop-pkgs;

    home.stateVersion = "22.05";

    programs.gallery-dl = {
      enable = true;
      settings.extractor = {
        base-directory = "$XDG_DOWNLOAD_DIR/gallery-dl";

        postprocessors = [
          {
            name = "metadata";
            mode = "json";
            whitelist = [
              "danbooru"
              "moebooru"
              "gelbooru"
              "sankaku"
              "nhentai"
              "rule34"
            ];
          }
          {
            name = "zip";
            compression = "store";
            extension = "cbz";
            filter = "extension not in ('zip', 'rar')";
            whitelist = [ "nhentai" "mangadex" ];
          }
        ];

        Danbooru.metadata = true;
      }; # End of settings.extractor
    }; # End of programs.gallery-dl
  }; # End of users.alice

  home-manager.users.madhatter = {
    home.packages = desktop-pkgs;
    imports =
      let
        home = flakeRoot + /share/home;
      in
      [
        # Config
        (home + /kitty.nix)
        (home + /git.nix)
        (home + /firefox)
      ];

    home.stateVersion = "23.05";
  };

  home-manager.users.root = {
    home.packages = with pkgs; [
      linux-wifi-hotspot
      dua # modern du with interactive mode (dua i)
    ];

    home.stateVersion = "22.05";
  };
}