{ lib, pkgs, config, flakeRoot, ... }: let ################################# # Determine default username ################################# username = config.defaultUser or "henrov"; moduleName = "kitty"; ################################# # Paths to assets ################################# assetPath = "${flakeRoot}/generated/.config/kitty"; assetFiles = builtins.attrNames (builtins.readDir assetPath); in { ################################# # System-wide packages ################################# environment.systemPackages = [ pkgs.kitty ]; ################################# # Home Manager user configuration ################################# home-manager.users = { ${username} = { ################################# # Enable Kitty ################################# programs.kitty = { enable = true; extraConfig = '' # Include the Catppuccin-Mocha theme include themes/Catppuccin-Mocha.conf ''; }; ################################# # Copy config files ################################# home.file = (lib.mapAttrs' (name: _: { name = ".config/kitty/kitty.conf"; value.source = "kitty/kitty.conf"; }) (builtins.readDir assetPath) ); }; }; }