#![allow(clippy::default_trait_access)] use std::path::PathBuf; #[derive(Debug, Clone, Eq, PartialEq)] pub enum CreateHome { Create, Skip, HomeFromDir { path: PathBuf }, } #[derive(Debug, Clone, Eq, PartialEq)] pub enum CreatePrimaryGroup { Create, Skip, CreateIfEmptyOrAdd, } #[derive(Debug, Builder, Eq, PartialEq)] #[builder(public)] #[builder(default)] pub struct CreateUserArgs<'a> { pub username: &'a str, pub delete_home: CreateHome, pub delete_primary_group: CreatePrimaryGroup, } impl<'a> CreateUserArgs<'a> { #[must_use] pub fn builder() -> CreateUserArgsBuilder<'a> { CreateUserArgsBuilder::default() } } impl Default for CreateUserArgs<'_> { fn default() -> Self { Self { username: "defaultuser", delete_home: CreateHome::Create, delete_primary_group: CreatePrimaryGroup::CreateIfEmptyOrAdd, } } }