NixOS configuration editors: Difference between revisions
imported>SuperSandro2000 m improve wording |
|||
(6 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
Creating graphical editors for NixOS configurations is hard because of the amount and complexity of options and the resulting possibilities. | 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 <code>configuration.nix</code>, 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 <code>/etc/nixos/</code> 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: | |||
<pre> | |||
mkdir ~/etc | |||
sudo mv /etc/nixos ~/etc/ | |||
sudo chown -R $(id -un):users ~/etc/nixos | |||
sudo ln -s ~/etc/nixos /etc/ | |||
</pre> | |||
Now you can run <code>codium /etc/nixos</code> to edit the config with VSCodium, and <code>sudo nixos-rebuild switch</code> to build the config. | |||
It's also a good idea to track the config files with <code>git</code>, 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 === | === nix-gui by lapp0 === | ||
Line 11: | 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 | ||
* | * 580+ GitHub stars | ||
=== nixos-manager by pmiddend === | === nixos-manager by pmiddend === | ||
Line 18: | 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 | ||
* | * 160+ GitHub stars | ||
* last commit: 2020 | |||
=== nixos-conf-editor by vlinkz === | === nixos-conf-editor by vlinkz === | ||
Line 26: | 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 | ||
* | * 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 - 250+ GitHub stars | |||
=== nixui by matejc === | |||
* https://github.com/matejc/nixui | |||
* https://blog.matejc.com/blogs/myblog/graphical-ui-for-nix | |||
* 40+ GitHub stars | |||
* last commit: 2015 | |||
=== Nixos-Gui by Celestialme === | === Nixos-Gui by Celestialme === | ||
Line 34: | 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 | ||
* | * 20+ GitHub stars | ||
== Web-based editors == | |||
=== mynixos.com === | |||
https://mynixos.com/ | |||
"create and share software configurations using the NixOS ecosystem" | |||
== See also == | == See also == | ||
* [[Configuration Collection]] | |||
* https://www.reddit.com/r/NixOS/comments/cu4dle/should_nix_have_a_gui/ | * https://www.reddit.com/r/NixOS/comments/cu4dle/should_nix_have_a_gui/ | ||
* https://discourse.nixos.org/t/how-would-your-nixos-configuration-tool-look/1380 | |||
* https://www.reddit.com/r/nosyntax - structural editors | * https://www.reddit.com/r/nosyntax - structural editors | ||
* [[ | * [[Nixos-rebuild#Specifying a different configuration location]] | ||
* https://discourse.nixos.org/t/use-vscode-editor-configuration-nix-cant-save/14119 | |||
[[Category:Applications]] |