From 6af528ff9eb58339b1c828a77a38b4f613b33599 Mon Sep 17 00:00:00 2001 From: Gabriel Simmer Date: Thu, 20 Jun 2024 21:19:13 +0100 Subject: [PATCH] Format Flake --- flake.nix | 116 ++++++++++++++++++++++++++---------------------------- 1 file changed, 56 insertions(+), 60 deletions(-) diff --git a/flake.nix b/flake.nix index 4175e7e..8a270a3 100644 --- a/flake.nix +++ b/flake.nix @@ -13,81 +13,77 @@ docker-utils.url = "github:collinarnett/docker-utils"; }; - outputs = { self, nixpkgs, crane, flake-utils, docker-utils, ... }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; + outputs = { + self, + nixpkgs, + crane, + flake-utils, + docker-utils, + ... + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = nixpkgs.legacyPackages.${system}; - craneLib = crane.mkLib pkgs; + craneLib = crane.mkLib pkgs; - # Common arguments can be set here to avoid repeating them later - # Note: changes here will rebuild all dependency crates - commonArgs = { - src = craneLib.cleanCargoSource ./.; - strictDeps = true; + commonArgs = { + src = craneLib.cleanCargoSource ./.; + strictDeps = true; - buildInputs = with pkgs;[ + buildInputs = with pkgs; + [ openssl pkg-config - ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ - # Additional darwin specific inputs can be set here + ] + ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; - }; + }; - my-crate = craneLib.buildPackage (commonArgs // { + my-crate = craneLib.buildPackage (commonArgs + // { cargoArtifacts = craneLib.buildDepsOnly commonArgs; - - # Additional environment variables or build phases/hooks can be set - # here *without* rebuilding all dependency crates - # MY_CUSTOM_VAR = "some value"; }); - dockerImage = pkgs.dockerTools.buildImage { - name = "git.gmem.ca/arch/duplikate"; - tag = "latest-${system}"; - config = { - Cmd = [ "${my-crate}/bin/duplikate" ]; - }; - }; - in - { - checks = { - inherit my-crate; + dockerImage = pkgs.dockerTools.buildImage { + name = "git.gmem.ca/arch/duplikate"; + tag = "latest-${system}"; + config = { + Cmd = ["${my-crate}/bin/duplikate"]; }; + }; + in { + checks = { + inherit my-crate; + }; - packages.default = my-crate; - packages.docker = dockerImage; + packages.default = my-crate; + packages.docker = dockerImage; - apps.default = flake-utils.lib.mkApp { - drv = my-crate; - }; + apps.default = flake-utils.lib.mkApp { + drv = my-crate; + }; - apps.concatDocker = { - type = "app"; - program = toString (pkgs.writers.writeBash "concatDocker" '' - amd64=git.gmem.ca/arch/duplikate:latest-x86_64-linux - arm64=git.gmem.ca/arch/duplikate:latest-aarch64-linux - docker load -i ${self.packages.x86_64-linux.docker} - docker load -i ${self.packages.aarch64-linux.docker} - docker push $amd64 - docker push $arm64 - docker manifest create --amend git.gmem.ca/arch/duplikate:latest $arm64 $amd64 - docker manifest push git.gmem.ca/arch/duplikate:latest --purge - ''); - }; + apps.concatDocker = { + type = "app"; + program = toString (pkgs.writers.writeBash "concatDocker" '' + amd64=git.gmem.ca/arch/duplikate:latest-x86_64-linux + arm64=git.gmem.ca/arch/duplikate:latest-aarch64-linux + docker load -i ${self.packages.x86_64-linux.docker} + docker load -i ${self.packages.aarch64-linux.docker} + docker push $amd64 + docker push $arm64 + docker manifest create --amend git.gmem.ca/arch/duplikate:latest $arm64 $amd64 + docker manifest push git.gmem.ca/arch/duplikate:latest --purge + ''); + }; - devShells.default = craneLib.devShell { - # Inherit inputs from checks. - checks = self.checks.${system}; + devShells.default = craneLib.devShell { + checks = self.checks.${system}; - # Additional dev-shell environment variables can be set directly - # MY_CUSTOM_DEVELOPMENT_VAR = "something else"; - - # Extra inputs can be added here; cargo and rustc are provided by default. - packages = with pkgs; [ - rust-analyzer - ]; - }; - }); + packages = with pkgs; [ + rust-analyzer + ]; + }; + }); }