A bit scuffed right now but I don't care, the surrounding 20 commits are all just 1 giga change I split up to keep things cleaner.
6KKLYLEP3IUF3NWXB6OO5C2X75S4U5OK7E2L7HIWWC3P7FG62EZAC { self, inputs, ... }:{config.flake.modules.homeModules.home ={ config, lib, pkgs, ... }:letinherit (lib.modules) mkAliasOptionModule;inherit (lib.options) mkOption;inherit (lib.types) bool;in{imports = [(mkAliasOptionModule [ "programs" ] [ "rum" "programs" ])(mkAliasOptionModule [ "desktops" ] [ "rum" "desktops" ])(mkAliasOptionModule [ "misc" ] [ "rum" "misc" ])];config = {xdg.cache.directory = "${config.directory}/.cache";xdg.config.directory = "${config.directory}/.config";xdg.data.directory = "${config.directory}/.local/share";xdg.state.directory = "${config.directory}/.local/state";};};config.flake.modules.nixosModules.home ={ lib, self, ... }:letinherit (lib.modules) mkAliasOptionModule;in{imports = [(mkAliasOptionModule [ "home" ] [ "hjem" ])];# Note: home.extraModules is set by users-hjem.nix to all homeModules# Note: inputs.home.nixosModules.default is already included in mkNixos'};config.flake.modules.darwinModules.home ={ lib, ... }:letinherit (lib.lists) singleton;inherit (lib.modules) mkAliasOptionModule;in{imports = [inputs.home.darwinModules.default(mkAliasOptionModule [ "home" ] [ "hjem" ]){ home.extraModules = singleton self.modules.homeModules.home; }];};}
{config.flake.modules.nixos.hjem ={lib,inputs,config,pkgs,...}:lethjemModule = inputs.hjem-rum.hjemModules.default;hjemModules = lib.attrValues inputs.self.modules.hjem;themeModule = inputs.self.modules.nixos.theme;theme =(lib.evalModules {specialArgs = {inheritlibpkgsinputsconfig;};modules = [themeModule{ config.useTheme = true; }];}).config.theme;in{imports = [inputs.hjem.nixosModules.default{hjem.extraModules = [ hjemModule ] ++ hjemModules;hjem.specialArgs = {inherit inputs theme;inherit (config.age) secrets;inherit (config.network) hostName;isDesktop = config.isDesktop or false;isServer = config.isServer or false;isLinux = config.isLinux or false;isDarwin = config.isDarwin or false;};}];};config.flake.modules.darwin.hjem ={lib,inputs,config,...}:lethjemModule = inputs.hjem-modules.hjemModules.default;hjemModules = lib.attrValues inputs.self.modules.hjem;in{imports = [inputs.hjem.darwinModules.default{hjem.extraModules = [ hjemModule ] ++ hjemModules;hjem.specialArgs = {isDesktop = config.isDesktop or false;isServer = config.isServer or false;isLinux = config.isLinux or false;isDarwin = config.isDarwin or false;};}];};}