Updated README

This commit is contained in:
Zonsopkomst 2023-11-29 19:54:32 -06:00
parent bd0f0d2e25
commit eefa3b5400
2 changed files with 9 additions and 80 deletions

View File

@ -1,71 +0,0 @@
---
#+title: Flake Readme
#+author: Zonsopkomst
#+date: 2022-11-30
---
# 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
![Gnome](https://git.disroot.org/Zonsopkomst/flake/raw/branch/working/reference/assets/2023-09-21_09-18.png)
*Gnome*
## Highlights:
* Multiple NixOS configurations: desktop, laptop, and hopefully a test server and eventually a full transition over from my Ubuntu server.
## How to
![Process](https://git.disroot.org/Zonsopkomst/flake/raw/branch/working/reference/assets/underpants-gnomes.png)
*Source: South Park*
1. NixOS Installation
1. Install NixOS on a computer using the default Gnome installer from https://nixos.org/download.html.
1. Clone this repository [zonsopkomst](https://git.disroot.org/zonsopkomst) in the `/home/<username>/ directory.
1. Update the subdirectories in `hosts` and `users`.
1. Copy the `configuration.nix` and `hardware-configuration.nix` files from the `/etc/nixos` directory and move them to `hosts/PLACE(local OR remote)/NEW_PC_NAME`.
1. Rename `configuration.nix` to `default.nix` and, update `flake.nix` located in the top directory, link the appropriate modules to be used.
2. Segment out items from new `default.nix` to appropriate `.nix` files.
3. Make sure the correct version of NixOS is listed in the appropriate files.
2. `flake.nix` is where `.nix` files are imported with further instructions on declared packages and modules.
1. Declare packages either globally under `/hosts/<location>/hostname/packages.nix` or `/users/<username>/home-manager.nix`.
3. Rebuild NixOS *(<hostname> 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)*
1. ~~nix-channel --update~~ *May no longer be neccessary due to using a flake - need to look into further*
2. `nix flake --update && nixos-rebuild switch --flake .#<hostname>`
4. Push the updated git files to the repository so that they can be pulled, and the system rebuilt during the next update.
### Maintenance
1. See `/config/.bashrc` for `alias`: `flkup` using `sudo nixos-rebuild switch --flake .#<hostname>` commands and other useful items
### Sources
* [nix flakes](https://nixos.wiki/wiki/Flakes)
* [home-manager](https://github.com/nix-community/home-manager)
* [Home Manager as a NixOS Module](https://nix-community.github.io/home-manager/index.html#sec-flakes-nixos-module)
### Remove?
* The following may not be neccessary per [Discord Conversation](https://discord.com/channels/568306982717751326/1170826319706206248)
* ~~Added as [unstable channel](https://nix-community.github.io/home-manager/index.html#sec-install-nixos-module)~~
* ~~sudo `nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager`~~
* 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

View File

@ -58,12 +58,12 @@ This is my NixOS setup to manage multiple computers with a home-manager config s
| 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 |
| 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 |
| thuner | AMD Ryzen 5 | Server | ??GB | AMD 2200G | Test Server |
| fryslan (Ubuntu) | AMD Ryzen 5 | Server | ??GB | AMD 2200G | Main Server |