diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index eceef0bc..ba3b6eba 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -891,6 +891,7 @@ class Installer: mkinitcpio: bool = True, hostname: str | None = None, locale_config: LocaleConfiguration | None = LocaleConfiguration.default(), + timezone: str | None = None, ) -> None: if self._disk_config.lvm_config: lvm = 'lvm2' @@ -947,10 +948,6 @@ class Installer: if not self._disable_fstrim: self.enable_periodic_trim() - # TODO: Support locale and timezone - # os.remove(f'{self.target}/etc/localtime') - # sys_command(f'arch-chroot {self.target} ln -s /usr/share/zoneinfo/{localtime} /etc/localtime') - # sys_command('arch-chroot /mnt hwclock --hctosys --localtime') if hostname: self.set_hostname(hostname) @@ -958,8 +955,15 @@ class Installer: self.set_locale(locale_config) self.set_keyboard_language(locale_config.kb_layout) - # TODO: Use python functions for this - self.arch_chroot('chmod 700 /root') + if timezone: + if not self.set_timezone(timezone): + warn(f'Failed to set timezone: {timezone}') + + root_dir = self.target / 'root' + if root_dir.exists(): + root_dir.chmod(0o700) + else: + debug(f'Root directory not found at {root_dir}, skipping chmod') if mkinitcpio and not self.mkinitcpio(['-P']): error('Error generating initramfs (continuing anyway)') diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py index 85ca1593..b19166bb 100644 --- a/archinstall/scripts/guided.py +++ b/archinstall/scripts/guided.py @@ -102,6 +102,7 @@ def perform_installation( mkinitcpio=run_mkinitcpio, hostname=arch_config_handler.config.hostname, locale_config=locale_config, + timezone=config.timezone, ) if mirror_config := config.mirror_config: @@ -139,9 +140,6 @@ def perform_installation( if config.packages and config.packages[0] != '': installation.add_additional_packages(config.packages) - if timezone := config.timezone: - installation.set_timezone(timezone) - if config.ntp: installation.activate_time_synchronization()