2022-09-05 03:53:59 +03:00
< div align = "center" >
2022-09-08 06:49:34 +03:00
< img src = "data/icons/dev.vlinkz.NixSoftwareCenter.svg" / >
2022-09-05 03:53:59 +03:00
Nix Software Center
===
[![Built with Nix][builtwithnix badge]][builtwithnix]
[![License: GPLv3][GPLv3 badge]][GPLv3]
[![Chat on Matrix][matrix badge]][matrix]
2022-09-28 00:03:50 +03:00
[![Chat on Discord][discord badge]][discord]
2022-09-05 03:53:59 +03:00
2022-09-08 06:49:34 +03:00
A graphical app store for Nix built with [libadwaita ](https://gitlab.gnome.org/GNOME/libadwaita ), [GTK4 ](https://www.gtk.org/ ), and [Relm4 ](https://relm4.org/ ). Heavily inspired by [GNOME Software ](https://gitlab.gnome.org/GNOME/gnome-software ).
2022-09-05 03:53:59 +03:00
2022-09-08 18:56:17 +03:00
< img src = "data/screenshots/overview-light.png#gh-light-mode-only" / >
< img src = "data/screenshots/overview-dark.png#gh-dark-mode-only" / >
2022-09-05 03:53:59 +03:00
< / div >
2022-09-08 18:56:17 +03:00
# 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`
2023-02-07 02:47:18 +03:00
## NixOS Flakes Installation
`flake.nix`
```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
];
```
2022-09-08 06:49:34 +03:00
## NixOS Installation
Head of `configuration.nix`
2023-03-07 19:45:22 +03:00
if you are on unstable channel or any version after 22.11:
2022-09-08 06:49:34 +03:00
```nix
{ config, pkgs, lib, ... }:
let
2023-03-07 19:45:22 +03:00
nix-software-center = import (pkgs.fetchFromGitHub {
2022-09-08 06:49:34 +03:00
owner = "vlinkz";
repo = "nix-software-center";
2023-02-07 02:47:18 +03:00
rev = "0.1.1";
sha256 = "0frigabszyfkphfbsniaa1d546zm8a2gx0cqvk2fr2qfa71kd41n";
2023-03-07 19:45:22 +03:00
}) {};
2022-09-08 06:49:34 +03:00
in
2023-03-07 19:45:22 +03:00
```
if you are on 22.11:
```nix
{ 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.1";
sha256 = "0frigabszyfkphfbsniaa1d546zm8a2gx0cqvk2fr2qfa71kd41n";
}) {pkgs = unstable;};
in
2022-09-08 06:49:34 +03:00
```
Packages:
```nix
environment.systemPackages =
with pkgs; [
nix-software-center
# rest of your packages
];
```
2023-02-07 02:47:18 +03:00
For any other method of installation, when rebuilding you might be prompted to authenticate twice in a row by `pkexec`
2022-09-08 06:49:34 +03:00
## 'nix profile' installation
```bash
nix profile install github:vlinkz/nix-software-center
```
## 'nix-env' Installation
```bash
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:
```bash
nix run github:vlinkz/nix-software-center
```
## Single run on non-flakes enabled system:
```bash
nix --extra-experimental-features "nix-command flakes" run github:vlinkz/nix-software-center
```
## Debugging
```bash
RUST_LOG=nix_software_center=trace nix-software-center
```
2022-09-08 18:56:17 +03:00
## Screenshots
< p align = "middle" >
< img src = "data/screenshots/frontpage-light.png#gh-light-mode-only" / >
< img src = "data/screenshots/frontpage-dark.png#gh-dark-mode-only" / >
< / p >
< p align = "middle" >
< img src = "data/screenshots/application-light.png#gh-light-mode-only" / >
< img src = "data/screenshots/application-dark.png#gh-dark-mode-only" / >
< / p >
< p align = "middle" >
< img src = "data/screenshots/searchpage-light.png#gh-light-mode-only" / >
< img src = "data/screenshots/searchpage-dark.png#gh-dark-mode-only" / >
< / p >
2022-09-08 06:49:34 +03:00
## Licenses
Some icons in [data/icons ](data/icons/ ) contains assets from the [NixOS logo ](https://github.com/NixOS/nixos-artwork/tree/master/logo ) and are licensed under a [CC-BY license ](https://creativecommons.org/licenses/by/4.0/ ).
Some icons in [data/icons ](data/icons/ ) contains assets from [GNOME Software ](https://gitlab.gnome.org/GNOME/gnome-software/-/tree/main/data/icons/hicolor/scalable ) and are licensed under [CC0-1.0 ](https://creativecommons.org/publicdomain/zero/1.0/ ).
2022-09-05 03:53:59 +03:00
[builtwithnix badge]: https://img.shields.io/badge/Built%20With-Nix-41439A?style=for-the-badge& logo=nixos& logoColor=white
[builtwithnix]: https://builtwithnix.org/
[GPLv3 badge]: https://img.shields.io/badge/License-GPLv3-blue.svg?style=for-the-badge
[GPLv3]: https://opensource.org/licenses/GPL-3.0
[matrix badge]: https://img.shields.io/badge/matrix-join%20chat-0cbc8c?style=for-the-badge& logo=matrix& logoColor=white
2022-09-28 00:03:50 +03:00
[matrix]: https://matrix.to/#/#snowflakeos:matrix.org
[discord badge]: https://img.shields.io/discord/1021080090676842506?color=7289da& label=Discord& logo=discord& logoColor=ffffff& style=for-the-badge
[discord]: https://discord.gg/6rWNMmdkgT