linkletter 0.1.0

URL replacement and analytics service
{
  description = "URL replacement and analytics service";

  inputs = {
    nixpkgs.url = github:NixOS/nixpkgs/nixos-26.05;
    rust-overlay = {
      url = "github:oxalica/rust-overlay";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { self, nixpkgs, rust-overlay, ... }@inputs:
    let
      system = "x86_64-linux";
      overlays = [ rust-overlay.overlays.default ];
      pkgs = import nixpkgs { inherit system overlays; };
      rust = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
    in
    {
      packages.${system} = rec {
        default = linkletter;
        linkletter = pkgs.rustPlatform.buildRustPackage {
          pname = "linkletter";
          version = "0.1.0";

          src = ./.;
          cargoLock.lockFile = ./Cargo.lock;

          DATABASE_URL = "sqlite://db/schema.db";

          meta = {
            description = "URL replacement and analytics service";
            homepage = "https://github.com/mrbjarksen/linkletter";
            licence = nixpkgs.lib.licences.gpl2Only;
            maintainers = with nixpkgs.lib.maintainers; [ mrbjarksen ];
          };
        };
      };

      devShells.${system}.default = pkgs.mkShell rec {
        packages = [ rust pkgs.sqlite ];
      };
    };
}