{ inputs, lib, ... }: let username = "john"; in { flake = { meta.users."${username}" = { email = "32917998+jsl12@users.noreply.github.com"; name = "John Lancaster"; username = "${username}"; key = ""; keygrip = [ ]; authorizedKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIAUa4dcg1TWc4pW++uodyhX4eOqrX/QYIxFWtEP7HFJ john@john-pc-ubuntu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMOkGLo4N/L3RYvaIZ1FmePlxa1HK0fMciZxKtRhN58F root@janus" ]; }; modules = lib.mkMerge [ (inputs.self.factory.user username true) { # https://github.com/Doc-Steve/dendritic-design-with-flake-parts/wiki/Dendritic_Aspects#multi-context-aspect nixos."${username}" = { pkgs, ... }: { users.users."${username}" = { openssh.authorizedKeys.keys = inputs.self.meta.users."${username}".authorizedKeys; extraGroups = [ "docker" ]; }; }; # This gets imported by the user factory: homeManager."${username}" = { home.stateVersion = "25.11"; xdg.enable = true; programs.git.settings.user.name = "John Lancaster"; programs.git.settings.user.email = "32917998+jsl12@users.noreply.github.com"; # imports = with inputs.self.modules.homeManager; [ # # base # ]; }; } ]; }; }