From 46a968ee47dee51bd9602afc80c09ee592f59749 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Thu, 11 Jun 2026 18:34:11 +1200 Subject: Finish zsh and PLEASE PLEASE NIX STOP LINKING TO NIX STORE FOR LIBC --- .gitignore | 1 + flake.nix | 7 +++++++ nix/zsh.nix | 25 +++++++++++++++++++++---- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 1365d98..6f3692f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ external build result +result-man diff --git a/flake.nix b/flake.nix index 3c3f16f..f2d0e80 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,12 @@ pkgs = nixpkgs.legacyPackages.${system}; pkgsStatic = nixpkgs.legacyPackages.${system}.pkgsStatic; pkgsMusl = nixpkgs.legacyPackages.${system}.pkgsMusl; + actuallyGoodPkgsMuslThatDoesntMakeMeWantToSmashMyHeadAgainstAWall = import nixpkgs { + localSystem = { + system = "x86_64-linux"; + config = "x86_64-unknown-linux-musl"; + }; + }; in { devShells.${system}.default = pkgs.mkShell { buildInputs = with pkgs; [ gcc clang gnumake xorriso cpio ]; @@ -19,6 +25,7 @@ inherit (pkgs) pkgsStatic; }; runit = pkgsStatic.runit; + zsh = actuallyGoodPkgsMuslThatDoesntMakeMeWantToSmashMyHeadAgainstAWall.callPackage ./nix/zsh.nix {}; limine = pkgs.callPackage ./nix/limine.nix {}; initramfs = pkgs.callPackage ./nix/initramfs.nix { inherit (self.packages.${system}) kernel busybox; diff --git a/nix/zsh.nix b/nix/zsh.nix index a3feb2b..b9afca5 100644 --- a/nix/zsh.nix +++ b/nix/zsh.nix @@ -1,10 +1,27 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, ncurses }: stdenv.mkDerivation { name = "zsh-yerba"; src = fetchurl { - url = "https://sourceforge.net/projects/zsh/files/zsh/5.9.1/zsh-5.9.1.tar.xz/download"; - hash = ""; + url = "https://www.zsh.org/pub/zsh-5.9.1.tar.xz"; + hash = "sha256-XSC+wD+YHcTpoJ7CRedBU4j/ZB95xcXEFrUELljYKA0= +"; }; - # Do this later + CFLAGS = "-O0"; + buildInputs = [ ncurses ]; + nativeBuildInputs = [ ncurses ]; + configureFlags = [ + "--prefix=/usr" + "--disable-rpath" + ]; + configurePhase = '' + ./configure --prefix=/usr --disable-rpath + ''; + buildPhase = '' + make -j$NIX_BUILD_CORES + ''; + installPhase = '' + mkdir -p $out + make install DESTDIR=$out/_install + ''; } -- cgit v1.2.3