sneedstr/flake.nix

61 lines
1.6 KiB
Nix

{
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";
};
};
});
}