🍓🖼️🍹 A small thing where I can upload a file and get a link back. https://media.strawmelonjuice.com/
1{
2 description = "Strawmediajuice Development Environment";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 utils.url = "github:numtide/flake-utils";
7 fenix = {
8 url = "github:nix-community/fenix";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11 };
12
13 outputs =
14 {
15 self,
16 nixpkgs,
17 utils,
18 fenix,
19 ...
20 }:
21 utils.lib.eachDefaultSystem (
22 system:
23 let
24 pkgs = import nixpkgs { inherit system; };
25 # Define the Rust toolchain using Fenix
26 rustToolchain = fenix.packages.${system}.stable.withComponents [
27 "cargo"
28 "rustc"
29 "rustfmt"
30 "clippy"
31 "rust-analyzer"
32 "rust-src"
33 ];
34 in
35 {
36 devShells.default = pkgs.mkShell {
37 buildInputs = with pkgs; [
38 # Libraries
39 sqlite
40
41 # Language tool chains: Rust, Gleam
42 rustToolchain
43 gleam
44 # Dashboard prepper (and typescript runtime)
45 bun
46
47 # For tidying and typing
48 nodePackages.typescript
49 nodePackages.prettier
50 sqlx-cli
51
52 # Helpers on OS level
53 pkg-config
54 dbus
55
56 # Podman
57 podman
58
59 # Runners
60 watchexec
61 just
62 ];
63
64 shellHook = ''
65 export LD_LIBRARY_PATH="${pkgs.stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"
66 echo "❄️ Strawmediajuice dev environment loaded (with Fenix)!"
67 just --list
68 '';
69 };
70 }
71 );
72}