brand: change tagline to be more layman friendly

This commit is contained in:
atagen 2026-05-24 19:43:51 +10:00
parent 6efd841520
commit 0458ae0818
6 changed files with 48 additions and 26 deletions

View file

@ -10,10 +10,21 @@
# delegates the heavy lifting to `services.headroom` (this file) when
# Home Manager is in use.
self:
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkOption mkIf types literalExpression;
inherit (lib)
mkEnableOption
mkOption
mkIf
types
literalExpression
;
cfg = config.services.headroom;
@ -26,7 +37,7 @@ let
in
{
options.services.headroom = {
enable = mkEnableOption "Headroom PipeWire AGC + compressor + true-peak limiter daemon";
enable = mkEnableOption "Headroom automatic loudness and per-app volume control for PipeWire";
package = mkOption {
type = types.package;
@ -74,17 +85,19 @@ in
# regular files, so this is transparent.
xdg.configFile = lib.mkMerge [
(mkIf cfg.installDefaultProfiles (
lib.mapAttrs'
(name: _: lib.nameValuePair "headroom/profiles/${name}" {
lib.mapAttrs' (
name: _:
lib.nameValuePair "headroom/profiles/${name}" {
source = "${shippedProfilesDir}/${name}";
})
(builtins.readDir shippedProfilesDir)
}
) (builtins.readDir shippedProfilesDir)
))
(lib.mapAttrs'
(name: path: lib.nameValuePair "headroom/profiles/${name}" {
(lib.mapAttrs' (
name: path:
lib.nameValuePair "headroom/profiles/${name}" {
source = path;
})
cfg.extraProfiles)
}
) cfg.extraProfiles)
];
# systemd user unit. The unit shipped by the package already
@ -93,11 +106,20 @@ in
# let Home Manager start it via its systemd-user machinery.
systemd.user.services.headroom = {
Unit = {
Description = "Headroom audio daemon (PipeWire AGC + compressor + true-peak limiter)";
Documentation = "https://github.com/amaanq/headroom";
After = [ "pipewire.service" "pipewire-pulse.service" "wireplumber.service" ];
Description = "Headroom audio daemon (automatic loudness and per-app volume control for PipeWire)";
Documentation = "https://github.com/atagen/headroom";
After = [
"pipewire.service"
"pipewire-pulse.service"
"wireplumber.service"
"graphical-session.target"
];
Requires = [ "pipewire.service" ];
Wants = [ "wireplumber.service" ];
# Tie our lifecycle to the graphical session rather than the
# socket-activated pipewire.service (which has no stable
# "started for the session" lifecycle to WantedBy=).
PartOf = [ "graphical-session.target" ];
};
Service = {
Type = "simple";
@ -112,7 +134,7 @@ in
LimitNICE = -11;
};
Install = {
WantedBy = [ "pipewire.service" ];
WantedBy = [ "graphical-session.target" ];
};
};
};

View file

@ -33,7 +33,7 @@ let
in
{
options.programs.headroom = {
enable = mkEnableOption "Headroom PipeWire AGC + compressor + true-peak limiter daemon";
enable = mkEnableOption "Headroom automatic loudness and per-app volume control for PipeWire";
package = mkOption {
type = types.package;