{ inputs = { flake-utils.url = "github:numtide/flake-utils"; naersk.url = "github:nix-community/naersk"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; outputs = { self, flake-utils, naersk, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: let pkgs = (import nixpkgs) { inherit system; }; naersk' = pkgs.callPackage naersk { }; wwwPath = "www"; in rec { # For `nix build` & `nix run`: packages.default = naersk'.buildPackage { src = ./.; nativeBuildInputs = with pkgs; [ pkg-config openssl sqlite ]; GIT_HASH = "000000000000000000000000000000"; postInstall = '' mkdir -p $out/templates mkdir -p $out/www cp -r ${wwwPath} $out/ ''; }; nixosModules.default = { inputs, pkgs, ... }: { imports = [ ./modules/sneedstr.nix ]; }; # For `nix develop`: devShells.default = pkgs.mkShell { nativeBuildInputs = with pkgs; [ rustc cargo cargo-watch clippy rustfmt rust-analyzer pkg-config openssl sqlite ]; env = { DATABASE_URL = "/tmp/sqlite.db"; ADMIN_PUBKEY = "npub1m2w0ckmkgj4wtvl8muwjynh56j3qd4nddca4exdg4mdrkepvfnhsmusy54"; CONFIG_ENABLE_AUTH = "false"; CONFIG_RELAY_URL = "ws://0.0.0.0:8080"; RUST_BACKTRACE = 1; RUST_LOG = "debug"; }; }; }); }