Skip to content

Add flake.nix#9

Open
Hezaki wants to merge 42 commits intoSinomor:mainfrom
Hezaki:main
Open

Add flake.nix#9
Hezaki wants to merge 42 commits intoSinomor:mainfrom
Hezaki:main

Conversation

@Hezaki
Copy link

@Hezaki Hezaki commented Oct 24, 2025

Make furry happy

@Hezaki Hezaki closed this Oct 24, 2025
@Hezaki Hezaki reopened this Oct 24, 2025
@Un1nstallexe
Copy link

Un1nstallexe commented Dec 26, 2025

Hey, nice work with the flake! I wanted to try this shell on my system, didn't test it yet though. I'll make some notes.

  • I see there is no dev shell, would be nice to have it in case someone wants to change something in the code.
  • The flake could also be built on flake-parts, this way multiple target platforms can be chosen, i.e. not only x86, but also aarch64 (so that 1-2 nixos users using, say, Asahi installed on their Apple Silicon MacBook could utilize the flake as well).
  • I could also try to add the program configuration options so that this shell could be set up with
 programs.delta-shell = {...};

The last part is to discuss, because there are many ways to implement that AFAIK, could be even multiple options at the same time:

  • Having a typed map that would duplicate all the Json config props
    pros: it would have pretty clear format and any misconfigurations will be visible on rebuild stage
    cons: it must be updated as any changes are made to the config format
  • Having an attribute set of type any or a file / a string that contains a JSON
    pros: easier to implement, no need for updates in case of changes in config structure
    cons: won't be typed, so all the bad configs will be applied and the problem only occurs when you've already rebuilt.

I prefer having a JSON (I like having the native configs for all the programs I use and just load it with nix), I didn't check if there's a schema for the JSON yet, but in case there is it's even better, because all the config types would be declared in one place, and I've seen you can utilize that schema for type checks in nix in some way, though, never tried that.

@Un1nstallexe
Copy link

I prefer having a JSON (I like having the native configs for all the programs I use and just load it with nix), I didn't check if there's a schema for the JSON yet, but in case there is it's even better, because all the config types would be declared in one place, and I've seen you can utilize that schema for type checks in nix in some way, though, never tried that.

I think the best idea is to only add the dev shell and multiplatform support in this PR, and maybe open an issue for the JSON schema, I didn't find one. I think the options (in case you agree that they are best implemented with a ready schema) can be added in another PR.

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

Comments