Commit ea7c938
Changed files (6)
modules
pkgs
by-name
zide
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;
};