From ddd3fb39e4c92dba014241d9cad0851fffb6f62d Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Wed, 27 Aug 2025 11:31:06 -0400 Subject: [PATCH] bulk of the refactor --- modules/common/environment.nix | 15 +++++++---- modules/common/users.nix | 49 +++++++++++++++------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/modules/common/environment.nix b/modules/common/environment.nix index d4e931c..826ad32 100644 --- a/modules/common/environment.nix +++ b/modules/common/environment.nix @@ -6,14 +6,19 @@ neovim usbutils coreutils - lshw - systemd - dmidecode pciutils - nix-ld patchelf htop - ]; + ] ++ + lib.optionals pkgs.stdenv.isLinux (with pkgs; [ + systemd + lshw + dmidecode + nix-ld + ]) ++ + lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ + # nothing here, yet + ]); # Common environment variables that every system will use environment.variables.EDITOR = "nvim"; diff --git a/modules/common/users.nix b/modules/common/users.nix index 1663a61..0ac1fb9 100644 --- a/modules/common/users.nix +++ b/modules/common/users.nix @@ -1,30 +1,23 @@ +{ lib, pkgs, userName, hostname, ... }: + { - lib, - pkgs, - userName, - hostname, - ... -} @ args: { networking.hostName = hostname; + + users.users."${userName}" = { + home = if pkgs.stdenv.isDarwin + then "/Users/${userName}" + else "/home/${userName}"; + description = userName; + } // lib.optionalAttrs pkgs.stdenv.isLinux { + group = "${userName}"; + isNormalUser = true; + }; + + users.groups.wyatt = {}; + nix.settings.trusted-users = [userName]; - # Don't forget to set a password with ‘passwd’! - users.users."${userName}" = lib.mkMerge [ - { - home = - if pkgs.stdenv.isDarwin - then "/Users/${userName}" - else "/home/${userName}"; - description = userName; - } - - (lib.mkIf (pkgs.stdenv.isLinux) { - group = "${userName}"; - isNormalUser = true; - }) - ]; - - security.sudo = { - extraRules = [ + security = lib.optionalAttrs pkgs.stdenv.isLinux { + sudo.extraRules = [ { groups = [ "wheel" ]; commands = [ @@ -37,7 +30,9 @@ ]; }; - users.groups.wyatt = {}; - - nix.settings.trusted-users = [userName]; + environment = lib.optionalAttrs pkgs.stdenv.isDarwin { + etc."sudoers.d/wheel-nopasswd".text = '' + %wheel ALL=(ALL:ALL) NOPASSWD: SETENV: ALL + ''; + }; }