4
0
Fork
You've already forked module-manager
0
🗂️ | A gtk4/libadwaita application for configuring and managing Xinux modules on a Xinux system [maintainer=@orzklv]
  • Rust 89.3%
  • Meson 8.1%
  • Nix 2.3%
  • Shell 0.3%
2026年05月29日 19:21:43 +05:00
.forgejo/workflows fix: actions 2026年05月29日 19:21:43 +05:00
build-aux
data
packages/xinux-module-manager fix: cargo hash 2026年05月29日 18:02:37 +05:00
po
shells/xinux-module-manager
smm-helper
src
.envrc
.gitignore
Cargo.lock module-manager: 0.0.1 -> 0.0.2 2026年05月29日 17:58:53 +05:00
Cargo.toml module-manager: 0.0.1 -> 0.0.2 2026年05月29日 17:58:53 +05:00
flake.lock
flake.nix
LICENSE
meson.build module-manager: 0.0.1 -> 0.0.2 2026年05月29日 17:58:53 +05:00
meson_options.txt
README.md
rust-toolchain.toml

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...

This application has Linux-only dependencies.

# download dependencies
nix develop
meson setup builddir --prefix=~/.local --reconfigure --buildtype=debug -Dprofile=development
# Build and run
meson install -C builddir
# Avoid pkexec must be root error on devShell
cd ..
 ~/.local/bin/xinux-module-manager
# Or one time build.
nix build --show--trace
# Optional. Generate translation words from /po/POTFILES.in if needed.
cd ./po
xgettext --directory=.. --files-from=POTFILES.in --from-code=UTF-8 -kgettext -o translations.pot

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://git.oss.uzinfocom.uz/xinux/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.