Add a wf-recorder module, enabled by the desktop aggregator. Super+Shift+R picks a region with slurp and toggles a video-only capture (no audio), stopped with SIGINT so the file finalises, saved to ~/Videos/Recordings. Start and saved notifications fire via notify-send. A Waybar custom/recording widget samples the wf-recorder process once a second and shows a video glyph while a capture runs.
27 lines
1.1 KiB
Nix
27 lines
1.1 KiB
Nix
{ config, lib, ... }:
|
|
# The desktop aggregator: one flag brings up the whole graphical session.
|
|
let
|
|
cfg = config.modules.desktop;
|
|
in
|
|
{
|
|
options.modules.desktop.enable = lib.mkEnableOption "the keyboard-driven Hyprland desktop";
|
|
|
|
# Each piece is turned on at default priority, so a host can still override
|
|
# any one of them while the single flag above enables the whole desktop.
|
|
config = lib.mkIf cfg.enable {
|
|
modules.desktop.clipboard.enable = lib.mkDefault true;
|
|
modules.desktop.hyprland.enable = lib.mkDefault true;
|
|
modules.desktop.hyprlock.enable = lib.mkDefault true;
|
|
modules.desktop.hypridle.enable = lib.mkDefault true;
|
|
modules.desktop.login.enable = lib.mkDefault true;
|
|
modules.desktop.mako.enable = lib.mkDefault true;
|
|
modules.desktop.recording.enable = lib.mkDefault true;
|
|
modules.desktop.rofi.enable = lib.mkDefault true;
|
|
modules.desktop.screenshot.enable = lib.mkDefault true;
|
|
modules.desktop.terminal.enable = lib.mkDefault true;
|
|
modules.desktop.theming.enable = lib.mkDefault true;
|
|
modules.desktop.waybar.enable = lib.mkDefault true;
|
|
modules.desktop.audio.enable = lib.mkDefault true;
|
|
};
|
|
}
|