Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 22 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@

[Nix Expression Language](https://wiki.nixos.org/wiki/Nix_Expression_Language) is a pure, lazy, functional language. Purity means that operations in the language don't have side-effects (for instance, there is no variable assignment). The language is not a full-featured, general purpose language. Its main job is to describe packages, compositions of packages, and the variability within packages.

[Nixpkgs](https://wiki.nixos.org/wiki/Nixpkgs) is the largest repository of [Nix](https://wiki.nixos.org/wiki/Nix) packages(over 80,000 packages) and [NixOS](https://wiki.nixos.org/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://wiki.nixos.org/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://wiki.nixos.org/wiki/Alternative_Package_Sets).
[Nixpkgs](https://wiki.nixos.org/wiki/Nixpkgs) is the largest repository of [Nix](https://wiki.nixos.org/wiki/Nix) packages (over 80,000 packages) and [NixOS](https://wiki.nixos.org/wiki/NixOS) modules. The repository is [hosted on GitHub](https://github.com/nixos/nixpkgs) and maintained by the community, with official backing from the [NixOS Foundation](https://nixos.org/). Additionally, checkout [Language-specific package helpers](https://wiki.nixos.org/wiki/Language-specific_package_helpers) and [Alternative Package Sets](https://wiki.nixos.org/wiki/Alternative_Package_Sets).

[NixOS Packages Search](https://search.nixos.org/packages) is a tool for searching through NixOS packages.

Expand All @@ -119,7 +119,7 @@
NixOS Packages Search
</p>

[Nix Software Center](https://github.com/vlinkz/nix-software-center) is a simple gtk4/libadwaita software center to easily install and manage nix packages.
[Nix Software Center](https://github.com/vlinkz/nix-software-center) is a simple gtk4/libadwaita software center to easily install and manage Nix packages.

<p align="center">
<img src="https://user-images.githubusercontent.com/45159366/211189056-cd719480-ce81-466f-9c8d-562b7296db01.png">
Expand All @@ -130,7 +130,7 @@
[FlakeHub](https://flakehub.com/new) is a platform developed by [Determinate Systems](https://determinate.systems/) for discovering and publishing [Nix flakes](https://zero-to-nix.com/concepts/flakes). [FlakeHub](https://determinate.systems/posts/introducing-flakehub) provides the Nix ecosystem with a variety of new capabilities:

* The ability to explore the Nix flake landscape.
* Semantic versioning for flakes, including version modifiers like **~ (flexible patch)** and **= (exact match)**.
* Semantic versioning for flakes, including version modifiers like `~` (flexible patch) and `=` (exact match).
* Automated flake publishing with GitHub Actions.

<p align="center">
Expand Down Expand Up @@ -280,7 +280,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Nixos-shell](https://github.com/Mic92/nixos-shell) is a simple headless VM configuration using Nix (similar to Vagrant).

- [Pushnix](https://github.com/arnarg/pushnix) is a simple cli utility that pushes NixOS configuration and triggers a rebuild using ssh.
- [Pushnix](https://github.com/arnarg/pushnix) is a simple CLI utility that pushes NixOS configuration and triggers a rebuild using ssh.

- [Musnix](https://github.com/musnix/musnix) is a real-time audio modules for NixOS.

Expand All @@ -294,17 +294,17 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Impermanence](https://github.com/nix-community/impermanence) is a set of modules to help you handle persistent state on systems with ephemeral root storage.

- [NixOS Vagrant Plugin](https://github.com/nix-community/vagrant-nixos-plugin) is a plugin that adds nix provisioning for [NixOS](https://nixos.org/) guests to [Vagrant](https://www.vagrantup.com/).
- [NixOS Vagrant Plugin](https://github.com/nix-community/vagrant-nixos-plugin) is a plugin that adds Nix provisioning for [NixOS](https://nixos.org/) guests to [Vagrant](https://www.vagrantup.com/).

- [Fenix](https://github.com/nix-community/fenix) is a Rust toolchains and Rust analyzer nightly for nix.
- [Fenix](https://github.com/nix-community/fenix) is a Rust toolchains and Rust analyzer nightly for Nix.

- [NixOS-WSL](https://github.com/nix-community/NixOS-WSL) is a minimal root filesystem for running NixOS on WSL. It can be used with DistroLauncher as ```install.tar.gz``` or as input to ```wsl --import --version 2```.
- [NixOS-WSL](https://github.com/nix-community/NixOS-WSL) is a minimal root filesystem for running NixOS on WSL. It can be used with DistroLauncher as `install.tar.gz` or as input to `wsl --import --version 2`.

- [Nix-bitcoin](https://github.com/nixbitcoin/nix-bitcoin/) is a set of NixOS modules to install a bitcoin node with emphasis on security.

- [Nixpkgs-review](https://github.com/Mic92/nixpkgs-review) is a review nixpkgs pull requests.

- [Nix-update](https://github.com/Mic92/nix-update) is a swiss army knife for updating nix packages.
- [Nix-update](https://github.com/Mic92/nix-update) is a swiss army knife for updating Nix packages.

- [Nox](https://github.com/madjar/nox) is a set of tools to make Nix easier to use.

Expand Down Expand Up @@ -338,7 +338,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Cachix](https://cachix.org/) is a hosted binary cache service; free for open-source projects.

- [Devshell](https://github.com/numtide/devshell) is a `mkShell` with extra bits and a toml config option to be able to onboard non-nix users.
- [Devshell](https://github.com/numtide/devshell) is a `mkShell` with extra bits and a toml config option to be able to onboard non-Nix users.

- [Flake-utils](https://github.com/numtide/flake-utils) - Pure Nix flake utility functions to help with writing flakes.

Expand All @@ -364,11 +364,11 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Disko](https://github.com/nix-community/disko) is a declarative disk partitioning tool using Nix.

- [NixOS on WSL](https://github.com/nix-community/NixOS-WSL) is a minimal root filesystem for running NixOS on WSL. It can be used with DistroLauncher as ```install.tar.gz``` or as input to ```wsl --import --version 2```.
- [NixOS on WSL](https://github.com/nix-community/NixOS-WSL) is a minimal root filesystem for running NixOS on WSL. It can be used with DistroLauncher as `install.tar.gz` or as input to `wsl --import --version 2`.

- [Appvm](https://github.com/jollheef/appvm) is a simple application VMs (hypervisor-based sandbox) based on Nix package manager. It uses one read-only /nix directory for all appvms. So creating a new appvm (but not first) is just about one minute.
- [Appvm](https://github.com/jollheef/appvm) is a simple application VMs (hypervisor-based sandbox) based on Nix package manager. It uses one read-only `/nix` directory for all appvms. So creating a new appvm (but not first) is just about one minute.

- [Deadnix](https://github.com/astro/deadnix) is a tool that scan ```.nix``` files for dead code (unused variable bindings).
- [Deadnix](https://github.com/astro/deadnix) is a tool that scan `.nix` files for dead code (unused variable bindings).

- [nix2container](https://github.com/nlewo/nix2container) isa tool that provides an efficient container development workflow with images built by Nix: it doesn't write tarballs to the Nix store and allows to skip already pushed layers (without having to rebuild them).

Expand All @@ -393,8 +393,8 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

### Search for Packages on NixOS Desktop

- [nix-index](https://github.com/bennofs/nix-index) - Quickly locate nix packages with specific files.
- [nix-du](https://github.com/symphorien/nix-du) - Find which gc-roots take disk space in a nix store.
- [nix-index](https://github.com/bennofs/nix-index) - Quickly locate Nix packages with specific files.
- [nix-du](https://github.com/symphorien/nix-du) - Find which gc-roots take disk space in a Nix store.
- [nix-info](https://github.com/nix-hackers/nix-info) - Homebrew info querying for Nix.
- [userscan](https://github.com/flyingcircusio/userscan) - Scans directories containing manually compiled programs and registers them with the Nix garbage collector.

Expand Down Expand Up @@ -445,9 +445,9 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Gomod2nix](https://github.com/tweag/gomod2nix) is a tool to convert applications using Go modules to Nix expressions.

- [Dep2nix](https://github.com/nixcloud/dep2nix) is a tool using golang/dep to create a deps.nix file for go projects to package them for nixpkgs.
- [Dep2nix](https://github.com/nixcloud/dep2nix) is a tool using golang/dep to create a `deps.nix` file for go projects to package them for nixpkgs.

- [Vgo2nix](https://github.com/nix-community/vgo2nix) is a tool to Convert go.mod files to nixpkgs buildGoPackage compatible deps.nix files.
- [Vgo2nix](https://github.com/nix-community/vgo2nix) is a tool to Convert go.mod files to nixpkgs buildGoPackage compatible `deps.nix` files.

### Rust
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
Expand All @@ -464,7 +464,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Rust-nix-templater](https://github.com/yusdacra/rust-nix-templater) is a tool that generates Nix build and development files for Rust projects.

- [Rust-overlay](https://github.com/oxalica/rust-overlay) is a pure and reproducible nix overlay of binary distributed Rust toolchains.
- [Rust-overlay](https://github.com/oxalica/rust-overlay) is a pure and reproducible Nix overlay of binary distributed Rust toolchains.

### Scala
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
Expand All @@ -482,7 +482,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Clj-nix](https://github.com/jlesquembre/clj-nix) is Nix helpers for Clojure projects.

- [Clj2nix](https://github.com/hlolli/clj2nix) is a tool that converts deps.edn to a nix expression.
- [Clj2nix](https://github.com/hlolli/clj2nix) is a tool that converts `deps.edn` to a Nix expression.

- [Clojure-nix-locker](https://github.com/bevuta/clojure-nix-locker) is a simple and flexible tool to build clojure projects with Nix.

Expand All @@ -499,7 +499,7 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

- [Nixkell](https://github.com/pwm/nixkell) is a Haskell project template using Nix and direnv.

- [Stack2nix](https://github.com/input-output-hk/stack2nix) is a tool to generate nix expressions for Haskell projects.
- [Stack2nix](https://github.com/input-output-hk/stack2nix) is a tool to generate Nix expressions for Haskell projects.

### Node.js
[Back to the Top](https://github.com/mikeroyal/NixOS-Guide#table-of-contents)
Expand Down Expand Up @@ -690,7 +690,9 @@ Podman Linux Containers | ✓ (via [systemd](https://systemd.io/)) | ✓ | Stabl

[AppImageKit](https://search.nixos.org/packages?channel=22.05&show=appimagekit&from=0&size=50&sort=relevance&type=packages&query=appimage) is an implementation of the AppImage format that provides tools such as appimagetool and appimaged for handling AppImages.

```$ nix-env -iA nixos.appimagekit```
```
$ nix-env -iA nixos.appimagekit
```

[AppImageHub](https://www.appimagehub.com) is a build and distribution service for AppImage applications.

Expand Down