NixOS-Conf-Editor: A gtk4/libadwaita configuration editor

nixos-conf-editor is a simple application that allows you to easily modify attributes within your configuration file, as well as search through available options. It was made using libadwaita, gtk4, and relm4, and is powered by nix-editor. If you have any ideas or suggestions, please let me know!

Usage

This tool is extremely new, so there will likely be lots of errors. If you run into an error, please report the issue!

On an flakes enabled system:

nix run github:vlinkz/nixos-conf-editor

On non-flakes enabled system:

nix --extra-experimental-features "nix-command flakes" run github:vlinkz/nixos-conf-editor

To Do’s currently unimplemented

  • Handle <name> and * fields in options
  • Add easy widgets for modifying simple options like booleans and strings
  • Add an icon
  • Package polkit policy file

Background

I remember when I first started using NixOS, as a confused beginner I tried to find a graphical application to manage and edit my configuration. I stumbled upon Nix-GUI, however, I didn’t really like the look, it crashed a fair amount, and I never really figured out how to use it. That said, their idea and all of the hard work they put into their project inspired me to make a similar application that focuses more on simplicity and ease of use.

Screenshots




8 Likes

Thank you for the effort!

I stumbled over the following:

  1. nix run … as above does fail, as the program doesn’t find pandoc, have you missed to add some runtime deps?
  2. I selected my flake 5 minutes ago and clicked “load”, but I still see a spinning circle… Is that expected?
2 Likes

Yeah, probably a missing dep, I’ll fix it when I get back to my computer. As for the other issue, this app made with legacy nix configurations in mind, so flake files won’t work, however if you import a legacy config in your flake, and choose that file here, in the preferences there’s an option to specify your flake so it can rebuild correctly

1 Like

Updated the flake so it should work out of the box now. Turns out that even though pandoc was a build input I had to wrap the program and set the PATH to include that of the pandoc package. Also, I think the infinite spinning circle was an error with where the program was trying to download the options from, should be fixed now too

2 Likes
Hosted by Flying Circus.