{ lib , pkgs , userName , ... }: let # Have a file sturcture that holds all the configuration files that can't be configured by Nix # or maybe I'm too lazy to do anything about it? I dunno dirs = { defaults = ../defaults; }; in { _module.args = { inherit dirs; }; # Import sub modules imports = [ ./packages ]; home = lib.mkMerge [ { username = userName; homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${userName}" else "/home/${userName}"; stateVersion = "24.11"; } (lib.mkIf pkgs.stdenv.isLinux { pointerCursor = { gtk.enable = true; package = pkgs.catppuccin-cursors.mochaDark; name = "catppuccin-mocha-dark-cursors"; size = 22; }; }) ]; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }