about summary refs log tree commit diff stats
path: root/modules/by-name/ni/nix-index
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ni/nix-index/command_not_found.sh (renamed from modules/by-name/zs/zsh/config/command_not_found/command_not_found.sh)12
-rw-r--r--modules/by-name/ni/nix-index/module.nix44
2 files changed, 55 insertions, 1 deletions
diff --git a/modules/by-name/zs/zsh/config/command_not_found/command_not_found.sh b/modules/by-name/ni/nix-index/command_not_found.sh
index fb21b676..f650cf7b 100644
--- a/modules/by-name/zs/zsh/config/command_not_found/command_not_found.sh
+++ b/modules/by-name/ni/nix-index/command_not_found.sh
@@ -1,5 +1,15 @@
 #!/usr/bin/env dash
 
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+
 # This was taken from the
 # `${pkgs.nix-index}/etc/profile.d/command-not-found.sh` file on 2024-02-28
 
@@ -48,7 +58,7 @@ EOF
 The program '$cmd' is currently not installed. It is provided by
 several packages. You can run it once with:
 EOF
-        awk --assign=toplevel="$toplevel" 'BEGIN{counter=0} {printf("%3s)", counter); printf("  nix shell %s#%s\n", toplevel, $1); counter+=1}' "$(ptmp "$attrs")"
+        echo "$attrs" | awk --assign=toplevel="$toplevel" 'BEGIN{counter=0} {printf("%3s)", counter); printf("  nix shell %s#%s\n", toplevel, $1); counter+=1}'
         ;;
     esac
 
diff --git a/modules/by-name/ni/nix-index/module.nix b/modules/by-name/ni/nix-index/module.nix
new file mode 100644
index 00000000..06acfc8a
--- /dev/null
+++ b/modules/by-name/ni/nix-index/module.nix
@@ -0,0 +1,44 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+  config,
+  lib,
+  modules,
+  ...
+}: let
+  cfg = config.soispha.programs.nix-index;
+in {
+  options.soispha.programs.nix-index = {
+    enable = lib.mkEnableOption "nix-index";
+  };
+
+  config = lib.mkIf cfg.enable {
+    soispha.programs.zsh.integrations.nix-index = ./command_not_found.sh;
+    home-manager.users.soispha = {
+      imports = [
+        modules.nix-index-database.hmModules.nix-index
+      ];
+
+      programs.nix-index = {
+        enable = true;
+        symlinkToCacheHome = true;
+
+        # Handled by myself (and the script is overridden)
+        enableBashIntegration = false;
+        enableZshIntegration = false;
+        enableFishIntegration = false;
+      };
+
+      programs.nix-index-database = {
+        comma.enable = false;
+      };
+    };
+  };
+}