v2.0.3 prep release. Profile now fully support python scripting instead of JSON. They also support importing archinstall and doing whatever the examples are doing - with one tiiiny TODO/hack/magic, the 'installer' session that is contextulized gets hard-inserted into the globals() scope. Since the child script won't actually have the global instance of the parent, we need to insert it to be known due to the way we import stuff

This commit is contained in:
Anton Hvornum 2020-07-08 10:46:52 +00:00
parent 3ed8db5ef0
commit aecd333ea3
2 changed files with 27 additions and 1 deletions

View File

@ -88,6 +88,7 @@ class Profile():
def install(self):
instructions = self.load_instructions()
if type(instructions) == Imported:
__builtins__['installation'] = self.installer # There's no easy way to give the imported profile the installer instance unless we require the profile-programmer to create a certain function that must be the same for all.. Which is a bit inconvenient so lets just make it truly global
with instructions as runtime:
log(f'Profile {self.name} finished successfully.')
else:

View File

@ -1,2 +1,27 @@
import archinstall
print('Installing desktop using:', archinstall)
arguments = {
'keyboard_layout' : 'sv-latin1',
"editor" : "nano",
"mediaplayer" : "lollypop gstreamer gst-plugins-good gnome-keyring",
"filebrowser" : "nemo gpicview-gtk3",
"webbrowser" : "chromium",
"window_manager" : "awesome",
"window_manager_dependencies" : "xorg-server xorg-xrandr xorg-xinit xterm",
"window_manager_utilities" : "feh slock xscreensaver terminus-font-otb gnu-free-fonts ttf-liberation xsel",
"virtulization" : "qemu ovmf",
"utils" : "openssh sshfs git htop pkgfile scrot dhclient wget smbclient cifs-utils libu2f-host",
"audio" : "pulseaudio pulseaudio-alsa pavucontrol"
}
installation.add_additional_packages("{_webbrowser} {_utils} {_mediaplayer} {_window_manager} {_window_manager_dependencies} {_window_manager_utilities} {_virtulization} {_filebrowser} {_editor}".format(**arguments))
with open(f'{installation.mountpoint}/etc/X11/xinit/xinitrc', 'a') as X11:
X11.write('setxkbmap se\n')
with open(f'{installation.mountpoint}/etc/vconsole.conf', 'a') as vconsole:
vconsole.write('KEYMAP={keyboard_layout}\n'.format(**arguments))
vconsole.write('FONT=lat9w-16\n')
awesome = archinstall.Application(installation, 'awesome')
awesome.install()