summaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix59
1 files changed, 19 insertions, 40 deletions
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");
- };
+ });
};
}