Flake to easily install the outer wilds mod manager (both cli and gui versions) in nix.
ℹ️ The cli version of the manager is now on the unstable branch of nixpkgs, so you can install it from there!
You can test it by running
nix run github:ow-mods/ow-mod-man-flake#owmods-cli
To pass flags and options you need to run the command like this:
nix run github:ow-mods/ow-mod-man-flake#owmods-cli -- <flags and options>
Examples:
#To check the version
nix run github:ow-mods/ow-mod-man-flake#owmods-cli -- --version
nix run github:ow-mods/ow-mod-man-flake#owmods-cli -- -V
#To list local and remote mods
nix run github:ow-mods/ow-mod-man-flake#owmods-cli -- list
nix run github:ow-mods/ow-mod-man-flake#owmods-cli -- list remote
Because it uses tauri, and it is, for now (version 1.3), using openssl-1.1.1t
(an insecure package), trying to run nix run github:loco-choco/ow-mod-man-flake#owmods-gui
will fail with a message saying the derivation uses insecure packages. To run it then you first need to do:
export NIXPKGS_ALLOW_INSECURE=1
Then run:
nix run github:ow-mods/ow-mod-man-flake#owmods-gui --impure
Now, you should have the latest version of the gui version running.
Imagining you have a system configuration using flakes, following this style, all you need to do is:
- 1: Add the flake in the inputs, and the outputs
#Adding it to the inputs
inputs = {
nixpkgs.url = "...";
home-manager.url = "...";
#Add these two lines
ow-mod-man.url = "github:ow-mods/ow-mod-man-flake";
ow-mod-man.inputs.nixpkgs.follows = "nixpkgs"; #Makes the flake follow the package versions in your nixpkgs versions
};
#Adding it to the outputs
outputs = { nixpkgs, home-manager, ow-mod-man, ... }@inputs: #we need the '@inputs' part to allow us to use the flake more easily
- 2: Pass the flake in your packages, for home-manager you would do:
home-manager.lib.homeManagerConfiguration {
#...
extraSpecialArgs.inputs = inputs; # inside your homeManagerConfiguration you need to add this line
#...
};
And in your home.nix
add to the input inputs
:
{ pkgs, inputs, ... }: #add 'inputs' to the inputs of 'home.nix'
For the nixos configuration you would do:
nixosSystem {
#...
specialArgs.inputs = inputs; # inside your nixosSystem you need to add this line
#...
};
And in your configuration.nix
add the inputs:
{ config, pkgs, inputs, ...}: #add 'inputs' to the inputs of 'configuration.nix'
- 3: Enable the package. You can do that as if it was a normal package, but apending
inputs.ow-mod-man.packages.${system}
, like in the following example:
inputs.ow-mod-man.packages.${system}.owmods-cli
For owmods-gui, like mentioned in here, you need to allow insecure packages (for now), to do this follow the manual to allow the openssl-1.1.1t
package.
If you are building your system with flakes, you will need to run your nix build
with the --impure
flag and export NIXPKGS_ALLOW_INSECURE=1
exported.
You can also check the current version by running
nix flake show github:ow-mods/ow-mod-man-flake
These steps were found in this reddit post.