-
Notifications
You must be signed in to change notification settings - Fork 1
/
flake.nix
118 lines (101 loc) · 2.63 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
description = "Site para os resumos da universidade";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
pandoc-norg-rs.url = "github:JCapucho/pandoc-norg-rs";
pandoc-norg-rs.inputs.nixpkgs.follows = "nixpkgs";
jupyenv.url = "github:tweag/jupyenv";
};
outputs = {
nixpkgs,
flake-utils,
pandoc-norg-rs,
jupyenv,
...
}:
flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
inherit (jupyenv.lib.${system}) mkJupyterlabNew;
jupyterlab = mkJupyterlabNew ({...}: {
nixpkgs = nixpkgs;
imports = [
({pkgs, ...}: {
kernel.python.minimal = {
enable = true;
# extraPackages = ps: [ps.ipympl];
};
})
];
});
base-py-pkgs = pyPkgs:
with pyPkgs; [
numpy
sympy
matplotlib
ipykernel
nbconvert
];
python-dev = pkgs.python3.withPackages base-py-pkgs;
resumos-fonts = pkgs.callPackage ./fonts/custom-fonts.nix {};
buildSite = pkgs.writeScriptBin "build-site" ''
set -eu
cp ${resumos-fonts}/* fonts/
bun install
bun run build
bun run index
'';
base-pkgs = with pkgs; [
bun
yarn
nodejs_latest
pandoc
pandoc-norg-rs.packages.${system}.default
(pkgs.python3.withPackages base-py-pkgs)
];
in {
packages = {
jupyter = jupyterlab;
inherit resumos-fonts;
};
devShells = {
prod = pkgs.mkShell {
buildInputs = base-pkgs ++ [buildSite];
};
default = pkgs.mkShell {
buildInputs =
base-pkgs
++ (with pkgs; [
# C
gdb
bear
valgrind
clang-tools
# Python
black
python-dev
nodePackages.pyright
# Java
jdk
jdt-language-server
# .Net
dotnet-sdk
# Node
nodePackages.prettier
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages."@tailwindcss/language-server"
texlab
]);
shellHook = ''
cp -f ${resumos-fonts}/* fonts/
'';
};
};
apps.jupyter.type = "app";
apps.jupyter.program = "${jupyterlab}/bin/jupyter-lab";
});
}