Compare commits

...

14 commits

Author SHA1 Message Date
f45d04ab60
feat: extras.lang.ruby 2025-03-10 19:09:34 -07:00
95d6b47659
feat: extras.lang.python 2025-03-10 18:46:39 -07:00
46126fedea
feat: extras.lang.php 2025-03-10 18:46:38 -07:00
ffe6f03f22
feat: extras.lang.nushell 2025-03-10 18:46:38 -07:00
55dc68c2ef
feat: extras.lang.markdown
Including packaging markdown-toc!!!!!
2025-03-10 18:46:38 -07:00
7934bca6db
feat: extras.lang.json 2025-03-09 20:10:19 -07:00
387786bc07
feat: extras.lang.helm 2025-03-09 20:08:58 -07:00
142f765dfe
feat: extras.lang.go 2025-03-09 19:33:36 -07:00
db0ee73a05
fix: smod snippet 2025-03-08 17:29:34 -08:00
46b2b2d7c4
feat: extras.lang.git 2025-03-08 15:40:33 -08:00
b4707c10cf
feat: extras.lang.docker 2025-03-08 15:34:40 -08:00
be0d9e3b66
style: Formatting 2025-03-08 15:17:29 -08:00
5a44773a3d
feat: Stylelint 2025-03-08 15:16:35 -08:00
f9c2b86c6d
feat: extras.formatting.prettier 2025-03-08 15:14:00 -08:00
10 changed files with 2522 additions and 18 deletions

View file

@ -102,17 +102,40 @@
# this includes LSPs
lspsAndRuntimeDeps = with pkgs; {
general = [
universal-ctags
curl
lazygit
ripgrep
fd
stdenv.cc.cc
lua-language-server
nil
stylua
(callPackage ./packages/erb-lint {})
(callPackage ./packages/markdown-toc {})
alejandra
biome
curl
docker-compose-language-service
dockerfile-language-server-nodejs
fd
gofumpt
gopls
gotools
hadolint
helm-ls
lazygit
lua-language-server
markdownlint-cli2
marksman
nil
nodePackages.prettier
nushell
php84Packages.php-codesniffer
php84Packages.php-cs-fixer
phpactor
pyright
ripgrep
rubocop
ruby-lsp
rubyPackages.erb-formatter
ruff
stdenv.cc.cc
stylelint
stylua
universal-ctags
vscode-langservers-extracted
];
};
@ -223,6 +246,27 @@
# Refactoring
refactoring-nvim
# Lang
# Go
nvim-dap-go
neotest-golang
# Helm
vim-helm
# JSON
SchemaStore-nvim
# Markdown
markdown-preview-nvim
render-markdown-nvim
# Python
neotest-python
# Ruby
neotest-rspec
# Custom
rose-pine
diffview-nvim

View file

@ -51,8 +51,19 @@ require('nixCatsUtils.lazyCat').setup(nixCats.pawsible { 'allPlugins', 'start',
{ 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' },
-- These need to be after extras to prevent extras from overwriting them.

View file

@ -5,7 +5,10 @@ return {
---@class ConformOpts
opts = {
formatters_by_ft = {
css = { 'stylelint' },
liquid = { 'prettier' },
nix = { 'alejandra' },
scss = { 'stylelint' },
},
},
},

View file

@ -115,12 +115,11 @@ return {
config,<>
...
}:
let<>
let
cfg = config.marleyos.<>.<>;
in
{
options.marleyos.<>.<>.enable = mkEnableOption "<>";
options.marleyos.<>.<>.enable = lib.mkEnableOption "<>";
config = lib.mkIf cfg.enable {
<>
@ -129,12 +128,11 @@ return {
]],
{
i(1), -- extra args
i(2, { '', ' inherit (lib.marleyos) enabled;' }),
i(3), -- group
i(4), -- mod
rep(3), -- group
rep(4), -- mod
rep(4), -- mod
i(2), -- group
i(3), -- mod
rep(2), -- group
rep(3), -- mod
rep(3), -- mod
i(0), -- end
}
)

View file

@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'erb_lint'

View 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

View 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 = ./.;
}

View 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";
};
}

View 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

File diff suppressed because it is too large Load diff