feat(rust): initialised cargo

This commit is contained in:
Artur Manuel 2024-08-06 23:45:54 +01:00
commit 900a9b8e42
Failed to generate hash of commit
9 changed files with 121 additions and 0 deletions

2
.envrc Normal file
View file

@ -0,0 +1,2 @@
use flake . --impure
e

6
.gitignore vendored
View file

@ -0,0 +1,6 @@
.direnv/
**/*~
# Added by cargo
/target

7
Cargo.lock generated Normal file
View file

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "ralsay-rs"
version = "0.1.0"

6
Cargo.toml Normal file
View file

@ -0,0 +1,6 @@
[package]
name = "ralsay-rs"
version = "0.1.0"
edition = "2021"
[dependencies]

27
flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1722813957,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

23
flake.nix Normal file
View file

@ -0,0 +1,23 @@
{
description = "ralsay in rust";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let
systems = [ "x86_64-linux" "aarch64-linux" ];
forEachSystems = nixpkgs.lib.genAttrs systems;
pkgsForEach = nixpkgs.legacyPackages;
in
{
packages = forEachSystems (system: {
default = pkgsForEach.${system}.callPackage ./nix/package.nix { };
});
devShells = forEachSystems (system: {
default = pkgsForEach.${system}.callPackage ./nix/shell.nix { };
});
};
}

22
nix/package.nix Normal file
View file

@ -0,0 +1,22 @@
{
lib,
rustPlatform,
stdenvAdapters,
llvm,
}: let
toml = (lib.importTOML ../Cargo.toml).package;
pname = toml.name;
inherit (toml) version;
in
rustPlatform.buildRustPackage.override {stdenv = stdenvAdapters.useMoldLinker llvm.stdenv;} {
RUSTFLAGS = "-C link-arg=-fuse-ld=mold";
inherit pname version;
src = builtins.path {
name = "${pname}-${version}";
path = lib.sources.cleanSource ../.;
};
cargoLock.lockFile = ../Cargo.lock;
}

25
nix/shell.nix Normal file
View file

@ -0,0 +1,25 @@
{
mkShell,
rust-analyzer-unwrapped,
rustfmt,
clippy,
cargo,
rustc,
gcc,
rustPlatform,
}:
mkShell {
strictDeps = true;
nativeBuildInputs = [
cargo
rustc
gcc
rust-analyzer-unwrapped
rustfmt
clippy
];
env.RUST_SRC_PATH = "${rustPlatform.rustLibSrc}";
}

3
src/main.rs Normal file
View file

@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}