{ config, pkgs, inputs, lib, ... }: { options = { main-user = { userName = lib.mkOption { default = "marty"; description = '' main user name '' }; shell = lib.mkOption { default = pkgs.fish; description = '' main user shell '' } }; }; config = { users.users.${config.main-user.userName} = { isNormalUser = true; description = "marty"; extraGroups = [ "networkmanager" "wheel" "video" "audio" "render" ]; shell = pkgs.fish; }; security.sudo = { enable = true; wheelNeedsPassword = true; }; }; }