From 9e2c9d06f53b811f35fecfc2e924136ff4d379b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 9 Dec 2022 14:22:45 +0100 Subject: expose disko for non x86 --- flake.nix | 59 +++++++++++++++++++---------------------------------------- 1 file changed, 19 insertions(+), 40 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index c2039b7..0344eb0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,57 +1,36 @@ { - description = "Description for the project"; + description = "Disko - declarative disk partitioning"; # don't lock to give precedence to a USB live-installer's registry inputs.nixpkgs.url = "nixpkgs"; - outputs = { self, nixpkgs, ... }: { + outputs = { self, nixpkgs, ... }: let + supportedSystems = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + in { nixosModules.disko = import ./module.nix; lib = import ./. { inherit (nixpkgs) lib; }; - packages.x86_64-linux.disko = let - pkgs = nixpkgs.legacyPackages.x86_64-linux; - inherit (pkgs) lib; - 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"; - 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"; - }; - packages.x86_64-linux.default = self.packages.x86_64-linux.disko; - checks.x86_64-linux = let - pkgs = nixpkgs.legacyPackages.x86_64-linux; + packages = forAllSystems (system: let + pkgs = nixpkgs.legacyPackages.${system}; + in { + disko = pkgs.callPackage ./package.nix {}; + default = self.packages.${system}.disko; + }); + # TODO: disable bios-related tests on aarch64... + checks = forAllSystems (system: let + pkgs = nixpkgs.legacyPackages.${system}; in # Run tests: nix flake check -L import ./tests { inherit pkgs; makeTest = import (pkgs.path + "/nixos/tests/make-test-python.nix"); eval-config = import (pkgs.path + "/nixos/lib/eval-config.nix"); - }; + }); }; } -- cgit v1.2.3