import archinstall installation.add_additional_packages("awesome xorg-server xorg-xrandr xorg-xinit xterm feh slock xscreensaver terminus-font-otb gnu-free-fonts ttf-liberation xsel") with open(f'{installation.mountpoint}/etc/X11/xinit/xinitrc', 'r') as xinitrc: xinitrc_data = xinitrc.read() for line in xinitrc_data.split('\n'): if 'twm &' in line: xinitrc_data = xinitrc_data.replace(line, f"# {line}") if 'xclock' in line: xinitrc_data = xinitrc_data.replace(line, f"# {line}") if 'xterm' in line: xinitrc_data = xinitrc_data.replace(line, f"# {line}") xinitrc_data += '\n' xinitrc_data += 'xscreensaver -no-splash &\n' xinitrc_data += 'exec awesome\n' with open(f'{installation.mountpoint}/etc/X11/xinit/xinitrc', 'w') as xinitrc: xinitrc.write(xinitrc_data) with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'r') as awesome_rc_lua: awesome = awesome_rc_lua.read() awesome = awesome.replace('xterm', 'xterm -ls -xrm \\"XTerm*selectToClipboard: true\\"') #awesome = awesome.replace('{ "open terminal", terminal, ','{ "Chromium", "chromium" },\n "open terminal", terminal, ') #awesome = awesome.replace('{ "open terminal", terminal, ', '{ "File handler", "nemo" },\n "open terminal", terminal, ') awesome = awesome.replace('\nglobalkeys = gears.table.join(', 'globalkeys = gears.table.join(\n awful.key({ modkey, }, \"l\", function() awful.spawn(\"xscreensaver-command -lock &\") end,\n') # "awk -i inplace -v RS='' '{gsub(/awful.key\\({ modkey,.*?}, \"Tab\",.*?\"client\"}\\),/, \"awful.key({ modkey, }, \"Tab\",\n function ()\n awful.client.focus.byidx(-1)\n if client.focus then\n client.focus:raise()\n end\n end),\n awful.key({ modkey, \"Shift\" }, \"Tab\",\n function ()\n awful.client.focus.byidx(1)\n if client.focus then\n client.focus.raise()\n end\n end),\"); print}' {installation.mountpoint}/etc/xdg/awesome/rc.lua" : {"no-chroot" : true}, with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'w') as awesome_rc_lua: awesome_rc_lua.write(awesome) installation.arch_chroot('gsettings set org.nemo.desktop show-desktop-icons false') installation.arch_chroot('xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search')