From f6825339d28e904dfa405da907fb4de118260c57 Mon Sep 17 00:00:00 2001 From: Jake Ginesin Date: Thu, 8 May 2025 22:59:20 -0400 Subject: [PATCH] 384 current 2025-05-08 22:58:50 25.05.20250424.f771eb4 6.12.24 * --- home/programs/nvim/snippets/nix.lua | 73 +++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 home/programs/nvim/snippets/nix.lua diff --git a/home/programs/nvim/snippets/nix.lua b/home/programs/nvim/snippets/nix.lua new file mode 100644 index 0000000..8224d78 --- /dev/null +++ b/home/programs/nvim/snippets/nix.lua @@ -0,0 +1,73 @@ +local ls = require("luasnip") +local s = ls.snippet +local sn = ls.snippet_node +local isn = ls.indent_snippet_node +local t = ls.text_node +local i = ls.insert_node +local f = ls.function_node +local c = ls.choice_node +local d = ls.dynamic_node +local r = ls.restore_node +local events = require("luasnip.util.events") +local ai = require("luasnip.nodes.absolute_indexer") +local extras = require("luasnip.extras") +local l = extras.lambda +local rep = extras.rep +local p = extras.partial +local m = extras.match +local n = extras.nonempty +local dl = extras.dynamic_lambda +local fmt = require("luasnip.extras.fmt").fmt +local fmta = require("luasnip.extras.fmt").fmta +local conds = require("luasnip.extras.expand_conditions") +local postfix = require("luasnip.extras.postfix").postfix +local types = require("luasnip.util.types") +local parse = require("luasnip.util.parser").parse_snippet +local ms = ls.multi_snippet +local k = require("luasnip.nodes.key_indexer").new_key + +local line_begin = require("luasnip.extras.expand_conditions").line_begin + +ls.add_snippets("nix", { + s("flake-devshell", fmta([[ +{ + description = "A flake indeed"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + + outputs = { self, nixpkgs }: + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + in { + packages.x86_64-linux = { + hello = pkgs.hello; + default = pkgs.hello; + }; + + devShells.x86_64-linux.default = pkgs.mkShell { + packages = [ + pkgs.hello + ]; + }; + }; +} +<> + ]], {i(1)}, { + indent_string = "" + })), + + s("nix-default", fmta([[ +{ + config, + pkgs, + ... +}: { + <> +} + ]], {i(1)}, { + indent_string = "" + })) + +})