1
0
Fork
You've already forked software-center
0
🛍️ | 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%
bhoehn 086b0631a5 updated flake documentation
Added additional context for flake setup.
Replaced `inputs.nix-software-center.packages.${system}.default` with `inputs.nix-software-center.packages.${stdenv.hostPlatform.system}.default` to resolve deprecation warning `evaluation warning: 'system' has been renamed to/replaced by 'stdenv.hostPlatform.system'`
2026年07月07日 21:06:22 +02: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 feat: remember last window size 2026年06月19日 10:57:15 +05:00
nsc-helper fix: nsc-helper not found 2026年06月09日 12:07:35 +05:00
packages chore: clean up 2026年06月11日 19:33:17 +05:00
po chore: update translation 2025年12月23日 14:03:03 +05:00
shells/nix-software-center chore: clean up 2026年06月11日 19:33:17 +05:00
src fix: use async network checking to prevent tokio from panicking 2026年06月29日 18:11:56 +05:00
.envrc chore: added .envrc and removed in .gitignore 2025年09月11日 19:17:57 +05:00
.gitignore ignore all result 2026年06月14日 19:54:13 +05:00
Cargo.lock feat: save last choice of installation type 2026年06月10日 14:25:58 +05:00
Cargo.toml feat: save last choice of installation type 2026年06月10日 14:25:58 +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 updated flake documentation 2026年07月07日 21:06:22 +02: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 = {
 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
 nix-software-center.url = "github:xinux-org/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 = 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