From aecd333ea3020c0c575948763089cc829c36c56d Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Wed, 8 Jul 2020 10:46:52 +0000 Subject: 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 --- archinstall/lib/profiles.py | 1 + profiles/desktop.py | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/archinstall/lib/profiles.py b/archinstall/lib/profiles.py index bccdf34d..07bd3fd4 100644 --- a/archinstall/lib/profiles.py +++ b/archinstall/lib/profiles.py @@ -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: diff --git a/profiles/desktop.py b/profiles/desktop.py index ce99b646..ba9bde38 100644 --- a/profiles/desktop.py +++ b/profiles/desktop.py @@ -1,2 +1,27 @@ import archinstall -print('Installing desktop using:', archinstall) \ No newline at end of file + +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() \ No newline at end of file -- cgit v1.2.3-70-g09d2