mirror of
https://gitlab.com/Zaney/zaneyos.git
synced 2024-11-28 01:23:10 +01:00
Update home
parent
31454cc50d
commit
ae5311f281
24
home.md
24
home.md
@ -1,23 +1 @@
|
||||
This is the actual in depth documentation on what ZaneyOS is, how it works, how it's organized, and why you might want to choose it.
|
||||
|
||||
![zaneyos-1400x600](uploads/c1d98476c5503897dca1e5054e8f3cb6/zaneyos-1400x600.jpg)
|
||||
|
||||
## Why Choose My Configuration?
|
||||
|
||||
I have gone through a lot of effort of making my configuration something that is simple to understand while remaining feature complete. My configuration is written as a NixOS Flake so you will need to be using NixOS. I will have a guide to replicating what I use down below.
|
||||
|
||||
### What Is A Flake?
|
||||
|
||||
For detailed information about flakes in general I will refer you to [here](https://nixos.wiki/wiki/Flakes). Now you can find this great excerpt from a [reddit](https://www.reddit.com/r/NixOS/comments/131fvqs/can_someone_explain_to_me_what_a_flake_is_like_im/) post that explains a lot.
|
||||
|
||||
"A flake.nix file is an attribute set with two attributes called inputs and outputs. The inputs attribute describes the other flakes that you would like to use; things like nixpkgs or home-manager. You have to give it the url where the code for that other flake is, and usually people use GitHub. The outputs attribute is a function, which is where we really start getting into the nix programming language. Nix will go and fetch all the inputs, load up their flake.nix files, and it will call your outputs function with all of their outputs as arguments. The outputs of a flake are just whatever its outputs function returns, which can be basically anything the flake wants it to be. Finally, nix records exactly which revision was fetched from GitHub in flake.lock so that the versions of all your inputs are pinned to the same thing until you manually update the lock file."
|
||||
|
||||
One of the incredible things Flakes do is create a flake.lock file when you run your first rebuild. This file contains the certain packages and their exact versions from whatever branch, stable or unstable, that your pulling from. Every time you rebuild the Flake uses this file to get its packages. This file is only updated when you run *nix flake update* - this means when you get my configuration and run it your running the exact same packages I am. This means no weird bugs due to getting a newer package with breaking changes.
|
||||
|
||||
### What About The ZaneyOS Flake?
|
||||
|
||||
My Flake controls where we are getting things from. **For the options that you as a user may want you should look at options.nix.** When you run the rebuild switch command with the flake argument and give it the ZaneyOS folder, it sources the flake.nix that sources the system.nix and home.nix which all use the options.nix to set different configuration settings.
|
||||
|
||||
The hardware.nix is automatically generated with all the things you need and the system.nix imports it and other nix files containing certain aspects of the config that may or may not change based on CPU or GPU settings.
|
||||
|
||||
![20240202_00h56m39s_grim](uploads/6b5f4c56d94ba48d185ac97214bf12b8/20240202_00h56m39s_grim.png)
|
||||
# [The Wiki Has Moved Here](https://zaney.org/zaneyos/)
|
Loading…
Reference in New Issue
Block a user