Compare commits
40 commits
a5794fb120
...
3fbe570a30
Author | SHA1 | Date | |
---|---|---|---|
3fbe570a30 | |||
f0d002be9b | |||
bcb531fbf0 | |||
a531dec993 | |||
74b3a2ace1 | |||
ac0876ad01 | |||
29eeb59e34 | |||
1ca716532e | |||
9d2c7f0f57 | |||
17fb434078 | |||
ece124254c | |||
536d90a899 | |||
d2cdedac8e | |||
f45d04ab60 | |||
95d6b47659 | |||
46126fedea | |||
ffe6f03f22 | |||
55dc68c2ef | |||
7934bca6db | |||
387786bc07 | |||
142f765dfe | |||
db0ee73a05 | |||
46b2b2d7c4 | |||
b4707c10cf | |||
be0d9e3b66 | |||
5a44773a3d | |||
f9c2b86c6d | |||
2765de277a | |||
9bd532e06b | |||
a12fc1d1c9 | |||
0b9f37df6c | |||
4dc7cf3e67 | |||
a43c5c1776 | |||
f11fdc928c | |||
c9aff6788d | |||
da79eabf09 | |||
b70909f429 | |||
744b1ad145 | |||
fe559c2214 | |||
8a48c56206 |
16 changed files with 2987 additions and 28 deletions
128
flake.nix
128
flake.nix
|
@ -90,7 +90,7 @@
|
||||||
name,
|
name,
|
||||||
mkNvimPlugin,
|
mkNvimPlugin,
|
||||||
...
|
...
|
||||||
} @ packageDef: {
|
}: {
|
||||||
# to define and use a new category, simply add a new list to a set here,
|
# to define and use a new category, simply add a new list to a set here,
|
||||||
# and later, you will include categoryname = true; in the set you
|
# and later, you will include categoryname = true; in the set you
|
||||||
# provide when you build the package using this builder function.
|
# provide when you build the package using this builder function.
|
||||||
|
@ -102,22 +102,56 @@
|
||||||
# this includes LSPs
|
# this includes LSPs
|
||||||
lspsAndRuntimeDeps = with pkgs; {
|
lspsAndRuntimeDeps = with pkgs; {
|
||||||
general = [
|
general = [
|
||||||
universal-ctags
|
(callPackage ./packages/erb-lint {})
|
||||||
|
(callPackage ./packages/markdown-toc {})
|
||||||
|
alejandra
|
||||||
|
biome
|
||||||
curl
|
curl
|
||||||
lazygit
|
docker-compose-language-service
|
||||||
ripgrep
|
dockerfile-language-server-nodejs
|
||||||
fd
|
fd
|
||||||
stdenv.cc.cc
|
gofumpt
|
||||||
|
gopls
|
||||||
|
gotools
|
||||||
|
hadolint
|
||||||
|
helm-ls
|
||||||
|
lazygit
|
||||||
lua-language-server
|
lua-language-server
|
||||||
nil # I would go for nixd but lazy chooses this one idk
|
markdownlint-cli2
|
||||||
|
marksman
|
||||||
|
nil
|
||||||
|
nodePackages.prettier
|
||||||
|
nushell
|
||||||
|
php84Packages.php-codesniffer
|
||||||
|
php84Packages.php-cs-fixer
|
||||||
|
phpactor
|
||||||
|
pyright
|
||||||
|
ripgrep
|
||||||
|
rubocop
|
||||||
|
ruby-lsp
|
||||||
|
rubyPackages.erb-formatter
|
||||||
|
ruff
|
||||||
|
sqlfluff
|
||||||
|
stdenv.cc.cc
|
||||||
|
stylelint
|
||||||
stylua
|
stylua
|
||||||
|
tailwindcss-language-server
|
||||||
|
taplo
|
||||||
|
terraform-ls
|
||||||
|
tflint
|
||||||
|
universal-ctags
|
||||||
|
vscode-langservers-extracted
|
||||||
|
vtsls
|
||||||
|
vue-language-server
|
||||||
|
yaml-language-server
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: lazy doesnt care if these are in startupPlugins or optionalPlugins
|
# NOTE: lazy doesnt care if these are in startupPlugins or optionalPlugins
|
||||||
# also you dont have to download everything via nix if you dont want.
|
# also you dont have to download everything via nix if you dont want.
|
||||||
# but you have the option, and that is demonstrated here.
|
# but you have the option, and that is demonstrated here.
|
||||||
startupPlugins = with pkgs.vimPlugins; with pkgs.neovimPlugins; {
|
startupPlugins = with pkgs.vimPlugins;
|
||||||
|
with pkgs.neovimPlugins; {
|
||||||
general = [
|
general = [
|
||||||
# LazyVim
|
# LazyVim
|
||||||
lazy-nvim
|
lazy-nvim
|
||||||
|
@ -191,6 +225,82 @@
|
||||||
name = "LuaSnip";
|
name = "LuaSnip";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Mini-comment
|
||||||
|
{
|
||||||
|
plugin = mini-comment;
|
||||||
|
name = "mini.comment";
|
||||||
|
}
|
||||||
|
nvim-ts-context-commentstring
|
||||||
|
|
||||||
|
# Mini-surround
|
||||||
|
{
|
||||||
|
plugin = mini-surround;
|
||||||
|
name = "mini.surround";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Neogen
|
||||||
|
neogen
|
||||||
|
|
||||||
|
# yanky.nvim
|
||||||
|
yanky-nvim
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
# Aerial
|
||||||
|
aerial-nvim
|
||||||
|
|
||||||
|
# Dial
|
||||||
|
dial-nvim
|
||||||
|
|
||||||
|
# Navic
|
||||||
|
nvim-navic
|
||||||
|
|
||||||
|
# Neo-tree
|
||||||
|
neo-tree-nvim
|
||||||
|
|
||||||
|
# Refactoring
|
||||||
|
refactoring-nvim
|
||||||
|
|
||||||
|
# Lang
|
||||||
|
# Go
|
||||||
|
nvim-dap-go
|
||||||
|
neotest-golang
|
||||||
|
|
||||||
|
# Helm
|
||||||
|
vim-helm
|
||||||
|
|
||||||
|
# JSON & YAML
|
||||||
|
SchemaStore-nvim
|
||||||
|
|
||||||
|
# Markdown
|
||||||
|
markdown-preview-nvim
|
||||||
|
render-markdown-nvim
|
||||||
|
|
||||||
|
# Python
|
||||||
|
neotest-python
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
neotest-rspec
|
||||||
|
|
||||||
|
# Sql
|
||||||
|
vim-dadbod
|
||||||
|
vim-dadbod-completion
|
||||||
|
vim-dadbod-ui
|
||||||
|
|
||||||
|
# Test
|
||||||
|
# Neotest
|
||||||
|
neotest
|
||||||
|
nvim-nio
|
||||||
|
|
||||||
|
# UI
|
||||||
|
# Mini Animate
|
||||||
|
{
|
||||||
|
plugin = mini-animate;
|
||||||
|
name = "mini.animate";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Treesitter-context
|
||||||
|
nvim-treesitter-context
|
||||||
|
|
||||||
# Custom
|
# Custom
|
||||||
rose-pine
|
rose-pine
|
||||||
diffview-nvim
|
diffview-nvim
|
||||||
|
@ -210,9 +320,9 @@
|
||||||
# shared libraries to be added to LD_LIBRARY_PATH
|
# shared libraries to be added to LD_LIBRARY_PATH
|
||||||
# variable available to nvim runtime
|
# variable available to nvim runtime
|
||||||
sharedLibraries = {
|
sharedLibraries = {
|
||||||
general = with pkgs; [
|
# general = with pkgs; [
|
||||||
# libgit2
|
# libgit2
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# environmentVariables:
|
# environmentVariables:
|
||||||
|
|
88
init.lua
88
init.lua
|
@ -21,35 +21,87 @@ local lazyOptions = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- NOTE: this the lazy wrapper. Use it like require('lazy').setup() but with an extra
|
-- NOTE: this the lazy wrapper. Use it like require('lazy').setup() but with an
|
||||||
-- argument, the path to lazy.nvim as downloaded by nix, or nil, before the normal arguments.
|
-- extra argument, the path to lazy.nvim as downloaded by nix, or nil, before
|
||||||
|
-- the normal arguments.
|
||||||
require('nixCatsUtils.lazyCat').setup(nixCats.pawsible { 'allPlugins', 'start', 'lazy.nvim' }, {
|
require('nixCatsUtils.lazyCat').setup(nixCats.pawsible { 'allPlugins', 'start', 'lazy.nvim' }, {
|
||||||
{ 'LazyVim/LazyVim', import = 'lazyvim.plugins' },
|
{ 'LazyVim/LazyVim', import = 'lazyvim.plugins' },
|
||||||
-- disable mason.nvim while using nix
|
|
||||||
-- precompiled binaries do not agree with nixos, and we can just make nix install this stuff for us.
|
|
||||||
{ 'williamboman/mason-lspconfig.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
|
||||||
{ 'williamboman/mason.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
build = require('nixCatsUtils').lazyAdd ':TSUpdate',
|
|
||||||
opts_extend = require('nixCatsUtils').lazyAdd(nil, false),
|
|
||||||
opts = {
|
|
||||||
-- nix already ensured they were installed, and we would need to change the parser_install_dir if we wanted to use it instead.
|
|
||||||
-- so we just disable install and do it via nix.
|
|
||||||
ensure_installed = require('nixCatsUtils').lazyAdd({ 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, false),
|
|
||||||
auto_install = require('nixCatsUtils').lazyAdd(true, false),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
'folke/lazydev.nvim',
|
'folke/lazydev.nvim',
|
||||||
ft = 'lua',
|
ft = 'lua',
|
||||||
opts = {
|
opts = {
|
||||||
library = {
|
library = {
|
||||||
-- adds type hints for nixCats global, but LazyDev is just nice in general
|
-- Adds type hints for nixCats global, but LazyDev is just nice in
|
||||||
|
-- general.
|
||||||
{ path = (nixCats.nixCatsPath or '') .. '/lua', words = { 'nixCats' } },
|
{ path = (nixCats.nixCatsPath or '') .. '/lua', words = { 'nixCats' } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Extras.
|
||||||
|
{ import = 'lazyvim.plugins.extras.coding.luasnip' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.coding.mini-comment' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.coding.mini-surround' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.coding.neogen' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.coding.yanky' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.editor.aerial' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.editor.dial' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.editor.navic' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.editor.neo-tree' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.editor.refactoring' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.formatting.biome' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.formatting.prettier' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.docker' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.git' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.go' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.helm' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.json' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.markdown' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.nix' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.nushell' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.php' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.python' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.ruby' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.sql' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.tailwind' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.terraform' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.toml' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.typescript' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.vue' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.lang.yaml' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.linting.eslint' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.test.core' },
|
||||||
|
|
||||||
|
{ import = 'lazyvim.plugins.extras.ui.mini-animate' },
|
||||||
|
{ import = 'lazyvim.plugins.extras.ui.treesitter-context' },
|
||||||
|
|
||||||
|
-- These need to be after extras to prevent extras from overwriting them.
|
||||||
|
|
||||||
|
-- Disable mason.nvim while using nix.
|
||||||
|
-- Precompiled binaries do not agree with nixos, and we can just make nix
|
||||||
|
-- install this stuff for us.
|
||||||
|
{ 'williamboman/mason-lspconfig.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||||
|
{ 'williamboman/mason.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false) },
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
build = require('nixCatsUtils').lazyAdd ':TSUpdate',
|
||||||
|
opts_extend = require('nixCatsUtils').lazyAdd(nil, false),
|
||||||
|
opts = {
|
||||||
|
-- Nix already ensured they were installed, and we would need to change
|
||||||
|
-- the parser_install_dir if we wanted to use it instead.
|
||||||
|
-- So we just disable install and do it via nix.
|
||||||
|
ensure_installed = require('nixCatsUtils').lazyAdd({ 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, false),
|
||||||
|
auto_install = require('nixCatsUtils').lazyAdd(true, false),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- import/override with your plugins
|
-- import/override with your plugins
|
||||||
{ import = 'plugins' },
|
{ import = 'plugins' },
|
||||||
}, lazyOptions)
|
}, lazyOptions)
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
vim.o.textwidth = 80
|
vim.o.textwidth = 80
|
||||||
vim.o.colorcolumn = '+1'
|
vim.o.colorcolumn = '+1'
|
||||||
|
|
||||||
|
vim.g.lazyvim_prettier_needs_config = true
|
||||||
|
|
15
lua/plugins/conform-nvim.lua
Normal file
15
lua/plugins/conform-nvim.lua
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'stevearc/conform.nvim',
|
||||||
|
|
||||||
|
---@class ConformOpts
|
||||||
|
opts = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
css = { 'stylelint' },
|
||||||
|
liquid = { 'prettier' },
|
||||||
|
nix = { 'alejandra' },
|
||||||
|
scss = { 'stylelint' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
14
lua/plugins/luasnip.lua
Normal file
14
lua/plugins/luasnip.lua
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
return {
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
opts = {
|
||||||
|
store_selection_keys = '<TAB>',
|
||||||
|
update_events = 'TextChanged,TextChangedI',
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require('luasnip').setup(opts)
|
||||||
|
|
||||||
|
require('luasnip.loaders.from_lua').load { paths = {
|
||||||
|
nixCats.configDir .. '/lua/snippets',
|
||||||
|
} }
|
||||||
|
end,
|
||||||
|
}
|
18
lua/plugins/neo-tree-nvim.lua
Normal file
18
lua/plugins/neo-tree-nvim.lua
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'nvim-neo-tree/neo-tree.nvim',
|
||||||
|
opts = {
|
||||||
|
close_if_last_window = true,
|
||||||
|
window = {
|
||||||
|
width = 30,
|
||||||
|
},
|
||||||
|
filesystem = {
|
||||||
|
filtered_items = {
|
||||||
|
hide_dotfiles = false,
|
||||||
|
hide_gitignored = false,
|
||||||
|
hide_hidden = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
19
lua/plugins/nvim-lspconfig.lua
Normal file
19
lua/plugins/nvim-lspconfig.lua
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
opts = {
|
||||||
|
servers = {
|
||||||
|
nil_ls = {
|
||||||
|
settings = {
|
||||||
|
['nil'] = {
|
||||||
|
flake = {
|
||||||
|
autoArchive = true,
|
||||||
|
autoEvalInputs = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
101
lua/snippets/fish.lua
Normal file
101
lua/snippets/fish.lua
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
local ls = require 'luasnip'
|
||||||
|
local s = ls.snippet
|
||||||
|
local t = ls.text_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
local f = ls.function_node
|
||||||
|
local fmt = require('luasnip.extras.fmt').fmt
|
||||||
|
local fill = require('snippets.helpers').fill
|
||||||
|
|
||||||
|
return {
|
||||||
|
s({ trig = 'dc', desc = 'divider comment' }, f(fill, {}, { user_args = { '#%- ' } })),
|
||||||
|
|
||||||
|
s({ trig = '#!', desc = 'shebang' }, t '#!/usr/bin/env fish'),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'if', desc = 'if ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
if {}
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'elif', desc = 'else if ...' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
else if {}
|
||||||
|
{}
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'fori', desc = 'for ... in ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
for {} in {}
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(1), i(2), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'wh', desc = 'while ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
while {}
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'wht', desc = 'while true ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
while true
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'sw', desc = 'switch ... case ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
switch {}
|
||||||
|
case {}
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(1), i(2), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'func', desc = 'function ... end' },
|
||||||
|
fmt(
|
||||||
|
[[
|
||||||
|
function {}
|
||||||
|
{}
|
||||||
|
end
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s({ trig = 'dn', desc = '&>/dev/null' }, t '&>/dev/null'),
|
||||||
|
|
||||||
|
s({ trig = 'abbr', desc = 'abbr -a ... --position ...' }, fmt('abbr -a {} --position {} "{}"', { i(1), i(2, 'command'), i(3) })),
|
||||||
|
}
|
40
lua/snippets/helpers.lua
Normal file
40
lua/snippets/helpers.lua
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
local ls = require 'luasnip'
|
||||||
|
local sn = ls.snippet_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.fill = function(_, parent, args)
|
||||||
|
local title = ''
|
||||||
|
local chars = {}
|
||||||
|
|
||||||
|
if type(parent.snippet.env.LS_SELECT_RAW) == 'table' then
|
||||||
|
for _, ele in ipairs(parent.snippet.env.LS_SELECT_RAW) do
|
||||||
|
title = title .. ele .. ' '
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for str in string.gmatch(args, '([^%%]+)') do
|
||||||
|
table.insert(chars, str)
|
||||||
|
end
|
||||||
|
|
||||||
|
local snip = chars[1] .. ' ' .. title
|
||||||
|
|
||||||
|
local _, c = unpack(vim.api.nvim_win_get_cursor(0))
|
||||||
|
|
||||||
|
while #snip < (vim.bo.tw - c - 1) do
|
||||||
|
snip = snip .. chars[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
return snip
|
||||||
|
end
|
||||||
|
|
||||||
|
M.get_visual = function(_, parent)
|
||||||
|
if #parent.snippet.env.LS_SELECT_RAW > 0 then
|
||||||
|
return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
|
||||||
|
else -- If LS_SELECT_RAW is empty, return a blank insert node
|
||||||
|
return sn(nil, i(1))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
140
lua/snippets/nix.lua
Normal file
140
lua/snippets/nix.lua
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
local ls = require 'luasnip'
|
||||||
|
local s = ls.snippet
|
||||||
|
local i = ls.insert_node
|
||||||
|
local f = ls.function_node
|
||||||
|
local fmta = require('luasnip.extras.fmt').fmta
|
||||||
|
local rep = require('luasnip.extras').rep
|
||||||
|
local fill = require('snippets.helpers').fill
|
||||||
|
|
||||||
|
return {
|
||||||
|
s({ trig = 'dc', desc = 'divider comment' }, f(fill, {}, { user_args = { '#%- ' } })),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'mexpr', desc = 'Basic module expression' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
{ <>... }:
|
||||||
|
{
|
||||||
|
<>
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'sov', desc = 'Snowfall lib overlay' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
<>: final: prev: {
|
||||||
|
<>
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
{ i(1, '_'), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'sovi', desc = 'Snowfall lib overlay pulling from inputs' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
{inputs, ...}: final: prev: {
|
||||||
|
<> = inputs.<>.<>."${prev.system}".<>;
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
{ i(1, 'pkg'), i(2, 'input'), i(3, 'packages'), i(4, 'default') }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'sovc', desc = 'Snowfall lib overlay pulling from channels' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
{channels, ...}: final: prev: {
|
||||||
|
inherit (channels.<>) <>;
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
{ i(1, 'unstable'), i(2, 'pkg') }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'ovr', desc = 'Override' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
<> = prev.<>.override {
|
||||||
|
<>
|
||||||
|
};
|
||||||
|
]],
|
||||||
|
{ i(1, 'pkg'), rep(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'ovra', desc = 'OverrideAttrs' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
<> = prev.<>.overrideAttrs (old: {
|
||||||
|
<>
|
||||||
|
});
|
||||||
|
]],
|
||||||
|
{ i(1, 'pkg'), rep(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'hpkg', desc = 'home.packages list' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
<>
|
||||||
|
];<>
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'ospkg', desc = 'NixOS environment.systemPackages list' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
<>
|
||||||
|
];<>
|
||||||
|
]],
|
||||||
|
{ i(1), i(0) }
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
|
s(
|
||||||
|
{ trig = 'smod', desc = 'Snowfall lib module' },
|
||||||
|
fmta(
|
||||||
|
[[
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,<>
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.marleyos.<>.<>;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.marleyos.<>.<>.enable = lib.mkEnableOption "<>";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
<>
|
||||||
|
};
|
||||||
|
}
|
||||||
|
]],
|
||||||
|
{
|
||||||
|
i(1), -- extra args
|
||||||
|
i(2), -- group
|
||||||
|
i(3), -- mod
|
||||||
|
rep(2), -- group
|
||||||
|
rep(3), -- mod
|
||||||
|
rep(3), -- mod
|
||||||
|
i(0), -- end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
),
|
||||||
|
}
|
3
packages/erb-lint/Gemfile
Normal file
3
packages/erb-lint/Gemfile
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
gem 'erb_lint'
|
105
packages/erb-lint/Gemfile.lock
Normal file
105
packages/erb-lint/Gemfile.lock
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
actionview (8.0.1)
|
||||||
|
activesupport (= 8.0.1)
|
||||||
|
builder (~> 3.1)
|
||||||
|
erubi (~> 1.11)
|
||||||
|
rails-dom-testing (~> 2.2)
|
||||||
|
rails-html-sanitizer (~> 1.6)
|
||||||
|
activesupport (8.0.1)
|
||||||
|
base64
|
||||||
|
benchmark (>= 0.3)
|
||||||
|
bigdecimal
|
||||||
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
||||||
|
connection_pool (>= 2.2.5)
|
||||||
|
drb
|
||||||
|
i18n (>= 1.6, < 2)
|
||||||
|
logger (>= 1.4.2)
|
||||||
|
minitest (>= 5.1)
|
||||||
|
securerandom (>= 0.3)
|
||||||
|
tzinfo (~> 2.0, >= 2.0.5)
|
||||||
|
uri (>= 0.13.1)
|
||||||
|
ast (2.4.2)
|
||||||
|
base64 (0.2.0)
|
||||||
|
benchmark (0.4.0)
|
||||||
|
better_html (2.1.1)
|
||||||
|
actionview (>= 6.0)
|
||||||
|
activesupport (>= 6.0)
|
||||||
|
ast (~> 2.0)
|
||||||
|
erubi (~> 1.4)
|
||||||
|
parser (>= 2.4)
|
||||||
|
smart_properties
|
||||||
|
bigdecimal (3.1.9)
|
||||||
|
builder (3.3.0)
|
||||||
|
concurrent-ruby (1.3.5)
|
||||||
|
connection_pool (2.5.0)
|
||||||
|
crass (1.0.6)
|
||||||
|
drb (2.2.1)
|
||||||
|
erb_lint (0.9.0)
|
||||||
|
activesupport
|
||||||
|
better_html (>= 2.0.1)
|
||||||
|
parser (>= 2.7.1.4)
|
||||||
|
rainbow
|
||||||
|
rubocop (>= 1)
|
||||||
|
smart_properties
|
||||||
|
erubi (1.13.1)
|
||||||
|
i18n (1.14.7)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
json (2.10.1)
|
||||||
|
language_server-protocol (3.17.0.4)
|
||||||
|
lint_roller (1.1.0)
|
||||||
|
logger (1.6.6)
|
||||||
|
loofah (2.24.0)
|
||||||
|
crass (~> 1.0.2)
|
||||||
|
nokogiri (>= 1.12.0)
|
||||||
|
mini_portile2 (2.8.8)
|
||||||
|
minitest (5.25.4)
|
||||||
|
nokogiri (1.18.3)
|
||||||
|
mini_portile2 (~> 2.8.2)
|
||||||
|
racc (~> 1.4)
|
||||||
|
parallel (1.26.3)
|
||||||
|
parser (3.3.7.1)
|
||||||
|
ast (~> 2.4.1)
|
||||||
|
racc
|
||||||
|
racc (1.8.1)
|
||||||
|
rails-dom-testing (2.2.0)
|
||||||
|
activesupport (>= 5.0.0)
|
||||||
|
minitest
|
||||||
|
nokogiri (>= 1.6)
|
||||||
|
rails-html-sanitizer (1.6.2)
|
||||||
|
loofah (~> 2.21)
|
||||||
|
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
||||||
|
rainbow (3.1.1)
|
||||||
|
regexp_parser (2.10.0)
|
||||||
|
rubocop (1.73.2)
|
||||||
|
json (~> 2.3)
|
||||||
|
language_server-protocol (~> 3.17.0.2)
|
||||||
|
lint_roller (~> 1.1.0)
|
||||||
|
parallel (~> 1.10)
|
||||||
|
parser (>= 3.3.0.2)
|
||||||
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
|
regexp_parser (>= 2.9.3, < 3.0)
|
||||||
|
rubocop-ast (>= 1.38.0, < 2.0)
|
||||||
|
ruby-progressbar (~> 1.7)
|
||||||
|
unicode-display_width (>= 2.4.0, < 4.0)
|
||||||
|
rubocop-ast (1.38.1)
|
||||||
|
parser (>= 3.3.1.0)
|
||||||
|
ruby-progressbar (1.13.0)
|
||||||
|
securerandom (0.4.1)
|
||||||
|
smart_properties (1.17.0)
|
||||||
|
tzinfo (2.0.6)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
unicode-display_width (3.1.4)
|
||||||
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||||
|
unicode-emoji (4.0.4)
|
||||||
|
uri (1.0.3)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
erb_lint
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.5.22
|
10
packages/erb-lint/default.nix
Normal file
10
packages/erb-lint/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{bundlerApp}:
|
||||||
|
# This may fail on non x86_64-linux-gnu systems. I had to run bundix as
|
||||||
|
# BUNDLE_FORCE_RUBY_PLATFORM=true nix run nixpkgs#bundix -- --lock otherwise I
|
||||||
|
# got hash mismatch errors. Any of the fixes I could find online to avoid that
|
||||||
|
# didn't work.
|
||||||
|
bundlerApp {
|
||||||
|
pname = "erb_lint";
|
||||||
|
exes = ["erb_lint"];
|
||||||
|
gemdir = ./.;
|
||||||
|
}
|
406
packages/erb-lint/gemset.nix
Normal file
406
packages/erb-lint/gemset.nix
Normal file
|
@ -0,0 +1,406 @@
|
||||||
|
{
|
||||||
|
actionview = {
|
||||||
|
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "12jgwrbkflrwklil3hv17iaamr9zsq161m0spy4sg7m4bkgf619h";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "8.0.1";
|
||||||
|
};
|
||||||
|
activesupport = {
|
||||||
|
dependencies = ["base64" "benchmark" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "logger" "minitest" "securerandom" "tzinfo" "uri"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0drfj44a16r86clrrqz3vqmg93qri6bqghjm21ac6jn2853cfnzx";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "8.0.1";
|
||||||
|
};
|
||||||
|
ast = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.4.2";
|
||||||
|
};
|
||||||
|
base64 = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.2.0";
|
||||||
|
};
|
||||||
|
benchmark = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.0";
|
||||||
|
};
|
||||||
|
better_html = {
|
||||||
|
dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0mdgwlc02f43svy92p0k5v1hipibpzxcdjm774lkz2j8s58kav04";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.1.1";
|
||||||
|
};
|
||||||
|
bigdecimal = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1k6qzammv9r6b2cw3siasaik18i6wjc5m0gw5nfdc6jj64h79z1g";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.1.9";
|
||||||
|
};
|
||||||
|
builder = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.3.0";
|
||||||
|
};
|
||||||
|
concurrent-ruby = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.3.5";
|
||||||
|
};
|
||||||
|
connection_pool = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.5.0";
|
||||||
|
};
|
||||||
|
crass = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.0.6";
|
||||||
|
};
|
||||||
|
drb = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.2.1";
|
||||||
|
};
|
||||||
|
erb_lint = {
|
||||||
|
dependencies = ["activesupport" "better_html" "parser" "rainbow" "rubocop" "smart_properties"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0cbwr8iv6d9g50w12a7ccvcrqk5clz4mxa3cspqd3s1rv05f9dfz";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.9.0";
|
||||||
|
};
|
||||||
|
erubi = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1naaxsqkv5b3vklab5sbb9sdpszrjzlfsbqpy7ncbnw510xi10m0";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.13.1";
|
||||||
|
};
|
||||||
|
i18n = {
|
||||||
|
dependencies = ["concurrent-ruby"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.14.7";
|
||||||
|
};
|
||||||
|
json = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1p4l5ycdxfsr8b51gnvlvhq6s21vmx9z4x617003zbqv3bcqmj6x";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.10.1";
|
||||||
|
};
|
||||||
|
language_server-protocol = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0scnz2fvdczdgadvjn0j9d49118aqm3hj66qh8sd2kv6g1j65164";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.17.0.4";
|
||||||
|
};
|
||||||
|
lint_roller = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "11yc0d84hsnlvx8cpk4cbj6a4dz9pk0r1k29p0n1fz9acddq831c";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.1.0";
|
||||||
|
};
|
||||||
|
logger = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.6.6";
|
||||||
|
};
|
||||||
|
loofah = {
|
||||||
|
dependencies = ["crass" "nokogiri"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.24.0";
|
||||||
|
};
|
||||||
|
mini_portile2 = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.8.8";
|
||||||
|
};
|
||||||
|
minitest = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0izrg03wn2yj3gd76ck7ifbm9h2kgy8kpg4fk06ckpy4bbicmwlw";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "5.25.4";
|
||||||
|
};
|
||||||
|
nokogiri = {
|
||||||
|
dependencies = ["mini_portile2" "racc"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0npx535cs8qc33n0lpbbwl0p9fi3a5bczn6ayqhxvknh9yqw77vb";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.18.3";
|
||||||
|
};
|
||||||
|
parallel = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.26.3";
|
||||||
|
};
|
||||||
|
parser = {
|
||||||
|
dependencies = ["ast" "racc"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "18dcwrcnddvi8gl3hmbsb2cj1l7afxk2lh3jmhj90l95h1hn3gkx";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.3.7.1";
|
||||||
|
};
|
||||||
|
racc = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.8.1";
|
||||||
|
};
|
||||||
|
rails-dom-testing = {
|
||||||
|
dependencies = ["activesupport" "minitest" "nokogiri"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.2.0";
|
||||||
|
};
|
||||||
|
rails-html-sanitizer = {
|
||||||
|
dependencies = ["loofah" "nokogiri"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.6.2";
|
||||||
|
};
|
||||||
|
rainbow = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.1.1";
|
||||||
|
};
|
||||||
|
regexp_parser = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0qccah61pjvzyyg6mrp27w27dlv6vxlbznzipxjcswl7x3fhsvyb";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.10.0";
|
||||||
|
};
|
||||||
|
rubocop = {
|
||||||
|
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0p9bq6dpvakndircsr4415vrp76hxjy1lxzy4d1j75xscl9ipk9m";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.73.2";
|
||||||
|
};
|
||||||
|
rubocop-ast = {
|
||||||
|
dependencies = ["parser"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1zjpv3kw4ciwk0dh43zj17ws318vnirby1clmcy6j9mvr4mbxv40";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.38.1";
|
||||||
|
};
|
||||||
|
ruby-progressbar = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.13.0";
|
||||||
|
};
|
||||||
|
securerandom = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.4.1";
|
||||||
|
};
|
||||||
|
smart_properties = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0jrqssk9qhwrpq41arm712226vpcr458xv6xaqbk8cp94a0kycpr";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.17.0";
|
||||||
|
};
|
||||||
|
tzinfo = {
|
||||||
|
dependencies = ["concurrent-ruby"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "16w2g84dzaf3z13gxyzlzbf748kylk5bdgg3n1ipvkvvqy685bwd";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.0.6";
|
||||||
|
};
|
||||||
|
unicode-display_width = {
|
||||||
|
dependencies = ["unicode-emoji"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1has87asspm6m9wgqas8ghhhwyf2i1yqrqgrkv47xw7jq3qjmbwc";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "3.1.4";
|
||||||
|
};
|
||||||
|
unicode-emoji = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "0ajk6rngypm3chvl6r0vwv36q1931fjqaqhjjya81rakygvlwb1c";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "4.0.4";
|
||||||
|
};
|
||||||
|
uri = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "04bhfvc25b07jaiaf62yrach7khhr5jlr5bx6nygg8pf11329wp9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.0.3";
|
||||||
|
};
|
||||||
|
}
|
34
packages/markdown-toc/default.nix
Normal file
34
packages/markdown-toc/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildNpmPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
buildNpmPackage rec {
|
||||||
|
pname = "markdown-toc";
|
||||||
|
version = "1.2.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jonschlinkert";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-CgyAxXcLrdk609qoXjyUgpA+NIlWrkBsE7lf5YnPagQ=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Add the package-lock.json.
|
||||||
|
postPatch =
|
||||||
|
# sh
|
||||||
|
''
|
||||||
|
ln -s ${./package-lock.json} package-lock.json
|
||||||
|
'';
|
||||||
|
|
||||||
|
npmDepsHash = "sha256-ZuR3zPaOM4CkuzBin9F3lj1qeD1w42g6NwSMQFambI4=";
|
||||||
|
|
||||||
|
npmPackFlags = ["--ignore-scripts"];
|
||||||
|
dontNpmBuild = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Generate a markdown TOC (table of contents) with Remarkable.";
|
||||||
|
homepage = "https://github.com/jonschlinkert/markdown-toc";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
1890
packages/markdown-toc/package-lock.json
generated
Normal file
1890
packages/markdown-toc/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue