brand: change tagline to be more layman friendly
This commit is contained in:
parent
6efd841520
commit
0458ae0818
6 changed files with 48 additions and 26 deletions
|
|
@ -14,8 +14,8 @@ version = "0.1.0"
|
|||
edition = "2021"
|
||||
rust-version = "1.86"
|
||||
license = "GPL-3.0-or-later"
|
||||
homepage = "https://github.com/amaanq/headroom"
|
||||
repository = "https://github.com/amaanq/headroom"
|
||||
homepage = "https://github.com/atagen/headroom"
|
||||
repository = "https://github.com/atagen/headroom"
|
||||
authors = ["Headroom contributors"]
|
||||
|
||||
[workspace.dependencies]
|
||||
|
|
|
|||
10
README.md
10
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# headroom
|
||||
|
||||
AGC + compressor + true-peak limiter daemon for PipeWire, in Rust.
|
||||
Automatic loudness and per-app volume control for PipeWire, in Rust.
|
||||
|
||||
Headroom puts a per-application audio safety net between noisy sources
|
||||
(browsers, voice chat, random video) and your speakers, while leaving
|
||||
|
|
@ -46,15 +46,15 @@ This repo is a flake; the daemon plus its systemd user unit and the
|
|||
canonical profiles are exposed as a package.
|
||||
|
||||
```sh
|
||||
nix run github:amaanq/headroom -- daemon # one-shot run
|
||||
nix profile install github:amaanq/headroom # add to $PATH
|
||||
nix run github:atagen/headroom -- daemon # one-shot run
|
||||
nix profile install github:atagen/headroom # add to $PATH
|
||||
```
|
||||
|
||||
For **Home Manager**, add the flake as an input and enable the module:
|
||||
|
||||
```nix
|
||||
{
|
||||
inputs.headroom.url = "github:amaanq/headroom";
|
||||
inputs.headroom.url = "github:atagen/headroom";
|
||||
|
||||
# In your Home Manager configuration:
|
||||
imports = [ inputs.headroom.homeModules.default ];
|
||||
|
|
@ -72,7 +72,7 @@ For **NixOS** (system-wide binary install + systemd-user discovery):
|
|||
|
||||
```nix
|
||||
{
|
||||
inputs.headroom.url = "github:amaanq/headroom";
|
||||
inputs.headroom.url = "github:atagen/headroom";
|
||||
|
||||
# In your NixOS configuration:
|
||||
imports = [ inputs.headroom.nixosModules.default ];
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[Unit]
|
||||
Description=Headroom audio daemon (PipeWire AGC + compressor + true-peak limiter)
|
||||
Documentation=https://github.com/amaanq/headroom
|
||||
Description=Headroom audio daemon (automatic loudness and per-app volume control for PipeWire)
|
||||
Documentation=https://github.com/atagen/headroom
|
||||
# PipeWire is a hard dependency: headroom registers a virtual sink and
|
||||
# wires explicit links via PW's link-factory, so we can't start before
|
||||
# pw-mainloop is up. ConditionUser ensures this only ever runs as a
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
description = "Headroom — AGC + compressor + true-peak limiter daemon for PipeWire";
|
||||
description = "Headroom — automatic loudness and per-app volume control for PipeWire";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
|
|
|||
|
|
@ -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" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue