{ config, lib, pkgs, ... }: let cfg = config.my_users; inherit (lib) mkEnableOption mkIf mkOption; types = lib.types; in { options.my_users = { enable = mkEnableOption "Users"; defaultShell = mkOption { default = pkgs.zsh; type = types.package; }; }; config = mkIf cfg.enable { security.sudo.wheelNeedsPassword = false; users.defaultUserShell = cfg.defaultShell; programs.zsh.enable = true; # I feel like this should be behind a flag but fuckit nix.settings.trusted-users = [ "root" "yadunut" ]; users.users = { yadunut = lib.snowfall.mkUser { extraGroups = [ "wheel" ]; hashedPassword = "$y$j9T$9ATrmrhedhb.mAZ4//PiN/$OStCOaJHt3kPA63imTG3zLMWCSLoWCUph5O6jl5mcZ."; }; root = lib.snowfall.mkUser { hashedPassword = "$6$xa/mFg4OxIbb8XiQ$S2RVyCKcLaKHymFs48u8vj1dv.mQdxt.BQoucJsr8wfcHayXwKfD0C2NIOYY5AEPR9zgnMvFp8d8STKe6wMGR/"; }; }; }; }