Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/profiles/awesome.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 12:31:47 +0000
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-09-30 12:31:47 +0000
commit534679e88f0b9db9d2550de73197f521494a3274 (patch)
tree90cc368ce9d7f576f5475f9a2a4e96b83de9d63e /profiles/awesome.py
parent7f7cb6b89b38f32beb411e112001e3230aa972ed (diff)
Added gnome as a profile (and application for application specific steps). Also tweaked xorg to not be so intrusive when used for anything other than awesome WM. Tweaked awesome WM to accomodate this change.
Diffstat (limited to 'profiles/awesome.py')
-rw-r--r--profiles/awesome.py34
1 files changed, 32 insertions, 2 deletions
diff --git a/profiles/awesome.py b/profiles/awesome.py
index 9b831394..7e8c759d 100644
--- a/profiles/awesome.py
+++ b/profiles/awesome.py
@@ -10,6 +10,7 @@ def _prep_function(*args, **kwargs):
for more input before any other installer steps start.
"""
+ # Awesome WM requires that xorg is installed
profile = archinstall.Profile(None, 'xorg')
with profile.load_instructions(namespace='xorg.py') as imported:
if hasattr(imported, '_prep_function'):
@@ -24,6 +25,11 @@ if __name__ == 'awesome':
# Install dependency profiles
installation.install_profile('xorg')
+ # Install the application awesome from the template under /applications/
+ awesome = archinstall.Application(installation, 'awesome')
+ awesome.install()
+
+ # Then setup and configure the desktop environment: awesome
arguments = {
'keyboard_layout' : 'sv-latin1',
"editor" : "nano",
@@ -45,5 +51,29 @@ if __name__ == 'awesome':
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
+
+ with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'r') as awesome_rc_lua:
+ awesome_lua = awesome_rc_lua.read()
+
+ # Insert slock as a shortcut on Modkey+l (window+l)
+ awesome_lua = awesome_lua.replace('\nglobalkeys = gears.table.join(', 'globalkeys = gears.table.join(\n awful.key({ modkey, }, \"l\", function() awful.spawn(\"slock &\") end,\n')
+
+ # Insert some useful applications:
+ #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, ')
+
+ # Insert "normal" alt-tab via Modkey+Tab that most new users are used to
+ # "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},
+
+
+# Add changes here to the awesome's rc.lua
+# Alternatively, create a custom config under installation.mountpoint/usr/share/awesome/themes
+
+
+
+ with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'w') as awesome_rc_lua:
+ awesome_rc_lua.write(awesome_lua)
+
+ # Remove some interfering nemo settings
+ 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') \ No newline at end of file