summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Arnold <david.arnold@iohk.io>2022-11-06 00:12:15 -0500
committerlassulus <lassulus@lassul.us>2022-11-09 12:23:34 +0100
commitfa17cfe8782b51f39900cb216cb44c6cc6747856 (patch)
tree803ffaace1f4ef670db5b52652d8ddf401030bf1
parent15b62fd7a1b6500cc4ee039550297640e86c8383 (diff)
feat: trim the build to the minimum
on a slow finicky target machine, no time to pull gcc
-rw-r--r--Makefile15
-rw-r--r--flake.nix32
2 files changed, 29 insertions, 18 deletions
diff --git a/Makefile b/Makefile
deleted file mode 100644
index d01f5bf..0000000
--- a/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-PREFIX ?= /usr/local
-SHARE ?= $(PREFIX)/share/disko
-
-all:
-
-SOURCES = disko cli.nix default.nix types.nix
-
-install:
- mkdir -p $(PREFIX)/bin $(SHARE)
- sed \
- -e "s|libexec_dir=\".*\"|libexec_dir=\"$(SHARE)\"|" \
- -e "s|#!/usr/bin/env.*|#!/usr/bin/env bash|" \
- disko > $(PREFIX)/bin/disko
- chmod 755 $(PREFIX)/bin/disko
- cp -r $(SOURCES) $(SHARE)
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