{ inputs
, self
, lib
, ...
}: {
  flake.homeConfigurations = inputs.self.lib.mkHomeManager "x86_64-linux" "weckyy702";

  flake.modules = lib.mkMerge [
    (self.factory.user "weckyy702" true)
    {
      nixos.weckyy702 = {
        imports = with self.modules.nixos; [
          kanata
          catppuccin
        ];

        users.users.weckyy702.extraGroups = [ "networkmanager" "dialout" ];
      };

      homeManager.weckyy702 = { pkgs, ... }: {
        imports = with self.modules.homeManager; [
          nixvim
          btop
          #TODO: moar aspects
        ];
      };
    }
  ];
}
