Update NIX.md so it has more methods + is clearer

- Add proper headings
- Change flake codeblocks so that configuration stuff isn't in the same
  place as flake.nix stuff
- Add instructions for not using the overlay with flakes
- Add instructions for running ad-hoc with flakes

Signed-off-by: Skyler Grey <skyler3665@gmail.com>
This commit is contained in:
Skyler Grey 2022-10-19 23:40:49 +01:00
parent 513d93cfc7
commit dab091a7b7
No known key found for this signature in database
GPG Key ID: 1AFD10256B3C714D

View File

@ -1,21 +1,59 @@
# How to import # Running on Nix
To import with flakes use ## Putting it in your system configuration
### On flakes-enabled nix
#### Directly installing
The `prismlauncher` flake provides a package which you can install along with
the rest of your packages
```nix ```nix
# In your flake.nix:
{ {
inputs = { inputs = {
prismlauncher.url = "github:PrismLauncher/PrismLauncher"; prismlauncher.url = "github:PrismLauncher/PrismLauncher";
}; };
...
nixpkgs.overlays = [ inputs.prismlauncher.overlay ]; ## Within configuration.nix
environment.systemPackages = with pkgs; [ prismlauncher ]; ##
} }
``` ```
To import without flakes use channels: ```nix
# And in your system configuration:
environment.systemPackages = [ prismlauncher.packages.${pkgs.system}.prismlauncher ];
# Or in your home-manager configuration:
home.packages = [ prismlauncher.packages.${pkgs.system}.prismlauncher ];
```
#### Using the overlay
Alternatively, you can overlay the prismlauncher version in nixpkgs which will
allow you to install using `pkgs` as you normally would while also using the
latest version
```nix
# In your flake.nix:
{
inputs = {
prismlauncher.url = "github:PrismLauncher/PrismLauncher";
};
}
```
```nix
# And in your system configuration:
nixpkgs.overlays = [ inputs.prismlauncher.overlay ];
environment.systemPackages = [ pkgs.prismlauncher ];
# Or in your home-manager configuration:
config.nixpkgs.overlays = [ inputs.prismlauncher.overlay ];
home.packages = [ pkgs.prismlauncher ];
```
### Without flakes-enabled nix
#### Using channels
```sh ```sh
nix-channel --add https://github.com/PrismLauncher/PrismLauncher/archive/master.tar.gz prismlauncher nix-channel --add https://github.com/PrismLauncher/PrismLauncher/archive/master.tar.gz prismlauncher
@ -23,9 +61,10 @@ nix-channel --update prismlauncher
nix-env -iA prismlauncher nix-env -iA prismlauncher
``` ```
or alternatively you can use #### Using the overlay
```nix ```nix
# In your configuration.nix:
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
(import (builtins.fetchTarball "https://github.com/PrismLauncher/PrismLauncher/archive/develop.tar.gz")).overlay (import (builtins.fetchTarball "https://github.com/PrismLauncher/PrismLauncher/archive/develop.tar.gz")).overlay
@ -34,3 +73,11 @@ or alternatively you can use
environment.systemPackages = with pkgs; [ prismlauncher ]; environment.systemPackages = with pkgs; [ prismlauncher ];
} }
``` ```
## Running ad-hoc
If you're on a flakes-enabled nix you can run the launcher in one-line
```sh
nix run github:PrismLauncher/PrismLauncher
```