/nix-software-center

A simple gtk4/libadwaita software center to easily install and manage nix packages

Primary LanguageRustGNU General Public License v3.0GPL-3.0

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:vlinkz/nix-software-center";
# rest of flake.nix

configuration.nix

environment.systemPackages = with pkgs; [
    inputs.nix-software-center.packages.${system}.nix-software-center
    # 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 = "vlinkz";
    repo = "nix-software-center";
    rev = "0.1.2";
    sha256 = "xiqF1mP8wFubdsAQ1BmfjzCgOD3YZf7EGWl9i69FTls=";
  }) {};
in

if you are on 22.11:

{ config, pkgs, lib, ... }:
let
  unstable = import (builtins.fetchTarball {
    url = "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
  }) {config = config.nixpkgs.config;};
  nix-software-center = import (pkgs.fetchFromGitHub {
    owner = "vlinkz";
    repo = "nix-software-center";
    rev = "0.1.2";
    sha256 = "xiqF1mP8wFubdsAQ1BmfjzCgOD3YZf7EGWl9i69FTls=";
  }) {pkgs = unstable;};
in

Packages:

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:vlinkz/nix-software-center

'nix-env' Installation

git clone https://github.com/vlinkz/nix-software-center
nix-env -f nix-software-center -i nix-software-center

Single run on an flakes enabled system:

nix run github:vlinkz/nix-software-center

Single run on non-flakes enabled system:

nix --extra-experimental-features "nix-command flakes" run github:vlinkz/nix-software-center

Debugging

RUST_LOG=nix_software_center=trace 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.