/nixos-conf-editor

A libadwaita/gtk4 app for editing NixOS configurations

Primary LanguageRustGNU General Public License v3.0GPL-3.0

NixOS Configuration Editor

Built with Nix License: GPLv3 Chat on Matrix Chat on Discord

A simple NixOS configuration editor application built with libadwaita, GTK4, and Relm4. The goal of this project is to provide a simple graphical tool for modifying and managing desktop NixOS configurations.

NixOS Installation

Head of configuration.nix

if you are on unstable channel or any version after 22.11:

{ config, pkgs, lib, ... }:
let
  nixos-conf-editor = import (pkgs.fetchFromGitHub {
    owner = "vlinkz";
    repo = "nixos-conf-editor";
    rev = "0.1.1";
    sha256 = "sha256-TeDpfaIRoDg01FIP8JZIS7RsGok/Z24Y3Kf+PuKt6K4=";
  }) {};
in

if you are on 22.11:

{ config, pkgs, lib, ... }:
let
  unstable = import (builtins.fetchTarball {
    url = "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
  }) {config = config.nixpkgs.config;};
  nixos-conf-editor = import (pkgs.fetchFromGitHub {
    owner = "vlinkz";
    repo = "nixos-conf-editor";
    rev = "0.1.1";
    sha256 = "sha256-TeDpfaIRoDg01FIP8JZIS7RsGok/Z24Y3Kf+PuKt6K4=";
  }) {pkgs = unstable;};
in

Packages:

environment.systemPackages =
with pkgs; [
  nixos-conf-editor
  # rest of your packages
];

For any other method of installation, when rebuilding you will be prompted to authenticate twice in a row

'nix profile' installation

nix profile install github:vlinkz/nixos-conf-editor

'nix-env' Installation

git clone https://github.com/vlinkz/nixos-conf-editor
nix-env -f nixos-conf-editor -i nixos-conf-editor 

Single run on an flakes enabled system:

nix run github:vlinkz/nixos-conf-editor

Single run on non-flakes enabled system:

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

Debugging

RUST_LOG=nixos_conf_editor=trace nixos-conf-editor

Screenshots

Licenses

The icons in data/icons contains assets from the NixOS logo and are licensed under a CC-BY license.