{
description = "Dumb curses git browser for reading files from arbitraty git revisions ";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
systems.url = "github:nix-systems/default";
utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};
};
outputs = { self, nixpkgs, utils, ... }:
(utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
inherit (pkgs) pkgsStatic;
in
{
packages =
{
gitbrowser-rs =
pkgs.rustPlatform.buildRustPackage {
pname = "gitbrowser-rs";
version = "0.1.0";
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
};
gitbrowser-rs-static =
pkgsStatic.rustPlatform.buildRustPackage {
pname = "gitbrowser-rs";
version = "0.1.0";
src = ./.;
cargoLock.lockFile = ./Cargo.lock;
};
default = self.packages.${system}.gitbrowser-rs;
};
apps = {
default = self.apps."${system}".gitbrowser-rs;
gitbrowser-rs = {
type = "app";
program = "${self.packages."${system}".default}/bin/gitbrowser-rs";
};
};
devShells.default = pkgs.mkShell {
inputsFrom = [ self.packages.${system}.gitbrowser-rs ];
packages = with pkgs; [
cargo
rustc
rust-analyzer
rustfmt
clippy
rust.packages.stable.rustPlatform.rustLibSrc
];
};
})) // {
overlays.default = final: prev: {
gitbrowser-rs = self.packages.${prev.stdenv.hostPlatform.system}.gitbrowser-rs;
};
};
}