1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 openssl,
7 installShellFiles,
8 nix-update-script,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "flake-edit";
13 version = "0.0.2";
14
15 src = fetchFromGitHub {
16 owner = "a-kenji";
17 repo = "flake-edit";
18 rev = "v${version}";
19 hash = "sha256-7n8WANm9AijZYI5nlnevLI+aZtV55teroeQIEld7tkE=";
20 };
21
22 cargoHash = "sha256-hK79yHSneD9OFm+M+RPSfu6HW1MmdpcMLysPIKlFDv8=";
23
24 nativeBuildInputs = [
25 installShellFiles
26 pkg-config
27 ];
28
29 buildInputs = [ openssl ];
30
31 env.ASSET_DIR = "target/assets";
32
33 postInstall = ''
34 installManPage target/assets/flake-edit.1
35
36 installShellCompletion --bash --name flake-edit.bash target/assets/flake-edit.bash
37 installShellCompletion --fish --name flake-edit.fish target/assets/flake-edit.fish
38 installShellCompletion --zsh --name _flake-edit target/assets/_flake-edit
39 '';
40
41 passthru.updateScript = nix-update-script { };
42
43 meta = {
44 description = "Edit your flake inputs with ease";
45 homepage = "https://github.com/a-kenji/flake-edit";
46 changelog = "https://github.com/a-kenji/flake-edit/blob/${src.rev}/CHANGELOG.md";
47 license = lib.licenses.mit;
48 maintainers = with lib.maintainers; [ a-kenji ];
49 mainProgram = "flake-edit";
50 };
51}