🗂️ | A gtk4/libadwaita application for configuring and managing Xinux modules on a Xinux system [maintainer=@orzklv]
  • Rust 88.6%
  • Meson 8%
  • Nix 3.1%
  • Shell 0.3%
Find a file
Sokhibjon Orzikulov 23369ffb85
Some checks failed
Flake check & build / flake-check (push) Has been cancelled
Flake check & build / nix-build (push) Has been cancelled
chore: use latest version of xinuxlib
2026-02-10 03:44:36 +05:00
.github/workflows chore: added direnv and yml file 2025-09-11 15:48:30 +05:00
build-aux chore: ported snow 2025-02-18 10:14:02 +05:00
data fix: missing app icon on dock 2025-11-19 17:37:29 +05:00
packages/xinux-module-manager chore: make package and shell folder and use mkFlake 2025-09-15 18:45:15 +05:00
po chore: add gettext feature 2025-10-22 17:05:43 +05:00
shells/xinux-module-manager chore: add gettext feature 2025-10-22 17:05:43 +05:00
smm-helper chore: ported snow 2025-02-18 10:14:02 +05:00
src fix: wrong manifest name 2025-11-19 19:36:00 +05:00
.envrc chore: added .envrc 2025-09-11 18:31:59 +05:00
.gitignore chore: remove .mo files 2025-10-22 15:13:34 +05:00
Cargo.lock chore: add gettext feature 2025-10-22 17:05:43 +05:00
Cargo.toml chore: add gettext feature 2025-10-22 17:05:43 +05:00
default.nix chore: ported snow 2025-02-18 10:14:02 +05:00
flake.lock chore: use latest version of xinuxlib 2026-02-10 03:44:36 +05:00
flake.nix feat: add hydraJobs 2025-10-22 14:55:27 +05:00
LICENSE chore: adopt upstream license + versionign 2025-05-22 02:43:23 +05:00
meson.build chore: ported snow 2025-02-18 10:14:02 +05:00
meson_options.txt chore: ported snow 2025-02-18 10:14:02 +05:00
README.md chore: add telegram 2026-02-06 15:26:29 +05:00
rust-toolchain.toml chore: add gettext feature 2025-10-22 17:05:43 +05:00

Xinux Module Manager

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

A simple Xinux module manager 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 Flakes Installation

Copy ALL .yml files from xinux-org/modules into /etc/xinux-modules

├── /etc/xinux-modules
│     ├── efiboot/module.yml
│     └── xinux/module.yml
|     # so on...

flake.nix

{
  inputs = {
    # other inputs
    xinux-module-manager = {
      url = "github:xinux-org/module-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nix-data = {
      url = "github:xinux-org/nix-data";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs = {
    self,
    nixpkgs,
    flake-utils,
    ...
  } @ inputs:
    flake-utils.lib.eachDefaultSystem (system: let
      pkgs = nixpkgs.legacyPackages.${system};
    in {
      # Nix script formatter
    })
    // {
      # homeModules = import ./modules;

      systems.modules.nixos = with inputs; [
        nix-data.nixosModules.nix-data
        xinux-modules.nixosModules.efiboot
        xinux-modules.nixosModules.gnome
        xinux-modules.nixosModules.kernel
        xinux-modules.nixosModules.networking
        xinux-modules.nixosModules.packagemanagers
        xinux-modules.nixosModules.pipewire
        xinux-modules.nixosModules.printing
        xinux-modules.nixosModules.xinux
        xinux-modules.nixosModules.metadata
      ];
    };
}
    # rest of flake.nix

configuration.nix

environment.systemPackages = with pkgs; [
    inputs.xinux-module-manager.packages.${system}.xinux-module-manager
    # rest of your packages
];

programs.nix-data = {
    enable = true;
    systemconfig = "/home/bahrom/workplace/bahrom04/nix-config/hosts/matax/configuration.nix";
    flake = "/home/bahrom/workplace/bahrom04/nix-config/flake.nix";
    flakearg = "matax";
};

NixOS Installation

Head of configuration.nix

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

{ config, pkgs, lib, ... }:
let
  xinux-module-manager = import (pkgs.fetchFromGitHub {
    owner = "xinux-org";
    repo = "module-manager";
    sha256 = "sha256-/10428f0b93fd9c77284b0cd9b193a924c10bb7a4";
  }) {};
in

Packages:

environment.systemPackages =
with pkgs; [
  xinux-module-manager
  # rest of your packages
];

You should be owner for your flake.nix or files

sudo git config --global --add safe.directory /path/your/config

or

# /home/YOUR_USER/.gitconfig

[user]
	email = email@gmail.com
	name = user
[filter "lfs"]
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
[safe]
	directory = *
	directory = /home/letrec/Desktop/Xinux/module-manager
	directory = /home/letrec/nix-conf/flake.nix

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:xinux-org/module-manager

'nix-env' Installation

git clone https://github.com/xinux-org/module-manager
nix-env -f xinux-module-manager -i xinux-module-manager

Single run on an flakes enabled system:

nix run github:xinux-org/module-manager

Single run on non-flakes enabled system:

nix --extra-experimental-features "nix-command flakes" run github:xinux-org/module-manager

Debugging

RUST_LOG=nixos_conf_editor=trace xinux-module-manager

Screenshots

Licenses

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