My completely new and rewritten NixOS! Nix Flakes are required
This configuration uses the snowflake lib for the file structure and flake usage
This Configuration is based on the snowflake lib folder structure, so its easy replicable
flake.nix
is the base file for everything. All things start and are managed from herehomes
is the folder where all home manager related, user content, is found. All users that are created will be found heresystems
all systems that this configuration has to offer can be found hereoverlays
for tools that need other packages or build changes.
modules/nixos
all nix configuration files can be found heremodules/home
all home manager configuration files can be found here
It is important to differentiate between home manager modules and nixos modules-
- Home Manager modules are for packages that are highly configurable and user specific. All packages and modules that is software, like an IDE or a social platform should all be installed with home manager
- NixOS should contain all system relevant changes. Networking, locale and many other things should be managed via NixOS.
Warning
Some Home-Manager Modules will only be activated if you activate the corresponding NixOS configuration
This configuration has different users and systems that could change from time to time.
- Xaiya
- My account! I do the most part on that; Development; Streaming; School; etc.
- Workaholic (Name will probably be changed)
- This account is used for all Work related stuff. I like to differentiate between work and private life so this is a perfect way to do it
- Semiko
- Semiko is the user who controls and maintains the server and its configuration
- The name comes from the russian word "family" and "co", meaning that some family members have access to this account
Note
This config is written in mind of the removal of Huckleberry!
- Pineapple
- Laptop. This is mostly used for programming, school and work.
- Apricot
- Server. This System is simply my Server, important day-to-day services like vault warden and firefly are hosted on here
- Huckleberry
- Tower. Gaming, Programing, Drawing (maybe). All you can think about!
There are 2 places where the secrets are saved:
-
secrets/
- These are encrypted by my yubikey, if you ever rekey something from a new device these will be used
-
systems/../../secrets/
- These are encrypted by the system itself, there are only keys that are used from the system!
Note
If you want to create a new Encryption, please do as follows:
- Add it to the code (age.secrets)
- go into a nix-shell (already created when building the system)
- edit the encryption (or generate it if it's a script)
- rekey that encryption (that way it will end up in the systems/../../secrets/ directory)
Some modules need manual changes before they can be used, otherwise they cant work.
- Jo Introduced me to NixOS and helped me out on the starting stages of the Nix Language!