Configuration entry similar to;
```nix
programs.radio-active.enable = true;
```
By default `ffplay` is used for recording/playback, but that can be
changed by applying either of the following;
```nix
programs.radio-active.settings.AppConfig.player = "vlc";
programs.radio-active.settings.AppConfig.player = "mpv";
```
All other configuration options documented by;
https://github.com/deep5050/radio-active?tab=readme-ov-file#default-configs
maybe applied under the `AppConfig` attribute set.
Finally, the `aliases` attribute set allows for defining key/value pares
that will generate a `~/.radio-active-alias` of bookmarked stations, for
example something like;
```nix
programs.radio-active.aliases = {
"Deep House Lounge" = "http://198.15.94.34:8006/stream";
};
```
... will result in;
```
Deep House Lounge==http://198.15.94.34:8006/stream
```
WARN: Darwin hosts may report issues about `pkgs.vlc`
Co-authored-by: Robert Helgesson <robert@rycee.net>
Add test to verify intelligent width optimization of shell arrays.
The test demonstrates how formatShellArrayContent packs multiple items
per line
within reasonable width limits rather than one item per line.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Replace individual setopt statements with array-based loops for cfg.setOptions.
Use lib.hm.zsh.define for consistent array formatting and add unset statements
to clean up temporary variables, improving consistency with other zsh optimizations.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Replace individual setopt/unsetopt statements for history options with efficient
array-based loops. Also optimize history substring search key bindings using
the same pattern. Use lib.hm.zsh.define for consistent array formatting and
add unset statements to clean up temporary variables.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Replace individual plugin PATH/fpath statements and conditional sourcing with
efficient array-based loops. Use lib.hm.zsh.define for consistent array
formatting and add unset statements to clean up temporary variables.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Replace naive string quoting with lib.escapeShellArg for proper shell escaping
of special characters, spaces, and quotes. Integrate with new formatShellArrayContent
for intelligent multi-line array formatting in zsh array definitions.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Include various tests for the agents and command file generation and
different ways of configuring it.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
Program removed upstream, let module stay around for a bit in case it came back.
We can re-introduce if the situation changes, but we have an alternative.
Configuration entry similar to;
```nix
programs.pianobar = {
enable = true;
user = "groovy-tunes@example.com";
password_command = "cat /run/secrets/pianobar/groovy-tunes";
};
```
... will produce a `~/.config/pianobar/config` file with content of;
```conf
user = groovy-tunes@example.com
password_command = cat /run/secrets/pianobar/groovy-tunes
```
... and add `pianobar` to `home.packages` list.
All configurations that `man pianobar` documents _should_ available via
`extraOptions` attribute.
License, according to `NixOS/nixpkgs` is MIT, and that seems to match
what's shown on `PromyLOPh/pianobar` repo too;
- d92bfd5feb/pkgs/by-name/pi/pianobar/package.nix (L42o)
- https://github.com/PromyLOPh/pianobar/?tab=License-1-ov-file#readme
Add quotes to the preview command to prevent the shell from interpreting
options with `<name>` as writing the output of the command name to a
file with the name of the remainder of the option name.