{ config, lib, pkgs, isUnstable, ... }: with lib; let userBase = { shell = pkgs.zsh; openssh.authorizedKeys.keys = config.myconf.hwPubKeys ++ config.myconf.managementPubKeys; }; in { options = { defaultUsers = { enable = mkOption { description = "Enable regular set of users"; default = true; example = true; type = lib.types.bool; }; }; }; config = mkIf config.defaultUsers.enable { users.users.root = userBase; users.users.qbit = userBase // { isNormalUser = true; description = "Aaron Bieber"; home = "/home/qbit"; extraGroups = ["wheel"]; }; environment.systemPackages = if isUnstable then [pkgs.yash pkgs.go] else [pkgs.go]; }; }