open-goverance/flake.nix

60 lines
1.4 KiB
Nix
Raw Normal View History

{
description = "UL Computer Society Open Governance";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
utils.url = "github:numtide/flake-utils";
bfom.url = "gitlab:silver_rust/bfom";
};
2024-05-11 17:14:35 +00:00
/*
sudo nano /etc/nix/nix.conf
trusted-users = {username}
*/
nixConfig = {
2024-05-12 02:14:39 +00:00
extra-substituters = "https://nix-cache.skynet.ie/skynet-cache";
extra-trusted-public-keys = "skynet-cache:OdfA4Or0JcHiHf05fsiIR4nZT2z2yDEtkoLqhntGAz4=";
2024-05-11 17:14:35 +00:00
};
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}
'';
};
});
}