My flake files which I use to manage my local and remote machines
https://git.disroot.org/Zonsopkomst/flake
Zonsopkomst 21d4b545e8 | ||
---|---|---|
common | ||
config | ||
desktop | ||
display | ||
hosts | ||
reference | ||
users | ||
.Rhistory | ||
.directory | ||
.gitignore | ||
LICENSE.md | ||
README.md | ||
flake.lock | ||
flake.nix | ||
nixos.org |
README.md
My NixOS Configuraton File
This is my NixOS setup to manage multiple computers with a home-manager config structure using nix flakes.
Current Desktop Screenshot
Highlights:
- Multiple NixOS configurations: desktop, laptop, and hopefully a test server and eventually a full transition over from my Ubuntu server.
How to
- NixOS Installation
- Install NixOS on a computer using the default Gnome installer from https://nixos.org/download.html.
- Clone this repository zonsopkomst in the `/home// directory.
- Update the subdirectories in
hosts
andusers
.- Copy the
configuration.nix
andhardware-configuration.nix
files from the/etc/nixos
directory and move them tohosts/PLACE(local OR remote)/NEW_PC_NAME
. - Rename
configuration.nix
todefault.nix
and, updateflake.nix
located in the top directory, link the appropriate modules to be used. - Make sure the correct version of NixOS is listed in the appropriate files.
- Copy the
flake.nix
is where.nix
files are imported with further instructions on declared packages and modules.- Declare packages either globally under
/hosts/<location>/hostname/packages.nix
or/users/<username>/home-manager.nix
.
- Declare packages either globally under
- Rebuild NixOS ( must be include the first time rebuilding, after the first rebuild, .# can be used and the system will know which hostname is to be used)
- nix-channel --update
- nixos-rebuild switch --flake .#
- Push the updated git files to the repository so that they can be pulled and the system rebuilt during the next update.
Maintenance
- See
/config/.bashrc
foralias
usingnixos-rebuild --flake .#<hostname>
commands and other useful items
Sources
nix flakes home-manager 1. Added as unstable channel 1. sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager 1. sudo nix-channel --update
Structure
Directory | What is it for? |
---|---|
common | Shared configurations and modules |
config | Config files that are managed by NixOS |
desktop | Shared desktop configs |
display | Login Display managers |
hosts | The PCs deployed |
reference | Package list, git assets, notes, etc. |
users | Individual User configs |
flake.nix & flake.lock | Declared configuration using the above directories & configs |
Hosts
Hostname | Model | Type | RAM | Processor | Main Use |
---|---|---|---|---|---|
weda | Dell Inspiron 15 | Laptop | 16GB | AMD Ryzen 5 (Cezanne) | Business |
frija | Acer Aspire 3 | Laptop | 4GB | AMD A9 | Testing |
tyr | Intel i5 | Desktop | 16GB | Intel i5 | Media |
tii | Dell Lattitude 5511 | Laptop | 16GB | Intel i5 Quad (i5-10400H) | Remote |
tuisto | AMD Ryzen 5 | Desktop | 16GB | AMD Ryzen 5 (Renoir) | Remote |
sintanne | Intel i5 | Desktop | 16GB | Intel i5-11320H | Remote |
TODO | AMD Ryzen 5 | Server | ??GB | AMD 2200G | Test Server |
TODO | AMD Ryzen 5 | Server | ??GB | AMD 2200G | Main Server |