diff --git a/modules/home/cli/default.nix b/modules/home/cli/default.nix index 80caca5..afd16d2 100644 --- a/modules/home/cli/default.nix +++ b/modules/home/cli/default.nix @@ -12,10 +12,6 @@ screensaver.timeout = lib.pantheon.mkStrOption; screensaver.command = lib.pantheon.mkStrOption; editor = lib.pantheon.mkStrOption; - nvf.snippets = lib.mkOption { - type = lib.types.listOf lib.types.attrs; - default = { }; - }; file-browser = lib.pantheon.mkStrOption; multiplexer = lib.pantheon.mkStrOption; fetch = lib.pantheon.mkStrOption; diff --git a/modules/home/cli/editor/nvf/default.nix b/modules/home/cli/editor/nvf/default.nix index 66949bc..abb741c 100644 --- a/modules/home/cli/editor/nvf/default.nix +++ b/modules/home/cli/editor/nvf/default.nix @@ -1,4 +1,9 @@ -{ config, lib, ... }: +{ + config, + lib, + pkgs, + ... +}: { config = lib.mkIf (config.cli.editor == "nvf") { home.sessionVariables.EDITOR = "nvim"; @@ -8,6 +13,7 @@ programs.nvf = { enable = true; settings.vim = { + startPlugins = [ pkgs.pantheon.snippets ]; hideSearchHighlight = true; syntaxHighlighting = true; telescope.enable = true; diff --git a/packages/snippets/default.nix b/packages/snippets/default.nix new file mode 100644 index 0000000..af28023 --- /dev/null +++ b/packages/snippets/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +let + inherit (pkgs.vimUtils) buildVimPlugin; +in +buildVimPlugin { + name = "snippets"; + src = ./.; +} diff --git a/packages/snippets/package.json b/packages/snippets/package.json new file mode 100644 index 0000000..8b8d648 --- /dev/null +++ b/packages/snippets/package.json @@ -0,0 +1,15 @@ +{ + "name": "snippets", + "engines": { + "vscode": "^1.11.0" + }, + "contributes": { + "snippets": [ + { + "language": "nix", + "path": "./snippets/nix.json" + } + ] + } +} + diff --git a/packages/snippets/snippets/nix.json b/packages/snippets/snippets/nix.json new file mode 100644 index 0000000..2a69c0e --- /dev/null +++ b/packages/snippets/snippets/nix.json @@ -0,0 +1,22 @@ +{ + "module": { + "prefix": "mod", + "body": [ + "{ config, lib, ... }:", + "let", + " inherit (lib) mkEnableOption mkIf;", + " cfg = config.$1;", + "in", + "{", + " options.$2 = {", + " enable = mkEnableOption \"$3\";", + " };", + "", + " config = mkIf cfg.enable {", + " $4", + " };", + "}" + ], + "description": "empty module" + } +}