{ 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" ''} ''; }