NixOS configuration editors: Difference between revisions

From NixOS Wiki
imported>Milahu
nixos-conf-editor: add link to nix-software-center
imported>Milahu
update GitHub stars
Line 31: Line 31:
* https://discourse.nixos.org/t/nix-gui-use-nixos-without-coding/15409
* https://discourse.nixos.org/t/nix-gui-use-nixos-without-coding/15409
* python + qt5 desktop program
* python + qt5 desktop program
* 520+ GitHub stars
* 580+ GitHub stars


=== nixos-manager by pmiddend ===
=== nixos-manager by pmiddend ===
Line 38: Line 38:
* https://discourse.nixos.org/t/nixos-manager-manage-your-nixos-configuration-graphically/6685
* https://discourse.nixos.org/t/nixos-manager-manage-your-nixos-configuration-graphically/6685
* haskell + gtk desktop program
* haskell + gtk desktop program
* 150+ GitHub stars
* 160+ GitHub stars
* last commit: 2020
* last commit: 2020


Line 47: Line 47:
* https://www.reddit.com/r/NixOS/comments/w1pwmd/nixos_configuration_editor_a_gtk4libadwaita_app/
* https://www.reddit.com/r/NixOS/comments/w1pwmd/nixos_configuration_editor_a_gtk4libadwaita_app/
* rust + gtk4 desktop program
* rust + gtk4 desktop program
* 50+ GitHub stars
* 210+ GitHub stars
* backend tool: https://github.com/vlinkz/nix-editor
* backend tool: https://github.com/vlinkz/nix-editor - 50+ GitHub stars
* package manager: https://github.com/vlinkz/nix-software-center
* package manager: https://github.com/vlinkz/nix-software-center - 250+ GitHub stars


=== nixui by matejc ===
=== nixui by matejc ===
Line 63: Line 63:
* https://www.reddit.com/r/NixOS/comments/vfywyv/nix_gui_application_to_manage_nixos_build_with/
* https://www.reddit.com/r/NixOS/comments/vfywyv/nix_gui_application_to_manage_nixos_build_with/
* svelte + tauri desktop program
* svelte + tauri desktop program
* 15+ GitHub stars
* 20+ GitHub stars


== Web-based editors ==
== Web-based editors ==

Revision as of 12:27, 20 May 2023

Creating graphical editors for NixOS configurations is hard because of the amount and complexity of options and the resulting possibilities.

Text editors

To improve the editing experience of configuration.nix, it is recommend to use a text editor with syntax highlighting and language server (autocompletion, formatting, refactoring).

See also: Editor Modes for Nix Files

Editing as normal user

The configuration files in /etc/nixos/ are owned by root, so for every "save" operation, the editor will ask for the sudo password. To avoid this, we can move the config files to a user's home folder:

mkdir ~/etc
sudo mv /etc/nixos ~/etc/
sudo chown -R $(id -un):users ~/etc/nixos
sudo ln -s ~/etc/nixos /etc/

Now you can run codium /etc/nixos to edit the config with VSCodium, and sudo nixos-rebuild switch to build the config.

It's also a good idea to track the config files with git, and to make backups.

Graphical editors

It is also possible to use a graphical config manager, which can't express all features of NixOS, but is simple to use.

nix-gui by lapp0

nixos-manager by pmiddend

nixos-conf-editor by vlinkz

nixui by matejc

Nixos-Gui by Celestialme

Web-based editors

mynixos.com

https://mynixos.com/

"create and share software configurations using the NixOS ecosystem"

See also