about summary refs log tree commit diff stats
path: root/modules/home.legacy/default.nix
blob: 574ed66a66357f919db80913ea58bfa83253d777 (plain) (blame)
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
{
  impermanence,
  nixVim,
  nix-index-database,
  ...
}: let
  username = "soispha";
  homeDirectory = "/home/${username}";

  # xdg
  configHome = "${homeDirectory}/.config";
  dataHome = "${homeDirectory}/.local/share";
  stateHome = "${homeDirectory}/.local/state";
  cacheHome = "${homeDirectory}/.cache";
  binHome = "${homeDirectory}/.local/bin";
  # TODO: add XDG_RUNTIME_DIR
in {
  imports = [
    ./conf
    ./files
    ./impermanence
    ./pkgs
    ./wms

    impermanence.nixosModules.home-manager.impermanence
    nixVim.homeManagerModules.nixvim
    nix-index-database.hmModules.nix-index
  ];

  # I don't know what this does, but I've seen it a lot online, so it should be good, right?
  programs.home-manager.enable = true;

  home = {
    inherit username homeDirectory;
    stateVersion = "23.05";
    enableNixpkgsReleaseCheck = true;
  };
  xdg = {
    enable = true;
    inherit configHome dataHome stateHome cacheHome; #binHome; # TODO: add binHome, when the standard is extended

    /*
    TODO: add this
    desktopEntries = {};
    */

    userDirs = {
      enable = true;
      createDirectories = true;
      desktop = null;
      documents = "${homeDirectory}/school/general";
      download = "${homeDirectory}/media/downloads";
      music = "${homeDirectory}/media/music";
      pictures = "${homeDirectory}/media/pictures";
      videos = "${homeDirectory}/media/videos";
      templates = "${homeDirectory}/media/templates";
      publicShare = "${homeDirectory}/media/public";
    };
  };
}