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..."
 
Souheab (talk | contribs)
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.i3.enable</code> to <code>true</code>. For example:
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;
 
    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 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:Guide]]
[[Category:Window managers]]
[[Category:Applications]]