{ description = "UL Computer Society Open Governance"; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; utils.url = "github:numtide/flake-utils"; bfom.url = "gitlab:silver_rust/bfom"; }; outputs = { self, nixpkgs, utils, bfom }: utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { system = "${system}"; config = { allowUnfree = true; permittedInsecurePackages = [ # for obsidian "electron-25.9.0" # for wkhtmltopdf "qtwebkit-5.212.0-alpha4" ]; }; }; in rec { # `nix develop` devShell = pkgs.mkShell { nativeBuildInputs = with pkgs; [ obsidian ]; shellHook = '' ${pkgs.obsidian}/bin/obsidian & BG_PID=$! trap "kill -9 $BG_PID" EXIT ''; }; apps.bfom = { type = "app"; program = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom"; }; packages = { handovers = pkgs.writeShellScriptBin "format_handovers" '' export PATH=${pkgs.lib.makeBinPath [ pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux ]}:$PATH ${./_scripts/format_handovers.sh} ''; }; }); }