@@ -1564,8 +1564,8 @@ def add_bootloader(self, bootloader: Bootloader, uki_enabled: bool = False):
15641564 def add_additional_packages (self , packages : str | list [str ]) -> None :
15651565 return self .pacman .strap (packages )
15661566
1567- def enable_sudo (self , entity : str , group : bool = False ):
1568- info (f"Enabling sudo permissions for { entity } " )
1567+ def enable_sudo (self , user : User , group : bool = False ):
1568+ info (f"Enabling sudo permissions for { user . username } " )
15691569
15701570 sudoers_dir = self .target / "etc/sudoers.d"
15711571
@@ -1582,14 +1582,14 @@ def enable_sudo(self, entity: str, group: bool = False):
15821582 num_of_rules_already = len (os .listdir (sudoers_dir ))
15831583 file_num_str = f"{ num_of_rules_already :02d} " # We want 00_user1, 01_user2, etc
15841584
1585- # Guarantees that entity str does not contain invalid characters for a linux file name:
1585+ # Guarantees that username str does not contain invalid characters for a linux file name:
15861586 # \ / : * ? " < > |
1587- safe_entity_file_name = re .sub (r'(\\|\/|:|\*|\?|"|<|>|\|)' , "" , entity )
1587+ safe_username_file_name = re .sub (r'(\\|\/|:|\*|\?|"|<|>|\|)' , "" , user . username )
15881588
1589- rule_file = sudoers_dir / f"{ file_num_str } _{ safe_entity_file_name } "
1589+ rule_file = sudoers_dir / f"{ file_num_str } _{ safe_username_file_name } "
15901590
15911591 with rule_file .open ("a" ) as sudoers :
1592- sudoers .write (f"{ '%' if group else '' } { entity } ALL=(ALL) ALL\n " )
1592+ sudoers .write (f"{ '%' if group else '' } { user . username } ALL=(ALL) ALL\n " )
15931593
15941594 # Guarantees sudoer conf file recommended perms
15951595 rule_file .chmod (0o440 )
@@ -1636,6 +1636,9 @@ def _create_user(self, user: User) -> None:
16361636 for group in user .groups :
16371637 SysCommand (f"arch-chroot { self .target } gpasswd -a { user .username } { group } " )
16381638
1639+ if user .sudo :
1640+ self .enable_sudo (user )
1641+
16391642 def set_user_password (self , user : User ) -> bool :
16401643 info (f"Setting password for { user .username } " )
16411644
0 commit comments