aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@proton.me>2026-05-31 18:44:37 +0530
committerArpit Chakladar <arpitchakladar@proton.me>2026-05-31 18:44:37 +0530
commit9abd37edc5a5bcabc35338b6a9ef2aa90f9ae6a0 (patch)
tree361749d06a441ed585e575b65158e2ad49618ed9 /modules
parent53fc9451f629ab8ee9c8cf749d3dcf2df5cdbd50 (diff)
downloadhome-manager-config-9abd37edc5a5bcabc35338b6a9ef2aa90f9ae6a0.tar.gz
home-manager-config-9abd37edc5a5bcabc35338b6a9ef2aa90f9ae6a0.zip
added nexus mods to heroic launcher
Diffstat (limited to 'modules')
-rw-r--r--modules/programs/heroic/default.nix4
-rw-r--r--modules/programs/heroic/nexus-mods.nix36
-rw-r--r--modules/scripts/fzf-launcher.sh1
3 files changed, 41 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"
+ ];
+ };
+ };
+}
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