Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add section NixOS Configuration Editors #132

Merged
merged 12 commits into from
Sep 26, 2022

Conversation

milahu
Copy link
Contributor

@milahu milahu commented Sep 14, 2022

this is an import of my nixos wiki article NixOS configuration editors

why?

im working on a config editor with webinterface
see nixos-config-webui

the main problem with all these config editors is:
we have no incremental evaluator for nix

so you cannot really build a hybrid editor
which is both pretty and powerful

thats also why we still have no proper intellisense for nix files
see also nix-community/rnix-lsp#41

we have no incremental evaluator

so currently im working on that in my nix-eval-js

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Member

@cyntheticfox cyntheticfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still a few to look at.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@milahu
Copy link
Contributor Author

milahu commented Sep 26, 2022

See also Command-Line Tools

this is only

  • nix-editor - Modify Nix files on the command line.

README.md Outdated Show resolved Hide resolved
README.md Outdated

### Webinterface

* [mynixos.com](https://mynixos.com/) - Create and share software configurations using the NixOS ecosystem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried the tool and it looks like it allows you to:

  • Create Nix flakes
  • Manage flake inputs
  • Create outputs of the following types:
    • Development shell
    • Home Manager config
    • Home Manager module
    • NixOS config
    • NixOS module
    • Package using nixos-generate to create an image from one of the configurations
  • Search for packages from flakes in the flake registry and add them to one of the devShells, configurations or modules
  • Search for NixOS options from flakes in the flake registry and add them to one of the configurations or modules
  • Commit the current state to create a new version in a rudimentary version control system.
  • Download the flake as a tarball

It does not appear to be possible to modify the flake externally and then upload it back to the editor so it pretty much locks you to the on-line editor if you do not want to manually sync your changes.

So I would change the description to something like “Create and manage Nix flakes (including NixOS and home-manager configurations and modules) using an on-line editor. It is not possible to edit the data externally and upload them to the app.”

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yepp, its just a config generator, not a config editor

... because parsing arbitrary nix expressions is hard.
probably the internal storage format is not nix, but something static like json.
thats what i mean with "creating graphical nix editors is hard"

README.md Outdated Show resolved Hide resolved
Copy link
Member

@cyntheticfox cyntheticfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kinda wonder if we should have a separate section for "NixOS Configuration Editors" now, given how few are currently maintained.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
DEPRECATED.md Outdated Show resolved Hide resolved
DEPRECATED.md Outdated Show resolved Hide resolved
milahu and others added 2 commits September 26, 2022 20:52
Co-authored-by: David Houston <houstdav000@gmail.com>
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
Copy link
Member

@cyntheticfox cyntheticfox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say it looks good enough now.

@cyntheticfox cyntheticfox merged commit e0cc3d2 into nix-community:main Sep 26, 2022
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.

None yet

3 participants