Awesome
Custom Nixpkgs Overlays
This is a collection of packages to add to the Nix Packages Collection for use with Nix and/or NixOS.
Local Installation
- Download or clone this repository
- Create the folder
~/.config/nixpkgs/overlays
- Add a symbolic link to the created folder
Alternatively, run install.sh
that will do the above steps for you.
Once the overlays are installed, they can be used with nix
.
To uninstall, do the above steps backwards, or simply run the uninstall.sh
script.
NixOS Installation
For NixOS to be able to see these overlays, you can use the nixpkgs.overlays
attribute. For example, you can fetch the git repository directly from the
network for more information, see the official documentation about
builtins.fetchGit
.
nixpkgs.overlays = with builtins; [
(
import (fetchGit {
url = <repo URL>;
rev = <git revision>;
ref = <git ref>;
})
)
];
Using the overlays in NixOS with awesomewm
Most of the Lua overlays are actually useful in conjunction with the Awesome Window Manager which must be built with GTK support.
In this case, your NixOS configuration should look something like:
# /etc/nixos/configuration.nix
nixpkgs.overlays = with builtins; [
(self: super: { awesome = super.awesome.override { gtk3Support = true; }; })
(
import (fetchGit {
url = "https://github.com/stefano-m/nix-stefano-m-nix-overlays.git";
rev = "0000000000000000000000000000000000000000"; # git revision heere
})
)
];
services.xserver.windowManager.windowManager = {
awesome = {
enable = true;
luaModules = with pkgs.extraLuaPackages; [ # need overalys for this to work!
connman_dbus
connman_widget
dbus_proxy
enum
media_player
power_widget
pulseaudio_dbus
pulseaudio_widget
upower_dbus
];
};
Building locally
The build.sh
script is a simple wrapper around nix-build
to
build the packages from the git repository. This is mostly useful for testing
new changes.
For example:
./build.sh extraLuaPackages.connman_dbus