Awesome: Difference between revisions
imported>B1ackshadow Created page with "[https://awesomewm.org/ awesome] is a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 licens..." |
Added information about using a flake to install the development build of AwesomeWM. Additonally for transparency's sake I would like to mention that I am the developer of the flake mentioned here. |
||
| (8 intermediate revisions by 7 users not shown) | |||
| Line 3: | Line 3: | ||
== Enabling == | == Enabling == | ||
To enable awesomeWM set <code>services.xserver.windowManager. | To enable awesomeWM set <code>services.xserver.windowManager.awesome.enable</code> to <code>true</code>. For example: | ||
{{file|/etc/nixos/configuration.nix|nix| | {{file|/etc/nixos/configuration.nix|nix| | ||
| Line 11: | Line 11: | ||
... | ... | ||
services.displayManager = { | |||
sddm.enable = true; | |||
defaultSession = "none+awesome"; | |||
}; | |||
services.xserver = { | services.xserver = { | ||
enable = true; | enable = true; | ||
windowManager.awesome = { | windowManager.awesome = { | ||
enable = true; | enable = true; | ||
luaModules = with pkgs.luaPackages; [ | luaModules = with pkgs.luaPackages; [ | ||
# add any lua packages required by your configuration here | |||
luarocks # is the package manager for Lua modules | luarocks # is the package manager for Lua modules | ||
luadbi-mysql # Database abstraction layer | luadbi-mysql # Database abstraction layer | ||
]; | ]; | ||
}; | }; | ||
}; | }; | ||
| Line 35: | Line 34: | ||
}} | }} | ||
Similar configuration using | Similar configuration using [[Home Manager]]. | ||
Reference: https://github.com/rycee/home-manager/blob/master/modules/services/window-managers/awesome.nix#blob-path | Reference: https://github.com/rycee/home-manager/blob/master/modules/services/window-managers/awesome.nix#blob-path | ||
| Line 44: | Line 43: | ||
}} | }} | ||
== AwesomeWM Flake == | |||
If you wish to run the development build of AwesomeWM (i.e. the source code at the git master branch), you can use a flake as shown below: | |||
{{File|3={ | |||
inputs = { | |||
# ... | |||
awesome-flake.url = "github:Souheab/awesomewm-git-nix-flake"; | |||
}; | |||
outputs = {nixpkgs, ...} @ inputs: { | |||
nixosConfigurations.YOUR_HOSTNAME = nixpkgs.lib.nixosSystem { | |||
specialArgs = { inherit inputs; }; | |||
modules = [ | |||
./configuration.nix | |||
# ... | |||
]; | |||
}; | |||
}; | |||
}|name=flake.nix|lang=nix}} | |||
And here's how you can install the package: | |||
{{File|3={inputs, pkgs, ...}: { | |||
services.xserver = { | |||
enable = true; | |||
windowManager.awesome = { | |||
enable = true; | |||
package = inputs."awesome-flake".packages.${pkgs.stdenv.hostPlatform.system}.default; | |||
}; | |||
}; | |||
}|name=configuration.nix|lang=nix}} | |||
Note: This uses an unofficial third party flake which is not officially associated with the AwesomeWM project | |||
Flake reference: https://github.com/Souheab/awesomewm-git-nix-flake | |||
== References == | == References == | ||
| Line 50: | Line 79: | ||
* [https://awesomewm.org/apidoc/documentation/05-awesomerc.md.html#3 Default configuration file documentation] | * [https://awesomewm.org/apidoc/documentation/05-awesomerc.md.html#3 Default configuration file documentation] | ||
[[Category: | [[Category:Window managers]] | ||
[[Category:Applications]] | |||