- Rust 97.4%
- Meson 1.6%
- Nix 0.9%
|
|
||
|---|---|---|
| .github/workflows | ||
| build-aux | ||
| data | ||
| nsc-helper | ||
| po | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
| rust-toolchain.toml | ||
| shell.nix | ||
Nix Software Center
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 profileornix-env - Show updates for all installed packages
- Search for packages
- Launch applications without installing via
nix-shellandnix 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.2";
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
'nix profile' installation
nix profile install github:xinux-org/software-center
'nix-env' Installation
git clone https://github.com/xinux-org/software-center
nix-env -f nix-software-center -i nix-software-center
Single run on an flakes enabled system:
nix run github:xinux-org/software-center
Single run on non-flakes enabled system:
nix --extra-experimental-features "nix-command flakes" run github:xinux-org/software-center
Building & Debugging
nix build . # root of project
cd .. # use pkexec outside of shell.nix
RUST_LOG=nix_software_center=trace ./software-center/result/bin/nix-software-center
# with inspector
GTK_DEBUG=interactive RUST_LOG=nix_software_center=trace ./software-center/result/bin/nix-software-center
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