Awesome: Difference between revisions

Updated example for NixOS 24.05. Using the syntax used before the edit will result in "trace: warning: The option `services.xserver.displayManager.sddm.enable' defined in `/etc/nixos/configuration.nix' has been renamed to `services.displayManager.sddm.enable'. "
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.
 
(3 intermediate revisions by 3 users not shown)
Line 22: Line 22:
       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 34: 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 43: 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 ==