From 9abd37edc5a5bcabc35338b6a9ef2aa90f9ae6a0 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Sun, 31 May 2026 18:44:37 +0530 Subject: added nexus mods to heroic launcher --- modules/programs/heroic/default.nix | 4 ++++ modules/programs/heroic/nexus-mods.nix | 36 ++++++++++++++++++++++++++++++++++ modules/scripts/fzf-launcher.sh | 1 + users/arpit.nix | 2 ++ 4 files changed, 43 insertions(+) create mode 100644 modules/programs/heroic/nexus-mods.nix 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" + ]; + }; + }; +} diff --git a/modules/scripts/fzf-launcher.sh b/modules/scripts/fzf-launcher.sh index a1ab292..43c1108 100644 --- a/modules/scripts/fzf-launcher.sh +++ b/modules/scripts/fzf-launcher.sh @@ -9,6 +9,7 @@ entries="" for dir in "${DIRS[@]}"; do [[ -d "$dir" ]] || continue + setopt nullglob for f in "$dir"/*.desktop; do [[ -f "$f" ]] || continue diff --git a/users/arpit.nix b/users/arpit.nix index b01592e..9dd4bc6 100644 --- a/users/arpit.nix +++ b/users/arpit.nix @@ -2,6 +2,7 @@ { nixpkgs.config.allowUnfree = true; + xdg.configFile."mimeapps.list".force = true; home.username = "arpit"; home.homeDirectory = "/home/${config.home.username}"; @@ -24,6 +25,7 @@ programs.git.username = "Arpit Chakladar"; programs.git.email = "arpitchakladar@proton.me"; programs.heroic.enable = true; + programs.heroic.nexus-mods.enable = true; programs.htop.enable = true; programs.impala.enable = true; programs.kitty.enable = true; -- cgit v1.2.3