shell.nix -> flake.nix #61
|
@ -0,0 +1,9 @@
|
||||||
|
*.out
|
||||||
|
*.log
|
||||||
|
*.aux
|
||||||
|
|
||||||
|
_minted-*
|
||||||
|
build
|
||||||
|
result
|
||||||
|
|
||||||
|
images/unsorted
|
|
@ -0,0 +1,13 @@
|
||||||
|
inputs = 1124 2118-2128 2238 2245 4410-4412 4456 5108 5432 5518-5528 5568 7210
|
||||||
|
dir = build
|
||||||
|
|
||||||
|
all: $(inputs)
|
||||||
|
|
||||||
|
$(inputs) : % : %.tex
|
||||||
|
pdflatex -shell-escape $@.tex
|
||||||
|
if ! test -d "$(dir)"; then mkdir build; fi
|
||||||
|
mv $@.pdf build/
|
||||||
|
rm $@.log
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -r _minted* *.aux *.out
|
|
@ -0,0 +1,20 @@
|
||||||
|
# sinara-hw/datasheets
|
||||||
|
|
||||||
|
Repository for Sinara hardware datasheets.
|
||||||
|
|
||||||
|
## Build all
|
||||||
|
|
||||||
|
```shell
|
||||||
|
nix build .#all-pdfs
|
||||||
|
```
|
||||||
|
|
||||||
|
Output files will be in `result`.
|
||||||
|
|
||||||
|
### Build individual sheets
|
||||||
|
|
||||||
|
```shell
|
||||||
|
nix develop
|
||||||
|
make 1124
|
||||||
|
```
|
||||||
|
|
||||||
|
Output files will be in `build`. Run make twice in a row to get correct output for all LaTeX features, i.e. in particular correct "page x of y" footnotes, which require two passes of the compiler. (`#all-pdfs` already does this automatically). Auxiliary files and clutter can be removed with `make clean`.
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729880355,
|
||||||
|
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
description = "Sinara datasheets";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs }:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { system = "x86_64-linux";};
|
||||||
|
|
||||||
|
latex-pkgs = pkgs.texlive.combine {
|
||||||
|
inherit (pkgs.texlive)
|
||||||
|
scheme-small collection-latexextra collection-fontsextra
|
||||||
|
collection-fontsrecommended cbfonts-fd cbfonts palatino textgreek helvetic
|
||||||
|
greek-inputenc maths-symbols mathpazo babel isodate tcolorbox etoolbox
|
||||||
|
pgfplots visualtikz quantikz tikz-feynman circuitikz
|
||||||
|
minted pst-graphicx;
|
||||||
|
};
|
||||||
|
|
||||||
|
python-pkgs = with pkgs.python3Packages; [ pygments ];
|
||||||
|
|
||||||
|
in rec {
|
||||||
|
|
||||||
|
all-pdfs = pkgs.stdenvNoCC.mkDerivation rec {
|
||||||
|
name = "datasheets-pdfs";
|
||||||
|
src = self;
|
||||||
|
buildInputs = [ latex-pkgs ] ++ python-pkgs;
|
||||||
|
|||||||
|
# is there a better way to get .aux/.out files correct than to just run latexpdf twice?
|
||||||
|
buildPhase = ''
|
||||||
|
make all
|
||||||
|
make all
|
||||||
|
'';
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
cp build/*.pdf $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
||||||
|
name = "datasheet-dev-shell";
|
||||||
|
buildInputs = [ latex-pkgs ] ++ python-pkgs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
44
shell.nix
44
shell.nix
|
@ -1,44 +0,0 @@
|
||||||
let
|
|
||||||
pkgs = import <nixpkgs> {};
|
|
||||||
in
|
|
||||||
pkgs.mkShell {
|
|
||||||
buildInputs = [
|
|
||||||
|
|
||||||
#pkgs.texlive.combined.scheme-small
|
|
||||||
|
|
||||||
(pkgs.texlive.combine {
|
|
||||||
inherit (pkgs.texlive)
|
|
||||||
scheme-small
|
|
||||||
collection-latexextra
|
|
||||||
collection-fontsextra
|
|
||||||
collection-fontsrecommended
|
|
||||||
palatino
|
|
||||||
textgreek
|
|
||||||
minted
|
|
||||||
tcolorbox
|
|
||||||
etoolbox
|
|
||||||
maths-symbols
|
|
||||||
greek-inputenc
|
|
||||||
babel
|
|
||||||
isodate
|
|
||||||
pst-graphicx
|
|
||||||
visualtikz
|
|
||||||
quantikz
|
|
||||||
tikz-feynman
|
|
||||||
pgfplots
|
|
||||||
cbfonts-fd
|
|
||||||
cbfonts
|
|
||||||
mathpazo
|
|
||||||
helvetic
|
|
||||||
circuitikz ;
|
|
||||||
|
|
||||||
# To compile, call:
|
|
||||||
# $ pdflatex -shell-escape xxx.tex
|
|
||||||
# if missing packages, you can search if the required tex packages is in nixpkgs or not from here
|
|
||||||
# https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/tools/typesetting/tex/texlive/pkgs.nix
|
|
||||||
# if available, just add it to the above list
|
|
||||||
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
List of lists?
Is this better?