mirror of
https://github.com/nix-community/home-manager.git
synced 2025-12-18 15:01:11 +01:00
rmpc: add module (#6910)
This commit is contained in:
parent
ef47f36450
commit
50bb714a82
6 changed files with 107 additions and 0 deletions
|
|
@ -237,6 +237,7 @@ let
|
||||||
./programs/rio.nix
|
./programs/rio.nix
|
||||||
./programs/ripgrep.nix
|
./programs/ripgrep.nix
|
||||||
./programs/ripgrep-all.nix
|
./programs/ripgrep-all.nix
|
||||||
|
./programs/rmpc.nix
|
||||||
./programs/rofi-pass.nix
|
./programs/rofi-pass.nix
|
||||||
./programs/rofi.nix
|
./programs/rofi.nix
|
||||||
./programs/rtorrent.nix
|
./programs/rtorrent.nix
|
||||||
|
|
|
||||||
59
modules/programs/rmpc.nix
Normal file
59
modules/programs/rmpc.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkIf
|
||||||
|
mkEnableOption
|
||||||
|
mkPackageOption
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.programs.rmpc;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
meta.maintainers = with lib.hm.maintainers; [ aguirre-matteo ];
|
||||||
|
|
||||||
|
options.programs.rmpc = {
|
||||||
|
enable = mkEnableOption "rmpc";
|
||||||
|
package = mkPackageOption pkgs "rmpc" { nullable = true; };
|
||||||
|
config = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
example = ''
|
||||||
|
(
|
||||||
|
address: "127.0.0.1:6600",
|
||||||
|
password: None,
|
||||||
|
theme: None,
|
||||||
|
cache_dir: None,
|
||||||
|
on_song_change: None,
|
||||||
|
volume_step: 5,
|
||||||
|
max_fps: 30,
|
||||||
|
scrolloff: 0,
|
||||||
|
wrap_navigation: false,
|
||||||
|
enable_mouse: true,
|
||||||
|
enable_config_hot_reload: true,
|
||||||
|
status_update_interval_ms: 1000,
|
||||||
|
select_current_song_on_change: false,
|
||||||
|
browser_song_sort: [Disc, Track, Artist, Title],
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
description = ''
|
||||||
|
Configuration settings for rmpc in the Rusty Object Notation
|
||||||
|
format. All available options can be found in the official
|
||||||
|
documentation at <https://mierak.github.io/rmpc/next/configuration/>.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = mkIf (cfg.package != null) [ cfg.package ];
|
||||||
|
xdg.configFile = mkIf (cfg.config != "") {
|
||||||
|
"rmpc/config.ron".text = cfg.config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -277,6 +277,7 @@ import nmtSrc {
|
||||||
./modules/programs/rio
|
./modules/programs/rio
|
||||||
./modules/programs/ripgrep
|
./modules/programs/ripgrep
|
||||||
./modules/programs/ripgrep-all
|
./modules/programs/ripgrep-all
|
||||||
|
./modules/programs/rmpc
|
||||||
./modules/programs/ruff
|
./modules/programs/ruff
|
||||||
./modules/programs/sagemath
|
./modules/programs/sagemath
|
||||||
./modules/programs/sapling
|
./modules/programs/sapling
|
||||||
|
|
|
||||||
1
tests/modules/programs/rmpc/default.nix
Normal file
1
tests/modules/programs/rmpc/default.nix
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{ rmpc-example-config = ./example-config.nix; }
|
||||||
29
tests/modules/programs/rmpc/example-config.nix
Normal file
29
tests/modules/programs/rmpc/example-config.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{
|
||||||
|
programs.rmpc = {
|
||||||
|
enable = true;
|
||||||
|
config = ''
|
||||||
|
(
|
||||||
|
address: "127.0.0.1:6600",
|
||||||
|
password: None,
|
||||||
|
theme: None,
|
||||||
|
cache_dir: None,
|
||||||
|
on_song_change: None,
|
||||||
|
volume_step: 5,
|
||||||
|
max_fps: 30,
|
||||||
|
scrolloff: 0,
|
||||||
|
wrap_navigation: false,
|
||||||
|
enable_mouse: true,
|
||||||
|
enable_config_hot_reload: true,
|
||||||
|
status_update_interval_ms: 1000,
|
||||||
|
select_current_song_on_change: false,
|
||||||
|
browser_song_sort: [Disc, Track, Artist, Title],
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.config/rmpc/config.ron
|
||||||
|
assertFileContent home-files/.config/rmpc/config.ron \
|
||||||
|
${./example-config.ron}
|
||||||
|
'';
|
||||||
|
}
|
||||||
16
tests/modules/programs/rmpc/example-config.ron
Normal file
16
tests/modules/programs/rmpc/example-config.ron
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(
|
||||||
|
address: "127.0.0.1:6600",
|
||||||
|
password: None,
|
||||||
|
theme: None,
|
||||||
|
cache_dir: None,
|
||||||
|
on_song_change: None,
|
||||||
|
volume_step: 5,
|
||||||
|
max_fps: 30,
|
||||||
|
scrolloff: 0,
|
||||||
|
wrap_navigation: false,
|
||||||
|
enable_mouse: true,
|
||||||
|
enable_config_hot_reload: true,
|
||||||
|
status_update_interval_ms: 1000,
|
||||||
|
select_current_song_on_change: false,
|
||||||
|
browser_song_sort: [Disc, Track, Artist, Title],
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue