From ef7981a517875231971fb6faca42015afa9cae82 Mon Sep 17 00:00:00 2001 From: Gregory Bednov Date: Mon, 14 Sep 2026 16:48:26 +0300 Subject: [PATCH] Create README.md --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..6a9f18a --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# University PC NixOS config + +The repo here is located **originally** on my personal [Greg's +Forgejo](https://forgejo.gregorbednov.ru/gregorbednov/configuration.nix). + +It was used as a ready-to-go declarative installation of all required software +in Industrial Informatics Department in MIREA. So feel free to fork it and +modify it. + +## Architecture + +### Context and requirements + +I worked on the config in university department with its own student PC machines +fleet, about from 50 to 70 machines. + +- from 50 to 70 machines needed to install Linux for student work and a bunch of + cross-platform apps (by the way most of PCs were on Ubuntu 20.04 and Ubuntu + 22.04, each with unique history and packages set. And I installed NixOS on + each). + +- non-NixOS (Debian) Server - able to host files, unable to switch fully on + NixOS using [nixos-infect](https://github.com/elitak/nixos-infect) or + something. It listens on `10.0.174.12` in my personal case; + +- me and my collegues couldn't operate on network routers and DNS servers, + because it's not our competence (only central networking and security + operating team could set up our routers and domain resolving, and would leave + no exceptions without special cases in prior to security) + +- and on the other hand, students were already allowed to unplug Ethernet cables + from PC and to plug it into their own laptops; as my collegues said, that's + why none of them don't want to support (pseudo)static IPv4. and also, students + in tech when something doesn't work properly *for them*, are trying to hack it + --- so, may be we would get fake static IPs issues. + +- students vandals some settings sometimes, however it would be nice if they had + customization options + +### Description and solutions + +- Debian server `10.0.174.12` --- Yggdrasil Peer and Fileserver + - NixOS builds `nixos.builds.node` virtual machine on it --- doesn't have + static IP but has well-known static Yggdrasil IPv6 +- 50-70x NixOSxWindows dual-boot PCs with + - dynamic IPv4 + - static Yggdrasil-overlayed IPv6 + - configuration.nix and flake.nix in /etc/nixos, + - all of hardware specifics is left in hardware-configuration.nix + - any time student user can be reset completely with `resethome` command