Aire-One 5ec25c77bb | ||
---|---|---|
.vscode | ||
config/awesome | ||
scripts | ||
spec | ||
src/awesomerc | ||
.busted | ||
.cspell.json | ||
.editorconfig | ||
.luacheckrc | ||
.luamonrc | ||
.stylua.toml | ||
Makefile | ||
README.md | ||
awesomerc-dev-1.rockspec |
README.md
awesomerc.lua boilerplate
Boilerplate to help getting started with Awesome. This repository contains the
default awesomerc.lua
file with pre-configured tools.
Features
- Luacheck: Statically check the Lua code
- Stylua: Lua code formatter
- cSpell: Fix typo in code
- Live run with Xephyr and restart on change with Luamon (run
make dev
command) - VSCode settings and recommended extensions
- VSCode debugger with local-lua-debugger-vscode
- Busted: Unit test Lua
How to use
Dev mode
Run in live development with the command
make dev
Edit the config and get live update in the Xephyr window!
The Awesome WM entrypoint is the config/awesome/rc.lua
file. This is what
Awesome uses as the configuration file. The role of this file is to initialize
the environment (load luarocks, start the debugger when required, ...). The
actual user configuration should go to the src/awesomerc
directory. Every
files from the sources should be mapped by the awesomerc-dev-1.rockspec
's
build.modules
table. It is required to package the configuration as a rock.
Debug with VSCode
Terminate the dev mode. Then run the Debug with Xephyr
debug profile from
VSCode.
Deploy
When ready, deploy the config to your home directory with the command
make deploy
The deploy recipe builds the rock and install it locally with luarocks --local build
. It have to effect to pushes the rock to the ~/.luarocks
directory. For
now, it have no effect to the current Awesome configuration. To complete the
configuration installation, cp config/awesome ~/.config/awesome
must be run
manually.
The make try-current
recipe can be optionally used to start Awesome in Xephyr
with the actual user installed configuration.
Restart Awesome, now enjoy your new config!
TODOs
- Install the config to ~/.config/awesome -> Partially done, we build a rock, but don't write to the user dotfiles
- Pipeline (GitHub Actions?)
- Automated integration tests (with Xephyr/headless?)
- Migrate to Teal?