Revamp nix packaging

This commit is contained in:
Oystein Kristoffer Tveit 2025-03-21 15:12:06 +01:00
parent 07e842660b
commit bbe4cf05cb
Signed by: oysteikt
GPG Key ID: 9F2F7D8250F35146
3 changed files with 28 additions and 16 deletions

3
.gitignore vendored

@ -1 +1,4 @@
/target
result
result-*

@ -1,22 +1,35 @@
{
lib
, fetchFromGitHub
, stdenv
, buildPackages
, rustPlatform
, makeWrapper
, mpv
, installShellFiles
}:
let
cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml);
in
rustPlatform.buildRustPackage rec {
pname = "thumbctl";
version = "0.1.0";
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = lib.cleanSource ./.;
nativeBuildInputs = [ makeWrapper ];
cargoLock.lockFile = ./Cargo.lock;
cargoHash = "";
nativeBuildInputs = [
installShellFiles
];
postInstall = let
emulator = stdenv.hostPlatform.emulator buildPackages;
in ''
installShellCompletion --cmd thumbctl \
--bash <(${emulator} $out/bin/thumbctl generate-completions --shell bash) \
--zsh <(${emulator} $out/bin/thumbctl generate-completions --shell zsh) \
--fish <(${emulator} $out/bin/thumbctl generate-completions --shell fish)
'';
meta = with lib; {
license = licenses.mit;
license = licenses.gpl3Only;
maintainers = with maintainers; [ h7x4 ];
platforms = platforms.linux;
mainProgram = "thumbctl";

@ -25,7 +25,9 @@
};
rust-bin = rust-overlay.lib.mkRustBin { } pkgs.buildPackages;
toolchain = rust-bin.stable.latest.default;
toolchain = rust-bin.stable.latest.default.override {
extensions = [ "rust-src" "rust-analyzer" "rust-std" ];
};
in f system pkgs toolchain);
in {
apps = forAllSystems (system: pkgs: _: {
@ -42,12 +44,6 @@
default = pkgs.mkShell {
nativeBuildInputs = [
toolchain
pkgs.pkg-config
];
buildInputs = [
# pkgs.systemdLibs.dev
pkgs.dbus.dev
];
RUST_SRC_PATH = "${toolchain}/lib/rustlib/src/rust/library";