nix-software-center/README.md

148 lines
4.5 KiB
Markdown
Raw Normal View History

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`
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
nix-software-center = import (pkgs.fetchFromGitHub {
2022-09-08 06:49:34 +03:00
owner = "vlinkz";
repo = "nix-software-center";
2023-04-03 02:21:42 +03:00
rev = "0.1.2";
sha256 = "xiqF1mP8wFubdsAQ1BmfjzCgOD3YZf7EGWl9i69FTls=";
}) {};
2022-09-08 06:49:34 +03:00
in
```
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";
2023-04-03 02:21:42 +03:00
rev = "0.1.2";
sha256 = "xiqF1mP8wFubdsAQ1BmfjzCgOD3YZf7EGWl9i69FTls=";
}) {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