Home

Awesome

<div align="center"> <img src="data/icons/dev.vlinkz.NixosConfEditor.svg"/>

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.

<img src="data/screenshots/multiwindowlight.png#gh-light-mode-only"/> <img src="data/screenshots/multiwindowdark.png#gh-dark-mode-only"/> </div>

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

<p align="middle"> <img src="data/screenshots/listviewlight.png#gh-light-mode-only"/> <img src="data/screenshots/listviewdark.png#gh-dark-mode-only"/> </p> <p align="middle"> <img src="data/screenshots/optionlight.png#gh-light-mode-only"/> <img src="data/screenshots/optiondark.png#gh-dark-mode-only"/> </p> <p align="middle"> <img src="data/screenshots/searchlight.png#gh-light-mode-only"/> <img src="data/screenshots/searchdark.png#gh-dark-mode-only"/> </p> <p align="middle"> <img src="data/screenshots/rebuildlight.png#gh-light-mode-only"/> <img src="data/screenshots/rebuilddark.png#gh-dark-mode-only"/> </p> <p align="middle"> <img src="data/screenshots/invalidlight.png#gh-light-mode-only"/> <img src="data/screenshots/invaliddark.png#gh-dark-mode-only"/> </p>

Licenses

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