presentations_compsoc/flake.nix

82 lines
1.9 KiB
Nix

{
description = "Skynet Presentations";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
utils.url = "github:numtide/flake-utils";
# nix flake lock --update-input bfom
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:OdfA4Or0JcHiHf05fsiIR4nZT2z2yDEtkoLqhntGAz4=";
};
outputs = {
self,
nixpkgs,
utils,
bfom,
...
}: utils.lib.eachDefaultSystem (
system: let
pkgs = (import nixpkgs) {
inherit system;
};
packages = with pkgs; [
# For teh presentations themselves
presenterm
# for exporting
(pkgs.python3.withPackages (python-pkgs: with python-pkgs; [
# for exporting
weasyprint
]))
# various languages to embed in it
## Java
# zulu24
## C
# gcc
## rust
# cargo
# rustc
## lua
# lua
## racket
# racket
## go
# go
];
in rec {
# `nix develop`
devShell = pkgs.mkShell {
packages = packages;
PRESENTERM_CONFIG_FILE = "config.yaml";
};
});
# @ inputs: let
# pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs;
# in {
# # `nix build`
# packages.x86_64-linux.default = pkgs.stdenv.mkDerivation {
# name = "slides.skynet.ie";
# src = self;
# buildPhase = "${bfom.defaultPackage.x86_64-linux}/bin/cargo-bfom";
# installPhase = "mkdir -p $out; cp -R build/* $out";
# };
#
# devShells.x86_64-linux.default = pkgs.mkShell {
# name = "Skynet presentations env";
# nativeBuildInputs = [
# bfom.defaultPackage.x86_64-linux
# ];
# };
# };
}