mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-02-07 21:18:59 +00:00
1 line
10 KiB
JSON
1 line
10 KiB
JSON
![]() |
{"pageProps":{"metadata":{"date":"\"2021-06-05 12:34:49 +08:00\"","date_modified":"\"2021-07-28 16:31:56 +08:00\"","language":"en","source":""},"title":"Nix package manager","hast":{"type":"root","children":[{"type":"element","tagName":"nav","properties":{"className":"toc"},"children":[{"type":"element","tagName":"ol","properties":{"className":"toc-level toc-level-1"},"children":[{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"ecosystem"},"children":[{"type":"text","value":"Ecosystem"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/tools.nix#ecosystem"},"children":[{"type":"text","value":"Ecosystem"}]}]},{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"components-of-the-package-manager"},"children":[{"type":"text","value":"Components of the package manager"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/tools.nix#components-of-the-package-manager"},"children":[{"type":"text","value":"Components of the package manager"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://nixos.org/"},"children":[{"type":"text","value":"Nix"}]},{"type":"text","value":" is a package manager that pioneered "},{"type":"element","tagName":"a","properties":{"href":"/2020-09-19-08-31-48"},"children":[{"type":"text","value":"Functional package management"}]},{"type":"text","value":" which addresses the criticisms of traditional Unix systems while making it as a specialized tool for "},{"type":"element","tagName":"a","properties":{"href":"/2020-09-14-10-46-15"},"children":[{"type":"text","value":"Reproducible builds"}]},{"type":"text","value":".\nIt features a handrolled configuration language (also called Nix) that leans into functional paradigm, making it easier if you have experience on it.\nA popular tool mostly featured in Haskell programming projects.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Eventually inspired GNU to create a fork, "},{"type":"element","tagName":"a","properties":{"href":"/2020-08-19-08-21-44"},"children":[{"type":"text","value":"Guix package manager"}]},{"type":"text","value":", that takes it to another direction with more focus on reproducibility and its extensions such as bootstrapping.\n"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Among other things, Nix also has the following features to look out for.\n"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Creating "},{"type":"element","tagName":"a","properties":{"href":"/tools.nix.reproducible-executables"},"children":[{"type":"text","value":"Reproducible executables with Nix"}]},{"type":"text","value":" enabling to execute with one script only requiring the package manager.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"How the build process works along with "},{"type":"element","tagName":"a","properties":{"href":"/tools.nix.derivations"},"children":[{"type":"text","value":"Nix derivations"}]},{"type":"text","value":".\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"With "},{"type":"element","tagName":"a","properties":{"href":"/tools.nix.overrides-and-overlays"},"children":[{"type":"text","value":"Nix overrides and overlays"}]},{"type":"text","value":", you can change parts of a system and/or packages.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","propertie
|