🛍️ | A simple gtk4/libadwaita software center to easily install and manage nix packages [maintainer=@bahrom04]
  • Rust 97.2%
  • Meson 1.6%
  • Nix 0.8%
  • Just 0.3%
Find a file
bahrom04 b972ef4c52
All checks were successful
Build CI / flake-check (push) Successful in 2m3s
fix: typo on games -> game
2026-06-07 13:33:35 +05:00
.forgejo/workflows ci: set forgejo actions latest 4 verison 2026-05-02 02:43:45 +05:00
.zed chore: exlude rust-analyzer files 2026-05-23 17:56:59 +05:00
build-aux chore: initial port 2025-02-18 10:55:57 +05:00
data refactor(icons): changed org.xinux -> uz.xinux 2026-06-07 00:21:04 +05:00
nsc-helper chore: setting up meson build 2026-06-03 23:21:41 +05:00
packages fix: proper appstream path replasement link 2026-06-04 15:01:06 +05:00
po chore: update translation 2025-12-23 14:03:03 +05:00
shells/nix-software-center chore: enable justfile 2026-06-03 23:37:21 +05:00
src fix: typo on games -> game 2026-06-07 13:33:35 +05:00
.envrc chore: added .envrc and removed in .gitignore 2025-09-11 19:17:57 +05:00
.gitignore chore: package name changed (#4) 2025-09-19 15:15:37 +05:00
Cargo.lock chore: setting up meson build 2026-06-03 23:21:41 +05:00
Cargo.toml chore: setting up meson build 2026-06-03 23:21:41 +05:00
flake.lock chore: setting up meson build 2026-06-03 23:21:41 +05:00
flake.nix chore: setting up meson build 2026-06-03 23:21:41 +05:00
justfile chore(just): remove unused variable 2026-06-03 23:37:42 +05:00
LICENSE chore: adopt upstream license 2025-05-22 02:38:03 +05:00
meson.build refactor(icons): changed org.xinux -> uz.xinux 2026-06-07 00:21:04 +05:00
meson_options.txt chore: initial port 2025-02-18 10:55:57 +05:00
README.md refactor(icons): changed org.xinux -> uz.xinux 2026-06-07 00:21:04 +05:00
rust-toolchain.toml wip: updating deps (#11) 2026-01-20 21:18:04 +05:00

Nix Software Center

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

A graphical app store for Nix built with libadwaita, GTK4, and Relm4. Heavily inspired by GNOME Software.

Features

  • Install packages to configuration.nix
    • Flakes support can be enabled in the preferences menu
  • Install packages with nix profile or nix-env
  • Show updates for all installed packages
  • Search for packages
  • Launch applications without installing via nix-shell and nix run

NixOS Flakes Installation

flake.nix

{
  inputs = {
    # other inputs
    nix-software-center.url = "github:xinux-org/software-center";
# rest of flake.nix

configuration.nix

environment.systemPackages = with pkgs; [
    inputs.nix-software-center.packages.${system}.default
    # 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
  nix-software-center = import (pkgs.fetchFromGitHub {
    owner = "xinux-org";
    repo = "software-center";
    rev = "0.1.3";
    sha256 = ""; # add shaa
  }) {};
in

...

environment.systemPackages =
with pkgs; [
  nix-software-center
  # rest of your packages
];

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

Single run on an flakes enabled system:

nix run github:xinux-org/software-center

Build & run

This application has Linux-only dependencies.

# download dependencies
nix develop

just install

cd ..
./settings/builddir/install/bin/settings

# or with nix when ready for release
nix build . --show-trace
./settings/result/bin/settings

# app run
just run

# 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

Screenshots

Licenses

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

Some icons in data/icons contains assets from GNOME Software and are licensed under CC0-1.0.

Translation

To create a poedit file for translation run this command into the file where you want to save translations: xgettext --directory=.. --files-from=POTFILES.in --from-code=UTF-8 -kgettext -o translations.pot