Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/examples/guided_installation.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-07-07 23:56:17 +0000
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-07-07 23:56:17 +0000
commit60f581319f99afbd678b4f5f56193d588228cbe2 (patch)
tree54bad414cc43893b4316f3c0d9af191ea7ecdea2 /examples/guided_installation.py
parente17fac498a778d5f6c83a40d2334a2af7a0e5397 (diff)
Added pythons -m module support. __main__.py is the main module entry path, and setup.py now includes the examples (which as been renamed for more convenient module importing) which - enables __main__.py to locate the examples and import them via importlib and execute them.
Diffstat (limited to 'examples/guided_installation.py')
-rw-r--r--examples/guided_installation.py73
1 files changed, 0 insertions, 73 deletions
diff --git a/examples/guided_installation.py b/examples/guided_installation.py
deleted file mode 100644
index c84b5e56..00000000
--- a/examples/guided_installation.py
+++ /dev/null
@@ -1,73 +0,0 @@
-import archinstall, getpass
-
-# Unmount and close previous runs
-archinstall.sys_command(f'umount -R /mnt', surpress_errors=True)
-archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', surpress_errors=True)
-
-# Select a harddrive and a disk password
-harddrive = archinstall.select_disk(archinstall.all_disks())
-while (disk_password := getpass.getpass(prompt='Enter disk encryption password (leave blank for no encryption): ')):
- disk_password_verification = getpass.getpass(prompt='And one more time for verification: ')
- if disk_password != disk_password_verification:
- archinstall.log(' * Passwords did not match * ', bg='black', fg='red')
- continue
- break
-
-def perform_installation(device, boot_partition):
- hostname = input('Desired hostname for the installation: ')
- with archinstall.Installer(device, hostname=hostname) as installation:
- if installation.minimal_installation():
- installation.add_bootloader(boot_partition)
-
- packages = input('Additional packages aside from base (space separated): ').split(' ')
- if len(packages) and packages[0] != '':
- installation.add_additional_packages(packages)
-
- profile = input('Any particular profile you want to install: ')
- if len(profile.strip()):
- installation.install_profile(profile)
-
- while 1:
- new_user = input('Any additional users to install (leave blank for no users): ')
- if not len(new_user.strip()): break
- new_user_passwd = getpass.getpass(prompt=f'Password for user {new_user}: ')
- new_user_passwd_verify = getpass.getpass(prompt=f'Enter password again for verification: ')
- if new_user_passwd != new_user_passwd_verify:
- archinstall.log(' * Passwords did not match * ', bg='black', fg='red')
- continue
-
- installation.user_create(new_user, new_user_passwd)
-
- while (root_pw := getpass.getpass(prompt='Enter root password (leave blank for no password): ')):
- root_pw_verification = getpass.getpass(prompt='And one more time for verification: ')
- if root_pw != root_pw_verification:
- archinstall.log(' * Passwords did not match * ', bg='black', fg='red')
- continue
- installation.user_set_pw('root', root_pw)
- break
-
- aur = input('Would you like AUR support? (leave blank for no): ')
- if len(aur.strip()):
- archinstall.log(' - AUR support provided by yay (https://aur.archlinux.org/packages/yay/)', bg='black', fg='white')
- installation.add_AUR_support()
-
-with archinstall.Filesystem(harddrive, archinstall.GPT) as fs:
- # Use partitioning helper to set up the disk partitions.
- if disk_password:
- fs.use_entire_disk('luks2')
- else:
- fs.use_entire_disk('ext4')
-
- if harddrive.partition[1].size == '512M':
- raise OSError('Trying to encrypt the boot partition for petes sake..')
- harddrive.partition[0].format('fat32')
-
- if disk_password:
- # First encrypt and unlock, then format the desired partition inside the encrypted part.
- with archinstall.luks2(harddrive.partition[1], 'luksloop', disk_password) as unlocked_device:
- unlocked_device.format('btrfs')
-
- perform_installation(unlocked_device, harddrive.partition[0])
- else:
- harddrive.partition[1].format('ext4')
- perform_installation(harddrive.partition[1], harddrive.partition[0]) \ No newline at end of file