From fa17cfe8782b51f39900cb216cb44c6cc6747856 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Sun, 6 Nov 2022 00:12:15 -0500 Subject: feat: trim the build to the minimum on a slow finicky target machine, no time to pull gcc --- flake.nix | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index adb2add..cd955a2 100644 --- a/flake.nix +++ b/flake.nix @@ -9,12 +9,38 @@ inherit (nixpkgs) lib; }; packages.x86_64-linux.disko = let + inherit (nixpkgs) lib; pkgs = nixpkgs.legacyPackages.x86_64-linux; - in pkgs.stdenv.mkDerivation { + inclFiles = {src, name}: files: lib.cleanSourceWith { + inherit src name; + filter = _path: _type: _type == "regular" + && lib.any (file: builtins.baseNameOf _path == file) files; + }; + in derivation rec{ + system = "x86_64-linux"; name = "disko"; - src = ./.; + builder = "/bin/sh"; + PATH = "${pkgs.coreutils}/bin:${pkgs.gnused}/bin"; + passAsFile = ["buildPhase"]; + buildPhase = '' + mkdir -p $out/bin $out/share/disko + cp -r $src/* $out/share/disko + sed \ + -e "s|libexec_dir=\".*\"|libexec_dir=\"$out/share/disko\"|" \ + -e "s|#!/usr/bin/env.*|#!/usr/bin/env bash|" \ + $src/disko > $out/bin/disko + chmod 755 $out/bin/disko + ''; + args = ["-c" ". $buildPhasePath"]; + src = inclFiles { inherit name; src = ./.; } [ + "disko" + "cli.nix" + "default.nix" + "types.nix" + "options.nix" + ]; + } // { meta.description = "Format disks with nix-config"; - installFlags = [ "PREFIX=$(out)" ]; }; packages.x86_64-linux.default = self.packages.x86_64-linux.disko; checks.x86_64-linux = let -- cgit v1.2.3