mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 01:57:54 +00:00
24 lines
10 KiB
HTML
24 lines
10 KiB
HTML
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>NixOS</title><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script><script type="text/x-mathjax-config">
|
|
MathJax = {
|
|
tex: {
|
|
inlineMath: [ ['$','$'], ['\(','\)'] ],
|
|
displayMath: [ ['$$','$$'], ['[',']'] ]
|
|
},
|
|
options = {
|
|
processHtmlClass = "math"
|
|
}
|
|
}
|
|
</script><meta name="next-head-count" content="6"/><link rel="preload" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" as="style"/><link rel="stylesheet" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" data-n-g=""/><noscript data-n-css=""></noscript><link rel="preload" href="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" as="script"/></head><body><div id="__next"><main><h1>NixOS</h1><section class="post-metadata"><span>Date: <!-- -->2021-08-28 17:11:24 +08:00</span><span>Date modified: <!-- -->2022-05-22 21:23:19 +08:00</span></section><nav class="toc"><ol class="toc-level toc-level-1"></ol></nav><ul><li><p>an operating system that uses <a href="/wiki/tools.nix">Nix package manager</a> as the core component to build a whole operating system;
|
|
this make NixOS as an image-based operating system similar to <a href="roam:Fedora Silverblue">roam:Fedora Silverblue</a>, <a href="roam:MicroOS">roam:MicroOS</a>, and <a href="roam:Endless OS">roam:Endless OS</a></p></li><li><p>despite being mentioned to the aforementioned image-based operating systems, it isn't an immutable system;
|
|
NixOS itself is not immutable as you can still interact with the system just like with traditional Linux-based OS;
|
|
most of the system is set up by the package manager which does have an inherent property of being immutable but this doesn't make NixOS an immutable system
|
|
</p></li><li><p>most of the workflow and ecosystem comes from the central repository for any Nix-related system: <a href="roam:nixpkgs">roam:nixpkgs</a>;
|
|
it is where most of the <a href="roam:NixOS modules">roam:NixOS modules</a> come from
|
|
</p></li><li><p>it isn't really like the traditional Linux distros that you'll see as it has made decisions that can majorly affect how you daily-drive the system
|
|
</p><ul><li><p>the Filesystem Hierarchy Standard (FHS) is nowhere to be found;
|
|
there is only the <code class="inline-verbatim">/bin/sh</code> and <code class="inline-verbatim">/usr/bin/env</code> which is there for convenience purposes which is nice if you rely on some scripts
|
|
</p></li><li><p>the absence of the FHS alone has some implications;
|
|
one of them is the inability to run precompiled binaries (including AppImages which rely on system libraries) since most of them rely on the files that are expected to be present in the traditional distros like Debian and Fedora
|
|
</p></li><li><p>because of the non-existent FHS, you have to compile and/or create a derivation for that project;
|
|
workarounds exists for certain situations like AppImages and programs that expects a system with FHS but you still have to create a Nix package for it
|
|
</p></li></ul></li></ul><section><h2>Backlinks</h2><ul><li><a href="/wiki/linux.all-distros-are-their-own">How all Linux distros are technically operating systems of their own</a></li><li><a href="/wiki/linux.systemd.bootloader">systemd-boot</a></li><li><a href="/wiki/tools.nix.flakes">Nix flakes</a></li></ul></section></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"metadata":{"date":"2021-08-28 17:11:24 +08:00","date_modified":"2022-05-22 21:23:19 +08:00","language":"en","source":""},"title":"NixOS","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":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"an operating system that uses "},{"type":"element","tagName":"a","properties":{"href":"/tools.nix"},"children":[{"type":"text","value":"Nix package manager"}]},{"type":"text","value":" as the core component to build a whole operating system;\n this make NixOS as an image-based operating system similar to "},{"type":"element","tagName":"a","properties":{"href":"roam:Fedora Silverblue"},"children":[{"type":"text","value":"roam:Fedora Silverblue"}]},{"type":"text","value":", "},{"type":"element","tagName":"a","properties":{"href":"roam:MicroOS"},"children":[{"type":"text","value":"roam:MicroOS"}]},{"type":"text","value":", and "},{"type":"element","tagName":"a","properties":{"href":"roam:Endless OS"},"children":[{"type":"text","value":"roam:Endless OS"}]}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"despite being mentioned to the aforementioned image-based operating systems, it isn't an immutable system;\n NixOS itself is not immutable as you can still interact with the system just like with traditional Linux-based OS;\n most of the system is set up by the package manager which does have an inherent property of being immutable but this doesn't make NixOS an immutable system\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"most of the workflow and ecosystem comes from the central repository for any Nix-related system: "},{"type":"element","tagName":"a","properties":{"href":"roam:nixpkgs"},"children":[{"type":"text","value":"roam:nixpkgs"}]},{"type":"text","value":";\n it is where most of the "},{"type":"element","tagName":"a","properties":{"href":"roam:NixOS modules"},"children":[{"type":"text","value":"roam:NixOS modules"}]},{"type":"text","value":" come from\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"it isn't really like the traditional Linux distros that you'll see as it has made decisions that can majorly affect how you daily-drive the system\n"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"the Filesystem Hierarchy Standard (FHS) is nowhere to be found;\n there is only the "},{"type":"element","tagName":"code","properties":{"className":["inline-verbatim"]},"children":[{"type":"text","value":"/bin/sh"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{"className":["inline-verbatim"]},"children":[{"type":"text","value":"/usr/bin/env"}]},{"type":"text","value":" which is there for convenience purposes which is nice if you rely on some scripts\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"the absence of the FHS alone has some implications;\n one of them is the inability to run precompiled binaries (including AppImages which rely on system libraries) since most of them rely on the files that are expected to be present in the traditional distros like Debian and Fedora\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"because of the non-existent FHS, you have to compile and/or create a derivation for that project;\n workarounds exists for certain situations like AppImages and programs that expects a system with FHS but you still have to create a Nix package for it\n"}]}]}]}]}]}]},"backlinks":[{"path":"/linux.all-distros-are-their-own","title":"How all Linux distros are technically operating systems of their own"},{"path":"/linux.systemd.bootloader","title":"systemd-boot"},{"path":"/tools.nix.flakes","title":"Nix flakes"}]},"__N_SSG":true},"page":"/[[...slug]]","query":{"slug":["linux.distros.nixos"]},"buildId":"Ie9t5zutrXP6Of75Cb5xF","assetPrefix":"/wiki","nextExport":false,"isFallback":false,"gsp":true}</script><script nomodule="" src="/wiki/_next/static/chunks/polyfills-99d808df29361cf7ffb1.js"></script><script src="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" async=""></script><script src="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" async=""></script><script src="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" async=""></script><script src="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" async=""></script><script src="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" async=""></script><script src="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" async=""></script><script src="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_buildManifest.js" async=""></script><script src="/wiki/_next/static/Ie9t5zutrXP6Of75Cb5xF/_ssgManifest.js" async=""></script></body></html> |