ow-mods / ow-mod-man-flake

Flake for using ow-mod-man programs in NixOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ow-mod-man-flake

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!

How to Test the Program

Testing owmods-cli

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

Testing owmods-gui

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.

How to Install in the System

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.

About

Flake for using ow-mod-man programs in NixOS


Languages

Language:Nix 63.6%Language:Shell 36.4%