nixpkgs-wayland
Overview
Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS.
Packages from this overlay are regularly updated and built against nixos-unstable and nixpkgs-unstable.
(Sister repositories: nixpkgs-kubernetes, nixpkgs-colemickens)
Packages
Full list of Packages
| Attribute Name | Last Upstream Commit Time |
|---|---|
| nixpkgs/nixos-unstable | 2019-04-25 07:41 |
| nixpkgs/nixpkgs-unstable | 2019-04-25 06:56 |
| pkgs/wlroots | 2019-04-28 21:00 |
| pkgs/xdg-desktop-portal-wlr | 2019-02-12 12:09 |
| pkgs/sway | 2019-04-28 18:07 |
| pkgs/swayidle | 2019-02-16 16:43 |
| pkgs/swaylock | 2019-04-22 22:14 |
| pkgs/slurp | 2019-03-16 19:52 |
| pkgs/grim | 2019-02-20 13:18 |
| pkgs/mako | 2019-04-28 08:29 |
| pkgs/kanshi | 2019-02-02 23:21 |
| pkgs/wlstream | 2018-07-15 21:10 |
| pkgs/oguri | 2019-02-19 14:19 |
| pkgs/waybar | 2019-04-26 19:57 |
| pkgs/wayfire | 2019-04-21 07:40 |
| pkgs/wf-config | 2019-03-24 21:20 |
| pkgs/redshift-wayland | 2019-04-17 23:13 |
| pkgs/bspwc | 2018-12-29 23:21 |
| pkgs/waybox | 2018-11-27 14:44 |
| pkgs/wl-clipboard | 2019-04-15 15:53 |
| pkgs/wf-recorder | 2019-04-21 13:25 |
| pkgs/gebaar-libinput | 2019-04-05 13:27 |
| pkgs/i3status-rust | 2019-04-27 18:59 |
Usage
Continue reading for usage instructions on NixOS (only the nixos-unstable channel is supported!).
You can also use this with Nix on Ubuntu. Please see the full walkthrough.
Usage (nixos-unstable)
This usage just utilizes overlay functionality from nixpkgs.
Note that when using the overlay, the module will automatically reference the correct
sway package since the newer package is overlayed ontop of pkgs.
{ config, lib, pkgs, ... }:
let
url = "https://github.com/colemickens/nixpkgs-wayland/archive/master.tar.gz";
waylandOverlay = (import (builtins.fetchTarball url));
in
{
nixpkgs.overlays = [ waylandOverlay ];
programs.sway.enable = true;
programs.sway.extraPackages = with pkgs; [
swayidle # used for controlling idle timeouts and triggers (screen locking, etc)
swaylock # used for locking Wayland sessions
waybar # polybar-alike
i3status-rust # simpler bar written in Rust
grim # screen image capture
slurp # screen are selection tool
mako # notification daemon
wlstream # screen recorder
oguri # animated background utility
kanshi # dynamic display configuration helper
redshift-wayland # patched to work with wayland gamma protocol
xdg-desktop-portal-wlr # xdg-desktop-portal backend for wlroots
];
environment.systemPackages = with pkgs; [
# other compositors/window-managers
wayfire # 3D wayland compositor
waybox # An openbox clone on Wayland
bspwc # Wayland compositor based on BSPWM
];
}Quick Tips: sway
- Usage of display managers with
swayis not supported upstream, you should run it from a TTY. - You will likely want a default config file to place at
$HOME/.config/sway/config. You can use the upstream default as a starting point: https://github.com/swaywm/sway/blob/master/config.in
Updates
./update.sh:- updates
pkgs/<pkg>/metadata.nixwith the latest commit+hash for each package - updates
nixpkgs/<channel>/metadata.nixper the upstream channel - calls
nix-build build.nixto build all packages againstnixos-unstable - calls
nix-build build.nixpkgs.nixto build all packages againstnixpkgs-unstable - pushes to nixpkgs-wayland on cachix
- updates
Binary Cache
Packages are built as described in the section above and are published to cachix.
See usage instructions at nixpkgs-wayland on cachix.