My undergraduate thesis on a capability based security system for a data-centric operating system.
1{
2 description = "A Nix-flake-based Typst development environment";
3
4 inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; # unstable Nixpkgs
5
6 outputs =
7 { self, ... }@inputs:
8
9 let
10 supportedSystems = [
11 "x86_64-linux"
12 "aarch64-linux"
13 "x86_64-darwin"
14 "aarch64-darwin"
15 ];
16 forEachSupportedSystem =
17 f:
18 inputs.nixpkgs.lib.genAttrs supportedSystems (
19 system:
20 f {
21 inherit system;
22 pkgs = import inputs.nixpkgs {
23 inherit system;
24 };
25 }
26 );
27 in
28 {
29 devShells = forEachSupportedSystem (
30 { pkgs, system }:
31 {
32 default = pkgs.mkShellNoCC {
33 packages =
34 with pkgs;
35 [
36 typst
37 typstyle
38 tinymist
39 self.formatter.${system}
40 ]
41 ++ (with typstPackages; [
42 # Typst packages
43 ]);
44 };
45 }
46 );
47
48 formatter = forEachSupportedSystem ({ pkgs, ... }: pkgs.nixfmt);
49 };
50}