Configuration for the Awesome window manager
A NixOS module is provided in the flake that allows using the configuration with home-manager.
inputs = {
dotfiles-awesome.url = "github:pinpox/dotfiles-awesome";
}
# ...
home-manager.users.your-user-name = {
# Pass inputs to home-manager modules
_module.args.flake-inputs = inputs;
imports = [
inputs.dotfiles-awesome.nixosModules.dotfiles
];
};
To run awesome inside Xephyr for testing use the provided flake.nix
.
nix run
Entry point for the configuration. Mainly used to declare some global variables and to tie everything else together.
Appearance options and colors. Most configuration options are read with xrdb
from ~/.Xresources
to match the settings of other applications and keep those
in a central place. It will use my
wallpaper-generator to generate
a wallpaper for each screen, matching the colors of the theme.
Helper funcions and hooks to generate wallpaper on screen changes, e.g. when a monitor is pluggend in.
Set up tags (worspaces) using awesome-sharedtags. The behaviour is similar to the workspaces in i3, i.e. tags/workspaces are created when switched to them on the current screen and destroyed when left empty.
Right-click menu
Defines keybindings and adds them to the help popup with documentation
Rules to apply to new clients (windows). This includes adding the title bars, keybinds and also some application-specific settings like defaulting to floating layout for applications that require it.
Error handling. Shows configuration errors if they occur during startup or runtime.
The main, incuding a window list, tag list and tray.
Signals called on specific actions, e.g. when focusing a window.