mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-22 10:59:49 +01:00
40 lines
840 B
Nix
40 lines
840 B
Nix
|
{
|
||
|
pkgs,
|
||
|
config,
|
||
|
lib,
|
||
|
...
|
||
|
}:
|
||
|
with lib;
|
||
|
with builtins; let
|
||
|
cfg = config.vim.tidal;
|
||
|
in {
|
||
|
options.vim.tidal = {
|
||
|
enable = mkEnableOption "tidal tools and plugins";
|
||
|
|
||
|
flash = mkOption {
|
||
|
description = ''When sending a paragraph or a single line, vim-tidal will "flash" the selection for some milliseconds'';
|
||
|
type = types.int;
|
||
|
default = 150;
|
||
|
};
|
||
|
|
||
|
openSC = mkOption {
|
||
|
description = "Automatically run the supercollider CLI, sclang, alongside the Tidal GHCI terminal.";
|
||
|
type = types.bool;
|
||
|
default = true;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
config = mkIf (cfg.enable) {
|
||
|
vim.startPlugins = [
|
||
|
# From tidalcycles flake
|
||
|
pkgs.vimPlugins.vim-tidal
|
||
|
];
|
||
|
|
||
|
vim.globals = {
|
||
|
"tidal_target" = "terminal";
|
||
|
"tidal_flash_duration" = 150;
|
||
|
"tidal_sc_enable" = cfg.openSC;
|
||
|
};
|
||
|
};
|
||
|
}
|