🛍️ | A simple gtk4/libadwaita software center to easily install and manage nix packages [maintainer=@bahrom04]
  • Rust 97%
  • Meson 1.6%
  • Nix 0.9%
  • Just 0.4%
  • CSS 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Diyorbek a9bc51b7d6
All checks were successful
Build CI / flake-check (pull_request) Successful in 32m14s
Build CI / flake-check (push) Successful in 31m17s
chore: update cargo hash
2026-10-07 16:11:25 +05:00
.forgejo chore: add changelog.md 2026-09-24 13:48:55 +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 feat: implement featured apps carousel on explorer page 2026-09-23 20:45:18 +05:00
nsc-helper fix: nsc-helper not found 2026-06-09 12:07:35 +05:00
packages chore: update cargo hash 2026-10-07 16:11:25 +05:00
po fix: uz translation 2026-09-30 13:03:10 +05:00
releases add release notes 2026-08-17 15:41:40 +05:00
shells/nix-software-center feat: install pre-commit hook and enable rustfmt (#58) 2026-08-28 09:09:54 +00:00
src feat: add shortcuts to menu 2026-09-30 11:35:56 +05:00
.envrc chore: added .envrc and removed in .gitignore 2025-09-11 19:17:57 +05:00
.gitignore feat: install pre-commit hook and enable rustfmt (#58) 2026-08-28 09:09:54 +00:00
build.rs feat: implement sidebar within splitview 2026-09-14 17:36:04 +05:00
Cargo.lock chore: 0.4.0 -> 0.5.0 2026-09-30 15:43:25 +05:00
Cargo.toml chore: 0.4.0 -> 0.5.0 2026-09-30 15:43:25 +05:00
CHANGELOG.md chore: 0.4.0 -> 0.5.0 2026-09-30 15:43:25 +05:00
flake.lock feat: install pre-commit hook and enable rustfmt (#58) 2026-08-28 09:09:54 +00:00
flake.nix feat: install pre-commit hook and enable rustfmt (#58) 2026-08-28 09:09:54 +00:00
justfile chore: add cargo clean for justfile 2026-08-26 16:19:15 +05:00
LICENSE chore: adopt upstream license 2025-05-22 02:38:03 +05:00
meson.build chore: 0.4.0 -> 0.5.0 2026-09-30 15:43:25 +05:00
meson_options.txt chore: initial port 2025-02-18 10:55:57 +05:00
README.md doc: update metainfos 2026-08-12 18:33:20 +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

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
  • 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 = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    nix-software-center.url = "git+https://git.oss.uzinfocom.uz/xinux/software-center";
  };

  outputs = inputs@{ self, nixpkgs, nix-software-center }: {
    nixosConfigurations = {
      workstation = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [ ./configuration.nix ];
        specialArgs = { inherit inputs; };
      };
    };
  };
}

configuration.nix

{ inputs, config, lib, pkgs, ... }: # add inputs here
{
...
  environment.systemPackages = with pkgs; [
    inputs.nix-software-center.packages.${stdenv.hostPlatform.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 = fetchFromForgejo {
      domain = "git.oss.uzinfocom.uz";
      owner = "xinux";
      repo = "software-center";
      tag = finalAttrs.version;
      hash = ""; # 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 git+https://git.oss.uzinfocom.uz/xinux/software-center

Build & run

This application has Linux-only dependencies.

# download dependencies
nix develop

just install

just run

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

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