hmemcpy / milewski-ctfp-pdf

Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
Other
10.93k stars 587 forks source link

refactor: CI and nix #306

Closed drupol closed 1 year ago

drupol commented 1 year ago

Hi,

The motivation of this PR is reproducibility and accessibility. I want to make sure that anyone will be able to build the PDFs using the same mechanism and workflow and that everyone will use the same version of dependencies to better track potential issues.

I've been working with Nix and LaTeX at work and for personal stuff lately and I'm now ready to upgrade this project with the best practices and technologies. The idea here is to make sure we don't break the build system based on Nix and provide a better development environment for contributors.

Status:

Collateral things:

hmemcpy commented 1 year ago

I really appreciate the hard work you're putting in this <3

drupol commented 1 year ago

Thanks mate, it's been a while I wanted to do that... but I was lacking knowledge in LaTeX and Nix... and I think now it is the time :) I'll finish this today after work.

hmemcpy commented 1 year ago

Awesome, because I haven't touched this stuff in years :) Go for it!

hmemcpy commented 1 year ago

Please make sure all those indentations now in code snippets do not render as extra whitespace.

drupol commented 1 year ago

Please make sure all those indentations now in code snippets do not render as extra whitespace.

There is a configuration file .latexindent.yaml which prevent the verbatim environment to be modified. So it's all good.

hmemcpy commented 1 year ago

<3

drupol commented 1 year ago

I think this PR is ready, let me know if you're ok with it :)

drupol commented 1 year ago

I know it's a lot to review.

That said, I tried to be very cautious and tidy with commits.

The easiest way to review such PR is to click on each commit and understand what it's doing.

Let me know if something needs to be changed.