From fe1af5d98b8e6c87f39f1d94586e61bff100e7d2 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Mon, 5 Feb 2024 13:02:02 +0100 Subject: [dep-upgrade-202402] refactor dependencies: move all as workspace deps --- flake.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 5cb2c407..c3da239d 100644 --- a/flake.nix +++ b/flake.nix @@ -49,6 +49,8 @@ cargo2nixOverlay = cargo2nix.overlays.default; release = false; }).workspaceShell { packages = with pkgs; [ + cargo-audit + cargo-outdated rustfmt clang mold -- cgit v1.2.3 From 33e6db8b72cc19ce140d3d52428d6d23ed364046 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 7 Feb 2024 17:34:00 +0100 Subject: [dep-upgrade-202402] update rustc to 1.73 --- flake.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index c3da239d..236b2310 100644 --- a/flake.nix +++ b/flake.nix @@ -2,9 +2,9 @@ description = "Garage, an S3-compatible distributed object store for self-hosted deployments"; - # Nixpkgs unstable as of 2023-04-25, has rustc v1.68 + # Nixpkgs 23.11 as of 2024-02-07, has rustc v1.73 inputs.nixpkgs.url = - "github:NixOS/nixpkgs/94517a501434a627c5d9e72ac6e7f26174b978d3"; + "github:NixOS/nixpkgs/9f2ee8c91ac42da3ae6c6a1d21555f283458247e"; inputs.flake-compat.url = "github:nix-community/flake-compat"; @@ -17,9 +17,9 @@ # - rustc v1.66 # url = "github:cargo2nix/cargo2nix/8fb57a670f7993bfc24099c33eb9c5abb51f29a2"; - # Rust overlay as of 2023-04-25 + # Rust overlay as of 2024-02-07 inputs.rust-overlay.url = - "github:oxalica/rust-overlay/74f1a64dd28faeeb85ef081f32cad2989850322c"; + "github:oxalica/rust-overlay/7a94fe7690d2bdfe1aab475382a505e14dc114a6"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-compat.follows = "flake-compat"; -- cgit v1.2.3 From 9900368380513d8b898d6ac4116e09525341c11b Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 7 Feb 2024 19:23:32 +0100 Subject: [nix-improvements] modernize Nix infrastructure --- flake.nix | 74 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 22 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 236b2310..06c74220 100644 --- a/flake.nix +++ b/flake.nix @@ -33,27 +33,57 @@ compile = import ./nix/compile.nix; in flake-utils.lib.eachDefaultSystem (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in { - packages = { - default = (compile { - inherit system git_version; - pkgsSrc = nixpkgs; - cargo2nixOverlay = cargo2nix.overlays.default; - release = true; - }).workspace.garage { compileMode = "build"; }; - }; - devShell = (compile { - inherit system git_version; - pkgsSrc = nixpkgs; - cargo2nixOverlay = cargo2nix.overlays.default; - release = false; - }).workspaceShell { packages = with pkgs; [ - cargo-audit - cargo-outdated - rustfmt - clang - mold - ]; }; + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + packages = + let + packageFor = target: (compile { + inherit system git_version target; + pkgsSrc = nixpkgs; + cargo2nixOverlay = cargo2nix.overlays.default; + release = true; + }).workspace.garage { compileMode = "build"; }; + in + { + # default = native release build + default = packageFor null; + # other = cross-compiled, statically-linked builds + amd64 = packageFor "x86_64-unknown-linux-musl"; + i386 = packageFor "i686-unknown-linux-musl"; + arm64 = packageFor "aarch64-unknown-linux-musl"; + arm = packageFor "armv6l-unknown-linux-musl"; + }; + + # ---- developpment shell, for making native builds only ---- + devShells = + let + shellWithPackages = (packages: (compile { + inherit system git_version; + pkgsSrc = nixpkgs; + cargo2nixOverlay = cargo2nix.overlays.default; + }).workspaceShell { inherit packages; }); + in + { + default = shellWithPackages + (with pkgs; [ + rustfmt + clang + mold + ]); + + # import the full shell using `nix develop .#full` + full = shellWithPackages (with pkgs; [ + rustfmt + clang + mold + # ---- extra packages for dev tasks ---- + cargo-audit + cargo-outdated + cargo-machete + nixpkgs-fmt + ]); + }; }); } -- cgit v1.2.3