# vim: ts=2
{
  config,
  pkgs,
  home-manager,
  user_js,
  impermanence,
  ...
}: let
  # TODO actually use this in the user config
  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 = [
    impermanence.nixosModules.home-manager.impermanence
    #"${impermanence}/home-manager.nix"
    ./impermanence
    ./packages
    ./config
    ./wms
    ./files
  ];

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

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