Commit ea7c938

HPCesia <me@hpcesia.com>
2026-02-04 13:09:33
refactor: move nur to main repo
1 parent 23406c4
Changed files (6)
modules
core
dev
helix
flake
pkgs
by-name
modules/core/nix/nixpkgs.nix
@@ -1,10 +1,15 @@
-{inputs, ...}: {
+{
+  inputs,
+  config,
+  ...
+}: {
   flake.modules.nixos.core = _: {
     # nixos modules' nixpkgs config, will affect all nixos modules
     # flake-parts global nixpkgs config: modules/flake/nixpkgs.nix
     nixpkgs.config = {allowUnfree = true;};
     nixpkgs.overlays = [
       inputs.nur.overlays.default
+      config.flake.overlays.default
     ];
   };
 }
modules/dev/helix/zide/default.nix
@@ -1,6 +1,6 @@
-{inputs, ...}: {
+{
   flake.modules.homeManager.dev-helix = {pkgs, ...}: let
-    zide = inputs.nur-hpcesia.packages.${pkgs.stdenv.hostPlatform.system}.zide.overrideAttrs (oldAttrs: {
+    zide = pkgs.local.zide.overrideAttrs (oldAttrs: {
       passthru =
         oldAttrs.passthru
         // {
modules/flake/nixpkgs.nix
@@ -1,4 +1,13 @@
-{inputs, ...}: {
+{
+  inputs,
+  config,
+  withSystem,
+  ...
+}: {
+  imports = [
+    inputs.pkgs-by-name-for-flake-parts.flakeModule
+  ];
+
   perSystem = {system, ...}: {
     # flake-parts global nixpkgs config, nixos modules' nixpkgs will not be affected
     # nixos modules nixpkgs config: modules/core/nix/nixpkgs.nix
@@ -9,5 +18,12 @@
         inputs.nur.overlays.default
       ];
     };
+    pkgsDirectory = config.flake.meta.rootPath + "/pkgs/by-name";
+  };
+
+  flake = {
+    overlays.default = _final: prev: {
+      local = withSystem prev.stdenv.hostPlatform.system ({config, ...}: config.packages);
+    };
   };
 }
pkgs/by-name/zide/package.nix
@@ -0,0 +1,104 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  zellij,
+  makeWrapper,
+  installShellFiles,
+  bash,
+  coreutils,
+  yazi ? null,
+  nnn ? null,
+  broot ? null,
+  lf ? null,
+  fff ? null,
+  felix ? null,
+  lazygit ? null,
+}:
+stdenv.mkDerivation (
+  finalAttrs: {
+    pname = "zide";
+    version = "3.2.0";
+    src = fetchFromGitHub {
+      owner = "josephschmitt";
+      repo = "zide";
+      rev = "a0903f9a503f2261e768aa7c23628921c027a88e";
+      sha256 = "0wlwywl5cai4b685il3hhk0wlmv31w4gwn0labn51hdmcwkg9sad";
+    };
+
+    nativeBuildInputs = [
+      makeWrapper
+      installShellFiles
+    ];
+
+    buildInputs = [
+      bash
+      coreutils
+    ];
+
+    passthru = {
+      defaultLayout = "default";
+      defaultFilePicker = "yazi";
+      layoutDir = null;
+      alwaysName = false;
+      useYaziConfig = true;
+      useLfConfig = true;
+    };
+
+    dontBuild = true;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out/share/zide
+      mkdir -p $out/bin
+
+      cp -r . $out/share/zide/
+
+      for script in bin/zide bin/zide-pick bin/zide-edit bin/zide-rename; do
+        if [[ -f "$script" ]]; then
+          scriptName=$(basename "$script")
+          makeWrapper "$out/share/zide/$script" "$out/bin/$scriptName" \
+            --set ZIDE_DIR "$out/share/zide" \
+            --prefix PATH : "${lib.makeBinPath (
+        [
+          zellij
+          bash
+          coreutils
+        ]
+        ++ lib.optional (yazi != null) yazi
+        ++ lib.optional (nnn != null) nnn
+        ++ lib.optional (broot != null) broot
+        ++ lib.optional (lf != null) lf
+        ++ lib.optional (fff != null) fff
+        ++ lib.optional (felix != null) felix
+        ++ lib.optional (lazygit != null) lazygit
+      )}" \
+            --set ZIDE_DEFAULT_LAYOUT "${finalAttrs.passthru.defaultLayout}" \
+            --set ZIDE_FILE_PICKER "${finalAttrs.passthru.defaultFilePicker}" \
+            ${lib.optionalString (finalAttrs.passthru.layoutDir != null)
+        "--set ZIDE_LAYOUT_DIR \"${finalAttrs.passthru.layoutDir}\""} \
+            ${lib.optionalString finalAttrs.passthru.alwaysName
+        "--set ZIDE_ALWAYS_NAME \"true\""} \
+            ${lib.optionalString (!finalAttrs.passthru.useYaziConfig)
+        "--set ZIDE_USE_YAZI_CONFIG \"false\""} \
+            ${lib.optionalString (!finalAttrs.passthru.useLfConfig)
+        "--set ZIDE_USE_LF_CONFIG \"false\""}
+        fi
+      done
+
+
+      chmod +x $out/bin/*
+
+      runHook postInstall
+    '';
+    meta = {
+      description = "Group of configuration files and scripts to create an IDE-like experience in zellij";
+      homepage = "https://github.com/josephschmitt/zide";
+      license = lib.licenses.mit;
+      maintainers = with lib.maintainers; [HPCesia];
+      platforms = lib.platforms.unix;
+      mainProgram = "zide";
+    };
+  }
+)
flake.lock
@@ -853,26 +853,6 @@
         "type": "github"
       }
     },
-    "nur-hpcesia": {
-      "inputs": {
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1759897971,
-        "narHash": "sha256-TD4EWDC/Qn5z/9uqJFr8xMfRRWG5wFKXTk4Jr9iRxpY=",
-        "owner": "HPCesia",
-        "repo": "nur-packages",
-        "rev": "7450f85dee7dba4700cd69fa3e52fd781e4ea9da",
-        "type": "github"
-      },
-      "original": {
-        "owner": "HPCesia",
-        "repo": "nur-packages",
-        "type": "github"
-      }
-    },
     "nur_2": {
       "inputs": {
         "flake-parts": [
@@ -898,6 +878,21 @@
         "type": "github"
       }
     },
+    "pkgs-by-name-for-flake-parts": {
+      "locked": {
+        "lastModified": 1769286518,
+        "narHash": "sha256-F7VlUICvYp2wJKyQqM6d46BNEZCzMQ6dMH9zbmjuybc=",
+        "owner": "drupol",
+        "repo": "pkgs-by-name-for-flake-parts",
+        "rev": "7ba1cd4a9a72c9c6c272018a63f090f2c912a171",
+        "type": "github"
+      },
+      "original": {
+        "owner": "drupol",
+        "repo": "pkgs-by-name-for-flake-parts",
+        "type": "github"
+      }
+    },
     "plasma-manager": {
       "inputs": {
         "home-manager": [
@@ -981,7 +976,7 @@
         "nixpkgs": "nixpkgs_6",
         "noctalia": "noctalia",
         "nur": "nur",
-        "nur-hpcesia": "nur-hpcesia",
+        "pkgs-by-name-for-flake-parts": "pkgs-by-name-for-flake-parts",
         "plasma-manager": "plasma-manager",
         "programsdb": "programsdb",
         "silentSDDM": "silentSDDM",
flake.nix
@@ -30,6 +30,8 @@
 
     nur.url = "github:nix-community/NUR";
 
+    pkgs-by-name-for-flake-parts.url = "github:drupol/pkgs-by-name-for-flake-parts";
+
     plasma-manager.url = "github:nix-community/plasma-manager";
     plasma-manager.inputs.nixpkgs.follows = "nixpkgs";
     plasma-manager.inputs.home-manager.follows = "home-manager";
@@ -51,9 +53,6 @@
     nixos-logo.url = "git+https://repo.hpcesia.com/HPCesia/nixos-logo?shallow=1";
     nixos-logo.flake = false;
 
-    nur-hpcesia.url = "github:HPCesia/nur-packages";
-    nur-hpcesia.inputs.nixpkgs.follows = "nixpkgs";
-
     wallpapers.url = "git+https://repo.hpcesia.com/HPCesia/Wallpapers?shallow=1";
     wallpapers.flake = false;
   };