offline-first, p2p synced, atproto enabled, feed reader
1{
2 description = "feedline.at - feed reader";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let
12 pkgs = nixpkgs.legacyPackages.${system};
13
14 nodeVersion = "25.2.1";
15 nodePackage = pkgs.stdenv.mkDerivation {
16 pname = "nodejs";
17 version = nodeVersion;
18
19 src = builtins.fetchurl {
20 url = "https://nodejs.org/dist/v${nodeVersion}/node-v${nodeVersion}-linux-x64.tar.xz";
21 sha256 = "b9f6a97e81c89a9df45526b4f86dafdccaf12b82295f7bf35bdb2b0f5e68744f";
22 };
23
24 nativeBuildInputs = [ pkgs.autoPatchelfHook ];
25 buildInputs = [ pkgs.glib pkgs.stdenv.cc.cc.lib pkgs.python3 ];
26
27 dontBuild = true;
28 installPhase = ''
29 mkdir -p $out
30 cp -R ./ $out/
31 '';
32 };
33 in
34 {
35 devShells.default = pkgs.mkShell {
36 buildInputs = [
37 nodePackage
38 pkgs.audiowaveform
39 ];
40 };
41 }
42 );
43}