{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; fenix = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/fenix"; }; naersk = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/naersk"; }; }; outputs = { nixpkgs, naersk, fenix, ... }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; toolchain = fenix.packages.x86_64-linux.minimal.toolchain; in { devShells.x86_64-linux.default = pkgs.mkShell { buildInputs = [toolchain pkgs.xvfb-run]; shellHook = '' export RUSTUP_TOOLCHAIN=${toolchain} ''; }; packages.x86_64-linux.default = (naersk.lib.x86_64-linux.override { cargo = toolchain; rustc = toolchain; }).buildPackage { nativeBuildInputs = [pkgs.makeWrapper]; src = ./.; postInstall = '' wrapProgram $out/bin/anki-cli \ --prefix PATH : ${pkgs.xvfb-run}/bin ''; }; }; }