aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nix/NIX.md61
-rw-r--r--nix/default.nix12
2 files changed, 60 insertions, 13 deletions
diff --git a/nix/NIX.md b/nix/NIX.md
index e57d5be7..980d20e8 100644
--- a/nix/NIX.md
+++ b/nix/NIX.md
@@ -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
+# In your flake.nix:
{
inputs = {
prismlauncher.url = "github:PrismLauncher/PrismLauncher";
};
+}
+```
-...
+```nix
+# And in your system configuration:
+environment.systemPackages = [ prismlauncher.packages.${pkgs.system}.prismlauncher ];
- nixpkgs.overlays = [ inputs.prismlauncher.overlay ]; ## Within configuration.nix
- environment.systemPackages = with pkgs; [ 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";
+ };
}
```
-To import without flakes use channels:
+```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
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
```
-or alternatively you can use
+#### Using the overlay
```nix
+# In your configuration.nix:
{
nixpkgs.overlays = [
(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 ];
}
```
+
+## 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
+```
diff --git a/nix/default.nix b/nix/default.nix
index c8b4f7cc..c7fc7576 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -59,20 +59,20 @@ stdenv.mkDerivation rec {
# Copy libnbtplusplus
rm -rf source/libraries/libnbtplusplus
mkdir source/libraries/libnbtplusplus
- cp -a ${libnbtplusplus}/* source/libraries/libnbtplusplus
- chmod a+r+w source/libraries/libnbtplusplus/*
+ ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus
+ chmod -R +r+w source/libraries/libnbtplusplus
# Copy tomlplusplus
rm -rf source/libraries/tomlplusplus
mkdir source/libraries/tomlplusplus
- cp -a ${tomlplusplus}/* source/libraries/tomlplusplus
- chmod a+r+w source/libraries/tomlplusplus/*
+ ln -s ${tomlplusplus}/* source/libraries/tomlplusplus
+ chmod -R +r+w source/libraries/tomlplusplus
'';
cmakeFlags = [
"-GNinja"
"-DLauncher_QT_VERSION_MAJOR=${lib.versions.major qtbase.version}"
] ++ lib.optionals enableLTO [ "-DENABLE_LTO=on" ]
- ++ lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
+ ++ lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
# we have to check if the system is NixOS before adding stdenv.cc.cc.lib (#923)
postInstall = ''
@@ -96,6 +96,6 @@ stdenv.mkDerivation rec {
'';
platforms = platforms.unix;
license = licenses.gpl3Only;
- maintainers = with maintainers; [ starcraft66 kloenk ];
+ maintainers = with maintainers; [ minion3665 Scrumplex ];
};
}