From bf968f2976a8d8504cbb378493155e13dae63c42 Mon Sep 17 00:00:00 2001 From: guochao Date: Tue, 4 Jun 2024 11:30:13 +0800 Subject: [PATCH] use flake by default --- .envrc | 2 +- crate2nix.nix | 7 +++++ default.nix | 22 ++++++++++--- flake.lock | 78 ++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 4 ++- project-config.nix | 3 +- 6 files changed, 108 insertions(+), 8 deletions(-) create mode 100644 crate2nix.nix create mode 100644 flake.lock diff --git a/.envrc b/.envrc index a5bc838..8392d15 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use nix --expr '(import {}).callPackage ./shell.nix {}' \ No newline at end of file +use flake \ No newline at end of file diff --git a/crate2nix.nix b/crate2nix.nix new file mode 100644 index 0000000..839c29d --- /dev/null +++ b/crate2nix.nix @@ -0,0 +1,7 @@ +{ callPackage, defaultCrateOverrides, cargoNix? callPackage ./Cargo.nix {}, projectConfig ? callPackage ./project-config.nix { }, ... }: cargoNix.workspaceMembers.chat-signaling-server.build.override { + crateOverrides = defaultCrateOverrides // { + signaling = { ... }: { + inherit (projectConfig) buildInputs nativeBuildInputs; + }; + }; +} diff --git a/default.nix b/default.nix index 839c29d..3e6fae0 100644 --- a/default.nix +++ b/default.nix @@ -1,7 +1,19 @@ -{ callPackage, defaultCrateOverrides, cargoNix? callPackage ./Cargo.nix {}, projectConfig ? callPackage ./project-config.nix { }, ... }: cargoNix.workspaceMembers.chat-signaling-server.build.override { - crateOverrides = defaultCrateOverrides // { - signaling = { ... }: { - inherit (projectConfig) buildInputs nativeBuildInputs; - }; +{ rustPlatform, lib, callPackage, projectConfig ? callPackage ./project-config.nix { }, ... }: rustPlatform.buildRustPackage { + inherit (projectConfig) buildInputs nativeBuildInputs; + pname = "chat-signaling-server"; + version = "0.1.0"; + + + src = ./.; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + meta = with lib; { + description = "rust project scaffold"; + homepage = "https://git.jeffthecoder.xyz/public/os-flakes"; + license = licenses.unlicense; + maintainers = [ ]; }; } diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..04eb03d --- /dev/null +++ b/flake.lock @@ -0,0 +1,78 @@ +{ + "nodes": { + "fenix": { + "inputs": { + "nixpkgs": "nixpkgs", + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1717309557, + "narHash": "sha256-CJ7i/WcZMlEtn/uc2YLOtt5ihHg2AMdx314TsQPtHhE=", + "owner": "nix-community", + "repo": "fenix", + "rev": "53cd289dfda8bcd148dc92178efa707ac83c9d9a", + "type": "github" + }, + "original": { + "id": "fenix", + "type": "indirect" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-unstable", + "type": "indirect" + } + }, + "root": { + "inputs": { + "fenix": "fenix", + "nixpkgs": "nixpkgs_2" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1717268339, + "narHash": "sha256-v/3DU1Qqa5ZuyT7C4pn7VP0tsLt4zzlqL2lkACGEmtk=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "ca5568182df1bccf32014d65db70e7e1f121c3a6", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index ad2448c..44b48a1 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,9 @@ let pkgs = import nixpkgs { inherit system; }; in - pkgs.callPackage ./shell.nix { } + { + default = pkgs.callPackage ./shell.nix { }; + } ); }; } diff --git a/project-config.nix b/project-config.nix index 05b262d..5de482b 100644 --- a/project-config.nix +++ b/project-config.nix @@ -1,6 +1,7 @@ { callPackage , cargo-tarpaulin +, cargo-watch , protobuf , rustfmt , crate2nix @@ -20,7 +21,7 @@ # cargo-make # cargo-mobile2 # cargo-tauri - # cargo-watch + cargo-watch # TODO: cargo-xcode # TODO: create-tauri-app # cargo-espflash