Something went wrong. Try again.
Highly ambitious ATProtocol AppView service and sdks forked from slices.network/slices
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104{ description = "Frontend for Slices";
inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; };
outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems;
mkPackagesForSystem = system: let pkgs = import nixpkgs { inherit system; config = { allowUnfree = true; }; };
# Compile the Deno binary with all dependencies slice-frontend = pkgs.stdenv.mkDerivation { pname = "slice-frontend"; version = "0.1.0"; src = ./.;
nativeBuildInputs = [ pkgs.deno ];
# Fixed output derivation to allow network access outputHashMode = "recursive"; outputHashAlgo = "sha256"; outputHash = "sha256-Gfi8gkC2pYtiFktpU/qBzehLIhciEla7ECWGYWSUnXw=";
buildPhase = '' export HOME=$PWD export DENO_DIR=$PWD/.deno mkdir -p .deno mkdir -p $out/bin deno compile -A --unstable-kv --no-check --target x86_64-unknown-linux-gnu --output $out/bin/slice-frontend src/main.ts ''; };
# Docker image for frontend frontendImg = pkgs.dockerTools.buildImage { name = "slice-frontend"; tag = "latest"; fromImage = pkgs.dockerTools.pullImage { imageName = "debian"; imageDigest = "sha256:45f2e735295654f13e3be10da2a6892c708f71a71be845818f0058565d2d2076"; sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; }; copyToRoot = pkgs.buildEnv { name = "image-root"; paths = [ slice-frontend pkgs.sqlite pkgs.cacert ]; pathsToLink = [ "/bin" "/etc" ]; };
runAsRoot = '' #!${pkgs.runtimeShell} # Create data directory for Deno KV with proper permissions mkdir -p /data chmod 755 /data '';
config = { Cmd = [ "/bin/slice-frontend" ]; ExposedPorts = { "8080/tcp" = {}; }; WorkingDir = "/"; Env = [ "PORT=8080" "DATABASE_URL=sqlite:///data/slices.db" ]; }; };
in { inherit slice-frontend frontendImg; default = slice-frontend; }; in { packages = forAllSystems mkPackagesForSystem;
devShells = forAllSystems (system: let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.mkShell { packages = with pkgs; [ deno nixpkgs-fmt ]; }; }); };}