mirror of
https://github.com/iesfdlr/lab.git
synced 2026-06-06 01:16:49 +00:00
feat: docs v1?
This commit is contained in:
@@ -6,7 +6,7 @@ let
|
||||
andaredConnectScript = pkgs.writeShellScriptBin "andared-connect" (builtins.readFile ./andared-connect.sh);
|
||||
labUpdateMonitor = pkgs.writeShellScriptBin "lab-update-monitor" (builtins.readFile ./update-monitor.sh);
|
||||
labUpdateLauncher = pkgs.writeShellScriptBin "lab-update-launcher" (builtins.readFile ./update-launcher.sh);
|
||||
# flatpak app IDs that overlap with nix-installed packages — blocked from
|
||||
# flatpak app IDs that overlap with nix-installed packages - blocked from
|
||||
# being installed via Flatpak (both CLI and Discover) using a remote filter.
|
||||
blockedFlatpakIds = [
|
||||
"org.chromium.Chromium"
|
||||
@@ -356,7 +356,6 @@ in
|
||||
# sticky bit (1) + root ownership means the user can create/delete their OWN
|
||||
# files inside, but cannot delete or rename the directory itself.
|
||||
# source: https://unix.stackexchange.com/questions/20104 (sticky bit approach)
|
||||
# man tmpfiles.d (systemd-tmpfiles rule format)
|
||||
systemd.tmpfiles.rules =
|
||||
let
|
||||
# "d" = create directory, 1770 = rwxrwx--- + sticky bit
|
||||
|
||||
28
docs/docs/features.md
Normal file
28
docs/docs/features.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Features
|
||||
|
||||
## Platform
|
||||
- **NixOS 25.11** with **KDE Plasma 6** - simplified, restricted desktop setup
|
||||
- Quiet boot with splash screen and minimal messages
|
||||
- **Spanish locale** and Spanish user folders by default
|
||||
- Auto-shutdown after **30 minutes of inactivity**
|
||||
|
||||
## Security & Access
|
||||
- Single default account: `usuario` / `usuario`
|
||||
- Password-protected `sudo`
|
||||
- **Rootless Docker** support
|
||||
|
||||
## Software
|
||||
Preinstalled applications include Firefox, Chromium, VS Code, PyCharm, DataGrip,
|
||||
Git, GitHub CLI, Arduino IDE, Wireshark, Postman, GIMP, FreeCAD, Kdenlive, Cura,
|
||||
and LibreOffice. Python comes with NumPy, Pandas, Matplotlib, SciPy, and Jupyter.
|
||||
|
||||
## Privacy
|
||||
- Firefox with telemetry disabled and ad blocking enabled
|
||||
- Private/incognito browsing enforced by default
|
||||
|
||||
## Maintenance
|
||||
- **Flatpak enabled** (Nix duplicates blocked from Flathub)
|
||||
- Built-in auto-update tooling with a desktop launcher
|
||||
- Downloads folder auto-cleaned (files older than 2 weeks removed)
|
||||
- Protected user folders to prevent accidental deletion
|
||||
- Preconfigured **Andared_Corporativo** Wi-Fi (Junta de Andalucía)
|
||||
9
docs/docs/index.md
Normal file
9
docs/docs/index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# About
|
||||
|
||||
A NixOS configuration for the computer lab of eth0's school. Currently unused, but it may be perfect for those who are interested in setting up a similar environment.
|
||||
|
||||
## Why Nix?
|
||||
|
||||
NixOS is a Linux distribution that uses the Nix package manager to provide a declarative and reproducible configuration system. This means that you can define your entire system configuration in a single file, and Nix will take care of installing and configuring everything for you.
|
||||
|
||||
This makes it easy to set up and maintain a consistent environment across multiple machines, which is ideal for a computer lab setting, where not always you want to install programs on every machine manually.
|
||||
69
docs/docs/installation.md
Normal file
69
docs/docs/installation.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Installation
|
||||
|
||||
!!! tip "Connectivity"
|
||||
A wired connection is recommended. If you need Wi-Fi, the NixOS GNOME ISO supports **Andared_Corporativo** - see the [Wi-Fi setup](#connecting-to-andared_corporativo) section below.
|
||||
|
||||
Unlike most Nix configurations, this one requires a dedicated install script rather than a plain `nixos-rebuild`.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Download the **minimal NixOS ISO** from the [official website](https://nixos.org/download/#nixos-iso) and boot from it.
|
||||
|
||||
2. Identify your target drive:
|
||||
```sh
|
||||
lsblk
|
||||
```
|
||||
|
||||
3. Run the install script, replacing `/dev/sda` with your drive:
|
||||
```sh
|
||||
curl -fsSL https://raw.githubusercontent.com/iesfdlr/lab/main/install.sh \
|
||||
| bash -s -- /dev/sda
|
||||
```
|
||||
|
||||
4. Follow the on-screen prompts - the installer will ask for your **Andared credentials** and optionally let you set a custom `root` password.
|
||||
|
||||
---
|
||||
|
||||
## Options
|
||||
|
||||
All flags are appended after the drive argument.
|
||||
|
||||
## Options
|
||||
|
||||
All flags are appended after the drive argument.
|
||||
|
||||
=== "Skip Andared"
|
||||
|
||||
For machines that don't need `Andared_Corporativo`:
|
||||
|
||||
```sh
|
||||
curl -fsSL https://raw.githubusercontent.com/iesfdlr/lab/main/install.sh \
|
||||
| bash -s -- /dev/sda --no-andared
|
||||
```
|
||||
|
||||
=== "Automated install"
|
||||
|
||||
Pass credentials and root password directly for unattended installs:
|
||||
|
||||
!!! warning
|
||||
These values will be visible in your shell history.
|
||||
|
||||
```sh
|
||||
curl -fsSL https://raw.githubusercontent.com/iesfdlr/lab/main/install.sh \
|
||||
| bash -s -- /dev/sda \
|
||||
--andared-username USER \
|
||||
--andared-password PASS \
|
||||
--root-password ROOT_PASS
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Connecting to Andared_Corporativo
|
||||
|
||||
If installing over Wi-Fi, connect manually in the NixOS GNOME ISO using these NetworkManager settings:
|
||||
|
||||
| Field | Value |
|
||||
|------------------------|------------------------|
|
||||
| SSID | `Andared_Corporativo` |
|
||||
| Security | Enterprise |
|
||||
| Tunnel authentication | - |
|
||||
1126
docs/docs/stylesheets/extra.css
Normal file
1126
docs/docs/stylesheets/extra.css
Normal file
File diff suppressed because it is too large
Load Diff
27
docs/mkdocs.yml
Normal file
27
docs/mkdocs.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
site_name: Nix Lab
|
||||
site_url: https://nixlab.srizan.dev
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
- scheme: mocha
|
||||
primary: custom
|
||||
accent: custom
|
||||
toggle:
|
||||
icon: material/weather-sunny
|
||||
name: Switch to Latte
|
||||
- scheme: latte
|
||||
primary: custom
|
||||
accent: custom
|
||||
toggle:
|
||||
icon: material/weather-partly-cloudy
|
||||
name: Switch to Mocha
|
||||
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
- pymdownx.details
|
||||
- pymdownx.superfences
|
||||
- pymdownx.tabbed:
|
||||
alternate_style: true
|
||||
|
||||
extra_css:
|
||||
- stylesheets/extra.css
|
||||
@@ -344,7 +344,7 @@ main() {
|
||||
if [ -c /dev/tty ]; then
|
||||
printf '\n' > /dev/tty
|
||||
printf '┌─────────────────────────────────────────────────────┐\n' > /dev/tty
|
||||
printf '│ Andared_Corporativo — Wi-Fi del centro educativo │\n' > /dev/tty
|
||||
printf '│ Andared_Corporativo - Wi-Fi del centro educativo │\n' > /dev/tty
|
||||
printf '│ │\n' > /dev/tty
|
||||
printf '│ Introduce tu usuario y contraseña para dejar la │\n' > /dev/tty
|
||||
printf '│ conexión configurada. Pulsa Enter para omitir. │\n' > /dev/tty
|
||||
|
||||
@@ -7,7 +7,7 @@ si el equipo que usas para instalar necesita Wi‑Fi corporativa antes de clonar
|
||||
1. descarga la iso de [nixos mínima](https://nixos.org/download/#nixos-iso) y arranca el ordenador desde ella
|
||||
2. busca el disco duro en `lsblk`
|
||||
3. `curl -fsSL https://raw.githubusercontent.com/iesfdlr/lab/main/install.sh | bash -s -- /dev/sda` (reemplaza `/dev/sda` por el disco duro que corresponda)
|
||||
4. sigue las instrucciones en pantalla — el instalador pedirá las credenciales de Andared automáticamente y también te dará la opción de cambiar la contraseña de `root`. Pulsa Enter sin escribir nada para omitir cualquiera de esos pasos.
|
||||
4. sigue las instrucciones en pantalla - el instalador pedirá las credenciales de Andared automáticamente y también te dará la opción de cambiar la contraseña de `root`. Pulsa Enter sin escribir nada para omitir cualquiera de esos pasos.
|
||||
|
||||
Para máquinas que no necesitan `Andared_Corporativo`, pasa `--no-andared` para omitir el mensaje directamente:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user