{ lib, pkgs, ... }: let dirs = { defaults = ../defaults; }; # Derived from subprojects/cava.wrap libcava.src = pkgs.fetchFromGitHub { owner = "LukashonakV"; repo = "cava"; rev = "0.10.3"; hash = "sha256-ZDFbI69ECsUTjbhlw2kHRufZbQMu+FQSMmncCJ5pagg="; }; in { wayland.windowManager.sway = { enable = pkgs.stdenv.isLinux; extraOptions = []; # Extra arguments to pass into sway. If sway goes haywire, we might need something in here xwayland = true; systemd.enable = true; wrapperFeatures = { gtk = true; }; }; xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config); xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config); xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css); programs.rofi.enable = pkgs.stdenv.isLinux; services.mako.enable = pkgs.stdenv.isLinux; programs.waybar = { enable = pkgs.stdenv.isLinux; systemd.enable = true; package = pkgs.waybar.overrideAttrs (old: { version = "0.11.0"; src = pkgs.fetchFromGitHub { owner = "Alexays"; repo = "Waybar"; rev = "d56dd6ee7fdf8c5ba4e90790af62b7f7829d3a47"; sha256 = "sha256-3lc0voMU5RS+mEtxKuRayq/uJO09X7byq6Rm5NZohq8="; fetchSubmodules = true; }; buildInputs = old.buildInputs ++ [ pkgs.fftw pkgs.libcava ]; # mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ]; }); }; }