snowfallorg / nixos-conf-editor

A libadwaita/gtk4 app for editing NixOS configurations
GNU General Public License v3.0
493 stars 8 forks source link
gtk4 libadwaita nixos
NixOS Configuration Editor === [![Built with Nix][builtwithnix badge]][builtwithnix] [![License: GPLv3][GPLv3 badge]][GPLv3] [![Chat on Matrix][matrix badge]][matrix] [![Chat on Discord][discord badge]][discord] A simple NixOS configuration editor application built with [libadwaita](https://gitlab.gnome.org/GNOME/libadwaita), [GTK4](https://www.gtk.org/), and [Relm4](https://relm4.org/). The goal of this project is to provide a simple graphical tool for modifying and managing desktop NixOS configurations.

NixOS Flakes Installation

flake.nix

{
  inputs = {
    # other inputs
    nixos-conf-editor.url = "github:snowfallorg/nixos-conf-editor";
    # rest of flake.nix

configuration.nix

environment.systemPackages = with pkgs; [
    inputs.nixos-conf-editor.packages.${system}.nixos-conf-editor
    # rest of your packages
];

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 = "snowfallorg";
    repo = "nixos-conf-editor";
    rev = "0.1.2";
    sha256 = "sha256-/ktLbmF1pU3vFHeGooDYswJipNE2YINm0WpF9Wd1gw8=";
  }) {};
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:snowfallorg/nixos-conf-editor

'nix-env' Installation

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

Single run on an flakes enabled system:

nix run github:snowfallorg/nixos-conf-editor

Single run on non-flakes enabled system:

nix --extra-experimental-features "nix-command flakes" run github:snowfallorg/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.