An open API service indexing awesome lists of open source software.

https://github.com/aspizu/nixite

installs your linux software
https://github.com/aspizu/nixite

linux package-management

Last synced: 3 months ago
JSON representation

installs your linux software

Awesome Lists containing this project

README

          

# Nixite

> **★ Star the repo to support the project!**

[![image](https://img.shields.io/github/license/aspizu/nixite)](https://github.com/aspizu/tshu/blob/main/LICENSE)
[![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?logo=discord&logoColor=white)](https://discord.gg/MMfMkRuhAf)

[**Open Nixite**](https://aspizu.github.io/nixite/)

Nixite generates a bash script to unattendedly install all your Linux software.
Nixite automatically configures your system and installs software using the best method available.
Nixite tries to suppress confirmation prompts.

Inspired by [**Ninite**](https://Ninite.com/), [**PackagePicker.co**](https://PackagePicker.co/)

### Nixite supports the following Linux distributions:

- Debian Stable
- Ubuntu Desktop
- Fedora Workstation
- Arch Linux

## Why not just use \?

On Linux distributions such as Debian or Ubuntu, installing third-party (often proprietary) software isn’t always straightforward. It typically requires several manual steps, such as adding official repositories to your `sources.list`, importing GPG keys, and configuring updates. In other words, you can’t always just run `sudo apt install google-chrome`.

In addition, many development toolchains deliberately avoid system package managers and instead provide their own installation methods. For example, Rust is best installed using `rustup`, which not only manages the compiler itself but also keeps toolchains and dependencies up to date. These custom installers are generally more reliable for keeping third-party software current than relying on distribution-provided packages.

## Contributing

To add a new package, create a file `app_name.toml` inside `registry/`

You can add common instructions for all distros, or separate instructions for each distro.

```toml
install_system = "package_name" # uses apt on Ubuntu, pacman on Arch Linux
```

```toml
[ubuntu]
install_system = "package_name_on_apt"

[arch]
install_system = "package_name_on_pacman"
```

Use `search_pkgs.py` to find package names on various Linux distro repositories.

Install Papirus icon theme and run:

```shell
python registry.py && prettier -uwu src/*.json
```

`flatpak = true` to install using flatpak, `install_system` should be the flathub package name.
`snap = "classic"` or `snap = true` to install using Snap. `install_system` should be the snap name.

`install_command = "bash command here..."` for custom installers.
When using this, add a `skip_if_exists = "filepath"` to prevent the installer from running again.

Add the package entry `` in `src/pages/index.astro`