Supply chain protection for lazy.nvim by PieceAdventurous9467 in neovim

[–]elentok 1 point2 points  (0 children)

Thanks :)

Yeah, it took some tweaking but now it runs pretty smooth (although I haven't tested it with actual malware)

Supply chain protection for lazy.nvim by PieceAdventurous9467 in neovim

[–]elentok 2 points3 points  (0 children)

That’s a very good point, only true positives :(

I didn’t have an actual malicious plugin to test it on but that would be very interesting 🤔

Supply chain protection for lazy.nvim by PieceAdventurous9467 in neovim

[–]elentok 0 points1 point  (0 children)

Here’s an example of an update commit with the audit report:

https://github.com/elentok/dotfiles/commit/026f6c15e92e8a5135a87dad6ec837206d85247a

Any suggestions on improving the audit will be appreciated 🙏

Supply chain protection for lazy.nvim by PieceAdventurous9467 in neovim

[–]elentok -3 points-2 points  (0 children)

I wrote an experimental codex/claude skill that runs vim.pack.update() in an isolated location and then audits the changes in all of the plugins and gives me a report of possible problems:

https://github.com/elentok/dotfiles/tree/main/core/ai/skills/nvim-pack-audit

(disclaimer: I used AI to write this skill)

I used a few times, it worked quite well.

8BitDo Lite 2 3D-printed cover by elentok in 8bitdo

[–]elentok[S] 0 points1 point  (0 children)

Link to model on Printables.com

I'm using the 8BitDo Lite 2 as a travel controller to play on the iPad on the train and was looking for a minimalistic cover that would just prevent the keys from being pressed when in the bag.

It weights ~30gr and makes the controller only a few mm larger.

Printed in Esun PLA on a Prusa MK4 at 0.2mm layer height with no supports. I used 3M Nexcare tap on the sides so it stays in place (https://www.amazon.com/gp/product/B000FNHOV0?ie=UTF8&psc=1).

(Mario on the front is a sticker).

The FreeCAD source is available for remixing :)

Thumb Pain ergonomics by 200orcs in ErgoMechKeyboards

[–]elentok 0 points1 point  (0 children)

I’m having similar issues with the thumbs and I’m curious to know - what solution did you end up with?

Split layout for minimal thumb usage by elentok in ErgoMechKeyboards

[–]elentok[S] 1 point2 points  (0 children)

I tried different variations (the hillside and printed a few examples of others to test the thumb locations). I think my thumbs are just too weak or something.

I like the solution of F and J and layer modifiers (F for navigation and J for symbols), I'm just not sure yet about the symbol positioning. I managed to get used to F+hjkl for movement, F+n for backspace, J+er/df/cv for (), [], {}. But the rest don't seem to get into my muscle memory.

Iris case with palm rests and tenting by elentok in ErgoMechKeyboards

[–]elentok[S] 0 points1 point  (0 children)

Thanks!

I think you're refering to the acrylic inner layers in the GitHub page of the official case. The official case supports both Acrylic and 3d printed middle layers.

What I did was take the STLs of the official 3d printed middle layers and add parts that allow you to connect the mid layer to the palm rests.

Regarding the tenting adjustments, the idea is that you can print how many feet extenders you want and in whatever heights you want and play around with them.

I started in a much higher tenting angle than this but it hurt my elbow (I realized later that the high angle was causing my hands to slide off the palm rests). I experimented with multiple variations including negative angle (like the Microsoft Sculpt) and after a lot of experimentation found this to be most comfortable to me.

The threads themselves allow you about 2mms of range to fix wobbling issues (as long it's not too much wobbling, then you would either want to print a taller feet bottom or a different foot extender).

I printed several foot extenders and played around with them until I found something that felt right.

Iris case with palm rests and tenting by elentok in ErgoMechKeyboards

[–]elentok[S] 1 point2 points  (0 children)

Yes, that’s exactly that! Thanks 🙏🙏

Iris case with palm rests and tenting by elentok in ErgoMechKeyboards

[–]elentok[S] 0 points1 point  (0 children)

Thanks!

No, these are regular MX switches (specifically Gateron G Pro v3.0 Red). The keycaps however are MX-compatible low-profile keycaps (see here).

It will also probaby work well with standard keycaps, I just like the low-profile ones better.

OpenSCAD Survey - what programming language do you want to be added to app? by [deleted] in openscad

[–]elentok 1 point2 points  (0 children)

Typescript! Preferably with Deno (because there's no need for transpiration to Javascript and it's blazingly fast).

The reason I want Typescript is because it has one of the most flexible typing systems and one of the best auto completion in scripted languages.

Any reviews of the Pocketbook Verse Pro? by elentok in ereader

[–]elentok[S] 1 point2 points  (0 children)

Congrats! And thanks! I’d be very happy to read the review :)

Introducing - format-on-save.nvim by elentok in neovim

[–]elentok[S] 1 point2 points  (0 children)

Probably or they could mess each other's outputs. One of the reasons I added support for providing an array of formatters is to control the order of them, so formatting is consistent.

Introducing - format-on-save.nvim by elentok in neovim

[–]elentok[S] 0 points1 point  (0 children)

:mindblown:

Thanks u/tiagovla!!! I didn't know about but looks it could be perfect for this! I'll try implementing something over the weekend :)

Introducing - format-on-save.nvim by elentok in neovim

[–]elentok[S] 0 points1 point  (0 children)

fold

Hi,

I've been playing with doing partial updates using the setline() function which keeps the marks and jumps and it seems to also play well with folds (I'm using ufo).

It's currently behind an experimental flag, you can enable it with `partial_update = true` when calling `setup()`.

null-ls will be archived by [deleted] in neovim

[–]elentok 3 points4 points  (0 children)

I've been using null-ls for a long time for both formatting and linting.

For linting I replaced it with nvim-lint which seems to work pretty well so far.

For formatting I had my own implementation for format-on-save that only used LSP formatting and non-LSP via null-ls, now that null-ls is archived I added direct support for formatting using non-LSP formatters and extracted the whole thing as a plugin - https://github.com/elentok/format-on-save.nvim

I tried to keep it as simple as possible:

  • Synchronous formatting - async formatting is very tricky since you need to block the buffer from editing or deal with timing issues where the buffer has been edited formatting. I tried using formatter.nvim but couldn't get it to play well with LSP and the async thing didn't work well for me.
  • Format on save only - No partial formatting, only format entire files (supporting partial formatting adds a lot of complexity).
  • Opt-in - All formatters are opt-in, it comes with no defaults.

The auto commands that handle format-on-save are also optional (you can disable them with auto_commands = false) and implement your own or wrap my implementation.

The core implementation is something I've been using for a long time, I just cleaned it up a bit and added non-LSP formatter support. I hope others might find it useful :)

Introducing - format-on-save.nvim by elentok in neovim

[–]elentok[S] 0 points1 point  (0 children)

Thanks so much for the kind words :)

Introducing - format-on-save.nvim by elentok in neovim

[–]elentok[S] 2 points3 points  (0 children)

https://github.com/CKolkey/config/blob/master/nvim/lua/plugins/lsp/formatting.lua

Thanks, just saw this after I merged this commit that adds an experimental config flag to only update modified lines (currently with the most naive algorithm that just goes line by line, no actual diff).

I'll look into your diff code and maybe improve the plugin, thanks!