1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-06 17:11:03 +01:00
home-manager/tests/modules/programs/asciinema/settings.nix
S0AndS0 bd92e8ee4a asciinema: Add module to configure package
Enabling and defining minimal config file example;

```nix
{
  programs.asciinema = {
    enable = true;
    settings = {
      session.idle_time_limit = 2;
    };
  };
}
```

...  _Should_ result in output `~/.config/asciinema/config.toml` of;

```toml
[session]
idle_time_limit = 2
```

Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
2025-10-03 14:21:22 -05:00

60 lines
1.4 KiB
Nix

{
programs.asciinema = {
enable = true;
settings = {
server.url = "https://asciinema.example.com";
session = {
command = "/run/current-system/sw/bin/bash -l";
capture_input = true;
capture_env = "SHELL,TERM,USER";
idle_time_limit = 2;
pause_key = "^p";
add_marker_key = "^x";
prefix_key = "^a";
};
playback = {
speed = 2;
pause_key = "^p";
step_key = "s";
next_marker_key = "m";
};
notifications = {
enable = false;
command = ''tmux display-message "$TEXT"'';
};
};
};
## TODO: check that `command` quote escaping doesn't break things
nmt.script = ''
assertFileExists home-files/.config/asciinema/config.toml
assertFileContent home-files/.config/asciinema/config.toml \
${builtins.toFile "expected.asciinema_config.toml" ''
[notifications]
command = "tmux display-message \"$TEXT\""
enable = false
[playback]
next_marker_key = "m"
pause_key = "^p"
speed = 2
step_key = "s"
[server]
url = "https://asciinema.example.com"
[session]
add_marker_key = "^x"
capture_env = "SHELL,TERM,USER"
capture_input = true
command = "/run/current-system/sw/bin/bash -l"
idle_time_limit = 2
pause_key = "^p"
prefix_key = "^a"
''}
'';
}