open-goverance/flake.nix

88 lines
2.9 KiB
Nix

{
description = "UL Computer Society Open Governance";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
utils.url = "github:numtide/flake-utils";
bfom.url = "gitlab:silver_rust/bfom";
};
/*
sudo nano /etc/nix/nix.conf
trusted-users = {username}
*/
nixConfig = {
extra-substituters = "https://nix-cache.skynet.ie/skynet-cache";
extra-trusted-public-keys = "skynet-cache:zMFLzcRZPhUpjXUy8SF8Cf7KGAZwo98SKrzeXvdWABo=";
};
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
'';
};
packages = {
handovers = pkgs.writeShellScriptBin "format_handovers" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_handovers.sh}
'';
handovers_html = pkgs.writeShellScriptBin "format_handovers_html" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_handovers.sh} html
'';
minutes = pkgs.writeShellScriptBin "format_minutes" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_minutes.sh}
'';
minutes_html = pkgs.writeShellScriptBin "format_minutes_html" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_minutes.sh} html
'';
budget = pkgs.writeShellScriptBin "format_budget" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_budget.sh}
'';
budget_html = pkgs.writeShellScriptBin "format_budget_html" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_budget.sh} html
'';
events = pkgs.writeShellScriptBin "format_events" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_events.sh}
'';
events_html = pkgs.writeShellScriptBin "format_events_html" ''
export PATH=${pkgs.lib.makeBinPath [pkgs.wkhtmltopdf bfom.defaultPackage.x86_64-linux]}:$PATH
${./_scripts/format_events.sh} html
'';
};
});
}