A decentralized music tracking and discovery platform built on AT Protocol 馃幍
rocksky.app
spotify
atproto
lastfm
musicbrainz
scrobbling
listenbrainz
1{
2 description = "A Nix-flake-based Rust development environment";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/release-25.05";
6 flake-utils.url = "github:numtide/flake-utils";
7
8 rocksky-cli.url = "path:./apps/cli";
9 rocksky-cli.inputs.nixpkgs.follows = "nixpkgs";
10 rocksky-cli.inputs.flake-utils.follows = "flake-utils";
11 };
12
13 outputs = {
14 self,
15 nixpkgs,
16 flake-utils,
17 rocksky-cli,
18 }:
19 flake-utils.lib.eachDefaultSystem (system:
20 let
21 pkgs = import nixpkgs {
22 inherit system;
23 };
24
25 lib = pkgs.lib;
26 in {
27 devShells.default = pkgs.mkShell {
28 buildInputs =
29 [
30 pkgs.cargo
31 pkgs.rustc
32 pkgs.rustfmt
33 pkgs.rustPackages.clippy
34 pkgs.bun
35 pkgs.nodejs
36 pkgs.duckdb
37 pkgs.turbo
38 pkgs.git
39 pkgs.wasm-pack
40 pkgs.gcc
41 pkgs.gnumake
42 pkgs.pkg-config
43 pkgs.readline
44 pkgs.flex
45 pkgs.bison
46 pkgs.binutils
47 pkgs.clang
48 rocksky-cli.packages.${system}.default
49 ]
50 ++ lib.optionals pkgs.stdenv.isLinux [
51 pkgs.glibc.dev
52 ]
53 ++ lib.optionals pkgs.stdenv.isDarwin [
54 pkgs.libiconv
55 ];
56 };
57 });
58}