tangled
alpha
login
or
join now
foxgirl.engineering
/
gleam2nix
3
fork
atom
tools for building gleam projects with nix
3
fork
atom
overview
issues
pulls
pipelines
gleam2nix: make workspace
foxgirl.engineering
5 months ago
056a504d
c1375239
verified
This commit was signed with the committer's
known signature
.
foxgirl.engineering
SSH Key Fingerprint:
SHA256:zgspAKSFKA6vB30vPBY6QSa/osCDgrr8YASW+mNz13M=
+25
-62
11 changed files
expand all
collapse all
unified
split
Cargo.toml
gleam2nix
Cargo.toml
src
app.rs
entrypoint.rs
gleam_toml.rs
hash.rs
main.rs
manifest.rs
nix.rs
nix
Cargo.nix
gleam2nix.nix
+3
-42
Cargo.toml
···
2
2
#
3
3
# SPDX-License-Identifier: 0BSD
4
4
5
5
-
[package]
6
6
-
name = "gleam2nix"
7
7
-
version = "0.1.0"
8
8
-
edition = "2024"
9
9
-
10
10
-
# Read <https://corrode.dev/blog/pitfalls-of-safe-rust/#clippy-can-prevent-many-of-these-issues>
11
11
-
[lints.rust]
12
12
-
arithmetic_overflow = "deny"
13
13
-
14
14
-
[lints.clippy]
15
15
-
checked_conversions = "deny"
16
16
-
cast_possible_truncation = "deny"
17
17
-
cast_sign_loss = "deny"
18
18
-
cast_possible_wrap = "deny"
19
19
-
cast_precision_loss = "deny"
20
20
-
integer_division = "deny"
21
21
-
arithmetic_side_effects = "deny"
22
22
-
unchecked_duration_subtraction = "deny"
23
23
-
unwrap_used = "warn"
24
24
-
expect_used = "warn"
25
25
-
panicking_unwrap = "deny"
26
26
-
option_env_unwrap = "deny"
27
27
-
indexing_slicing = "deny"
28
28
-
join_absolute_paths = "deny"
29
29
-
serde_api_misuse = "deny"
30
30
-
uninit_vec = "deny"
31
31
-
transmute_int_to_char = "deny"
32
32
-
transmute_int_to_float = "deny"
33
33
-
transmute_ptr_to_ref = "deny"
34
34
-
transmute_undefined_repr = "deny"
35
35
-
36
36
-
[dependencies]
37
37
-
base64 = "0.22.1"
38
38
-
facet = "0.29"
39
39
-
facet-args = "0.29"
40
40
-
facet-json = { version = "0.29", default-features = false }
41
41
-
facet-toml = { version = "0.29", default-features = false, features = [
42
42
-
"std",
43
43
-
"deserialize",
44
44
-
] }
45
45
-
hex = "0.4.3"
46
46
-
miette = { version = "7.6.0", features = ["fancy"], default-features = false }
5
5
+
[workspace]
6
6
+
resolver = "3"
7
7
+
members = ["gleam2nix"]
+20
gleam2nix/Cargo.toml
···
1
1
+
# SPDX-FileCopyrightText: 2025 Ruby Iris Juric <ruby@srxl.me>
2
2
+
#
3
3
+
# SPDX-License-Identifier: 0BSD
4
4
+
5
5
+
[package]
6
6
+
name = "gleam2nix"
7
7
+
version = "0.1.0"
8
8
+
edition = "2024"
9
9
+
10
10
+
[dependencies]
11
11
+
base64 = "0.22.1"
12
12
+
facet = "0.29"
13
13
+
facet-args = "0.29"
14
14
+
facet-json = { version = "0.29", default-features = false }
15
15
+
facet-toml = { version = "0.29", default-features = false, features = [
16
16
+
"std",
17
17
+
"deserialize",
18
18
+
] }
19
19
+
hex = "0.4.3"
20
20
+
miette = { version = "7.6.0", features = ["fancy"], default-features = false }
+1
-1
nix/Cargo.nix
···
742
742
requiredFeatures = [ ];
743
743
}
744
744
];
745
745
-
src = lib.cleanSourceWith { filter = sourceFilter; src = ../.; };
745
745
+
src = lib.cleanSourceWith { filter = sourceFilter; src = ../gleam2nix; };
746
746
dependencies = [
747
747
{
748
748
name = "base64";
+1
-19
nix/gleam2nix.nix
···
3
3
# SPDX-License-Identifier: 0BSD
4
4
5
5
{
6
6
-
lib,
7
6
pkgs,
8
7
rust-toolchain,
9
8
}:
10
9
11
11
-
let
12
12
-
fs = lib.fileset;
13
13
-
fileset = fs.intersection (fs.gitTracked ../.) (
14
14
-
fs.unions [
15
15
-
../src
16
16
-
../Cargo.lock
17
17
-
../Cargo.toml
18
18
-
]
19
19
-
);
20
20
-
in
21
21
-
22
10
(pkgs.callPackage ./Cargo.nix {
23
11
buildRustCrateForPkgs =
24
12
pkgs':
···
26
14
cargo = rust-toolchain;
27
15
rustc = rust-toolchain;
28
16
};
29
29
-
}).rootCrate.build.overrideAttrs
30
30
-
{
31
31
-
src = fs.toSource {
32
32
-
root = ../.;
33
33
-
inherit fileset;
34
34
-
};
35
35
-
}
17
17
+
}).workspaceMembers.gleam2nix.build
src/app.rs
gleam2nix/src/app.rs
src/entrypoint.rs
gleam2nix/src/entrypoint.rs
src/gleam_toml.rs
gleam2nix/src/gleam_toml.rs
src/hash.rs
gleam2nix/src/hash.rs
src/main.rs
gleam2nix/src/main.rs
src/manifest.rs
gleam2nix/src/manifest.rs
src/nix.rs
gleam2nix/src/nix.rs