Jump to content

Awesome: Difference between revisions

From NixOS Wiki
imported>Nix
m add Software category
m examples from old wiki
 
(4 intermediate revisions by 4 users not shown)
Line 11: Line 11:


   ...
   ...
  services.displayManager = {
    sddm.enable = true;
    defaultSession = "none+awesome";
  };
   services.xserver = {
   services.xserver = {
     enable = true;
     enable = true;
 
    displayManager = {
        sddm.enable = true;
        defaultSession = "none+awesome";
    };


     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 home-manager
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 51: Line 50:


[[Category:Window managers]]
[[Category:Window managers]]
[[Category:Software]]
[[Category:Applications]]

Latest revision as of 03:57, 13 March 2025

awesome is a highly configurable, next generation framework window manager for X. It is very fast, extensible and licensed under the GNU GPLv2 license.

Enabling

To enable awesomeWM set services.xserver.windowManager.awesome.enable to true. For example:

❄︎ /etc/nixos/configuration.nix
{ config, pkgs, ... }: 


  ...
  services.displayManager = {
    sddm.enable = true;
    defaultSession = "none+awesome";
  };

  services.xserver = {
    enable = true;

    windowManager.awesome = {
      enable = true;
      luaModules = with pkgs.luaPackages; [
        # add any lua packages required by your configuration here
        luarocks # is the package manager for Lua modules
        luadbi-mysql # Database abstraction layer
      ];
    };
  };
  ...
}

Similar configuration using Home Manager.

Reference: https://github.com/rycee/home-manager/blob/master/modules/services/window-managers/awesome.nix#blob-path

🟆︎
Tip:

Awesome provides a default config file rc.lua which is generated at /run/current-system/sw/etc/xdg/awesome/rc.lua. Copy the file to ~/.config/awesome/ and make changes.


References