{ lib, pkgs, userName, userEmail, ... }: 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 { # Import sub modules imports = map (module: import module {inherit lib pkgs dirs userName userEmail;}) [ ./atuin.nix ./shell.nix ./core.nix ./git.nix ./starship.nix ./eza.nix ./neovim.nix ./direnv.nix ./sway.nix ./terminal.nix ]; # Home Manager needs a bit of information about you and the # paths it should manage. home = { username = userName; homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${userName}" else "/home/${userName}"; sessionVariables = { XDG_CURRENT_DESKTOP = "sway"; }; stateVersion = "24.05"; }; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }