aboutsummaryrefslogtreecommitdiffstats
path: root/modules/programs/heroic
diff options
context:
space:
mode:
Diffstat (limited to 'modules/programs/heroic')
-rw-r--r--modules/programs/heroic/default.nix4
-rw-r--r--modules/programs/heroic/nexus-mods.nix36
2 files changed, 40 insertions, 0 deletions
diff --git a/modules/programs/heroic/default.nix b/modules/programs/heroic/default.nix
index d0bd0d1..5b2a07a 100644
--- a/modules/programs/heroic/default.nix
+++ b/modules/programs/heroic/default.nix
@@ -7,6 +7,10 @@
# Heroic Games Launcher - An elegant UI for Epic, GOG, and Amazon Games using UMU under the hood
{
+ imports = [
+ ./nexus-mods.nix
+ ];
+
options.programs.heroic = {
enable = lib.mkEnableOption "Enables Heroic Games Launcher.";
package = lib.mkOption {
diff --git a/modules/programs/heroic/nexus-mods.nix b/modules/programs/heroic/nexus-mods.nix
new file mode 100644
index 0000000..8adc7bf
--- /dev/null
+++ b/modules/programs/heroic/nexus-mods.nix
@@ -0,0 +1,36 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+
+# Nexus Mods - for Modding Games
+{
+ options.programs.heroic.nexus-mods = {
+ enable = lib.mkEnableOption "Enables NexusMods.";
+ package = lib.mkOption {
+ type = lib.types.package;
+ default = pkgs.nexusmods-app-unfree;
+ description = "Package for NexusMods app, used to mod games.";
+ };
+ };
+
+ config = lib.mkIf config.programs.heroic.enable {
+ home.packages = [ config.programs.heroic.nexus-mods.package ];
+
+ xdg.mimeApps = {
+ enable = true;
+ defaultApplications = {
+ "x-scheme-handler/nxm" = [ "nexusmods-app.desktop" ];
+ };
+ };
+
+ nixpkgs.config = {
+ allowUnfree = true;
+ permittedInsecurePackages = [
+ "nexusmods-app-unfree-0.21.1"
+ ];
+ };
+ };
+}