Warning I am tremendously stupid and may often commit completely broken changes, please watch out for that.
This is my second attempt at ricing AwesomeWM and really turn it into my dreamed desktop UX. My previous setup I worked on for several months and it was my introduction to this framework WM. As such, I ended up carrying on a bunch of poor decisions and mistakes that I made early on and as I learnt.
This setup is a reimagining of the original, and hopefully will go entirely its own way, but with me being more familiar with both Lua and the Awesome API.
Please keep in mind that this repository is FOR REFERENCE ONLY. It is NOT advised that you attempt to use this configuration. For your own good really.
- I will not make an install script. As I just said, this is for REFERENCE.
- I will not make a nix flake either, for the same reason.
- I will try to keep external libraries to a minimum. The objective is for this code to be as easy for me to just put on another of my devices as possible, as well as for it to be robust.
Most of this project follows the structure of Suconakh's project. However there exist some additions of mine to this.
config/user.lua
aggregates user options like the wallpaper, avatar, as well as gaps, borders, etc.
config/auto.lua
contains autostart commands to be executed:
- At the start of an X session.
- Every time Awesome is loaded (and reloaded).
- Shell code.
theme/
contains within itself the colorscheme/
directory in which several colorschemes are
defined as a table of colors and a wallpaper path, as well as assets/
which contains the images
used throughout the config. init.lua
in this case plays the role of the
theme file.
script/
consists of lua scripts to perform useful actions like taking screenshots.
This setup requires awesome-git, which needs to be compiled from source or is unofficially packaged for distros like Arch and Fedora. I mainly use the IBM Plex fonts which are very likely packaged for your distro. I don't use any icon font or nerd font, they fucking suck.
The screenshot script uses maim and xclip. Both are common packages.
You should set the TERMINAL
and EDITOR
environmental variables, those are used. In any other case,
just have xterm and nano installed, Awesome looks for those by default.
Check your dependencies and just:
mkdir -p ~/.local/share/awesome
git clone --recursive https://github.com/gwynsav/gwileful ~/.config/awesome
Just don't have much to show so far.
The people who have inspired and really helped me, directly or indirectly, make this setup:
- The project this is forked from.
- Janleigh, massive design reference and colorscheme.
- Crylia, code reference and some snippets and functions yoinked.
- rxyhn, same as Crylia.
- Stardust-kyun, also reference for a few widgets.
- Aproxia, came up with the notification timeout thingy.
- Blyaticon, Cairo image cropping helper.
- ChadCat, weather signal.
- Feather Icons, some of their icons are used here.
Seriously, it seems like it's extremely hard to get people to read the document shoved into their face that explains everything relevant about the project.