Skip to content

feat: add a self-contained launcher with flake.nix - #1775

Open
champignoom wants to merge 1 commit into
nvim-neorg:mainfrom
champignoom:nix-gui
Open

feat: add a self-contained launcher with flake.nix#1775
champignoom wants to merge 1 commit into
nvim-neorg:mainfrom
champignoom:nix-gui

Conversation

@champignoom

Copy link
Copy Markdown
Contributor

Add a fully self-contained flake.nix that bundles neorg with xterm, fonts, colorscheme, and basic configurations, so that user is guaranteed to be able to use neorg without debugging the piles of nonsenses.

@benlubas

benlubas commented Mar 7, 2026

Copy link
Copy Markdown
Contributor

Let's use kitty or ghostty instead of xterm for the image integration. I'll take a look at the flake later today or tomorrow when I'm back to my computer

@champignoom

champignoom commented Mar 7, 2026

Copy link
Copy Markdown
Contributor Author

Let's use kitty or ghostty instead of xterm for the image integration. I'll take a look at the flake later today or tomorrow when I'm back to my computer

I still prefer xterm (at least as default), since it minimizes the chance of surprise (nix substituter cache miss, DE compatibility, etc), which is important for quickstart.

But of course, more configs (kitty/texlive/pandoc/...) could be potentially added to flake in general.

@benlubas

benlubas commented Mar 8, 2026

Copy link
Copy Markdown
Contributor

Xterm is fair enough, but I definitely think that we should use the official overlay instead of building everything here too.

https://github.com/nvim-neorg/nixpkgs-neorg-overlay

@champignoom

champignoom commented Mar 9, 2026

Copy link
Copy Markdown
Contributor Author

Nah it's intentionally made self-contained to maximize stability. As you can see, I even pinned nixpkgs to 25.11 since i don't trust its unstable channel, let alone a custom overlay in a repo with bad reputation of stability.

The point is to provide new users with something that just works for sure among all the moving targets, instead of bleeding edge stuff updated automatically that might or might not work. Before neorg (including that overlay) reaches a reasonable level of stability, all updates of this quickstart flake should be done manually and with thorough testing.

@benlubas

Copy link
Copy Markdown
Contributor

You're using a flake with a lock file. There's no way it will break unless you update the flake.

@champignoom

Copy link
Copy Markdown
Contributor Author

Yes, that's my point. My flake.flock is supposed to be updated rarely, and the one from the official overlay is not.

This overlay is updated automatically every 2 hours and, apart from the base plugin and TS parser, provides additional Neorg-related packages.

@benlubas

Copy link
Copy Markdown
Contributor

The flake.lock in this repo will pin the neorg overlay though, the flake.lock in the overlay repo won't matter

@champignoom

Copy link
Copy Markdown
Contributor Author

That makes sense, but it will have to be done in another PR by someone familiar with the (undocumented) official overlay.

Before making this flake of minimum nix dependencies, I tried to use nix's utils like neovimPlugin but can't get rid of some lua dependency errors due to either neorg bug or nix's leaky abstraction. Either way, I feel like it's not worth the suffering, while a flake with minimal abstraction potentially serves as instruction of reproducing a working setup even outside nix.

But if someone manages to make the official overlay work, why not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants