mirror of
https://github.com/tuxdotrs/nix-config.git
synced 2026-09-19 16:49:04 +05:30
docs(readme): update host specifications and components
This commit is contained in:
206
README.md
206
README.md
@@ -15,196 +15,48 @@
|
|||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [Hosts](#hosts)
|
- [Hosts](#hosts)
|
||||||
- [Installation](#installation)
|
|
||||||
- [Components](#components)
|
- [Components](#components)
|
||||||
- [Showcase](#showcase)
|
- [Showcase](#showcase)
|
||||||
- [Pain](#spent-weeks-on-this-system-configuration-)
|
- [Pain](#spent-weeks-on-this-system-configuration-)
|
||||||
|
|
||||||
## Hosts
|
## Hosts
|
||||||
|
|
||||||
| | Hostname | Board | CPU | RAM | GPU | Purpose |
|
| | Hostname | Board | CPU | RAM | GPU | Purpose |
|
||||||
| --- | ---------- | ----------------- | ------------------ | ----- | ------------------------- | -------------------------------------------------------------------------------- |
|
| --- | ---------- | ----------------- | ------------------ | ---- | ------------------------- | --------------------------------------------------------------------- |
|
||||||
| 🖥️ | `sirius` | MSI X570-A Pro | Ryzen 7 5700X3D | 64GB | RTX 3080 TI + RTX 3060 TI | Triple-monitor desktop running Windows Subsystem for Linux. |
|
| 🖥️ | `sirius` | MSI X570-A Pro | Ryzen 7 5700X3D | 64GB | RTX 3080 TI + RTX 3060 TI | Triple-monitor desktop for work, gaming, and media consumption. |
|
||||||
| 💻 | `canopus` | Asus Zephyrus G15 | Ryzen 9 5900HS | 16GB | RTX 3060 | Optimized for productivity on the go and some gaming. |
|
| 💻 | `canopus` | Asus Zephyrus G15 | Ryzen 9 5900HS | 16GB | RTX 3060 | Portable workstation for work, gaming, and media on the go. |
|
||||||
| ☁️ | `homelab` | Minisforum MS-A1 | Ryzen 7 8700G | 32GB | Radeon 780M | WIP |
|
| ☁️ | `arcturus` | Minisforum MS-A1 | Ryzen 7 8700G | 32GB | Radeon 780M | Homelab server for self-hosted services and infrastructure workloads. |
|
||||||
| ☁️ | `arcturus` | KVM | 4 Core | 8GB | | Primary server responsible for exposing my homelab applications to the internet. |
|
| ☁️ | `alpha` | KVM | 2 Core | 4GB | | Public-facing server for exposing homelab services to the internet. |
|
||||||
| ☁️ | `alpha` | KVM | 4 Core | 4GB | | Monitors uptime and health status of all services across the infrastructure. |
|
| 📱 | `vega` | Samsung S25 Ultra | Snapdragon 8 Elite | 12GB | Adreno 830 | Primary mobile for daily usage. (Locked) |
|
||||||
| 🥔 | `vega` | Raspberry Pi 3B+ | Cortex A53 | 1GB | | Running AdGuard Home for network-wide ad blocking. |
|
| 📱 | `capella` | Motorola Edge 30 | Snapdragon 778G+ | 8GB | Adreno 642L | Secondary mobile for tinkering and experimentation. (Rooted) |
|
||||||
| 📱 | `capella` | Samsung S25 Ultra | Snapdragon 8 Elite | 12GB | Adreno 830 | Primary mobile for daily usage. (Locked) |
|
|
||||||
| 📱 | `rigel` | Motorola Edge 30 | Snapdragon 778G+ | 8GB | Adreno 642L | Secondary mobile for some fun. (Rooted) |
|
|
||||||
| ☁️ | `node` | ASRock B565D4 | Ryzen 9 5950X | 128GB | | Running Ethereum and BSC nodes. |
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> This will get your base system ready, but keep in mind that many things might not work correctly — such as monitor resolution, font size, and more.
|
|
||||||
|
|
||||||
### Prerequisites
|
|
||||||
|
|
||||||
Boot into the NixOS bootable USB before proceeding with the installation steps.
|
|
||||||
|
|
||||||
### Installation Steps
|
|
||||||
|
|
||||||
#### 1. Clone the repository
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/tuxdotrs/nix-config.git
|
|
||||||
cd nix-config
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 2. Gain root privileges
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo su
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 3. Set up disk partitioning
|
|
||||||
|
|
||||||
Install the required tools:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nix-shell -p disko neovim
|
|
||||||
```
|
|
||||||
|
|
||||||
Partition your disk using disko. **This will wipe your drive.** Replace `DISK_PATH` with your actual disk path (e.g., `/dev/vda` or `/dev/nvme0n1`):
|
|
||||||
|
|
||||||
```bash
|
|
||||||
disko --mode disko ./hosts/canopus/disko.nix --arg device '"DISK_PATH"'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 4. Configure your disk
|
|
||||||
|
|
||||||
Edit the configuration file:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nvim ./hosts/canopus/default.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
In the imports statement, replace:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
(import ./disko.nix {device = "/dev/nvme0n1";})
|
|
||||||
```
|
|
||||||
|
|
||||||
with:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
(import ./disko.nix {device = "DISK_PATH";})
|
|
||||||
```
|
|
||||||
|
|
||||||
Make sure to replace `DISK_PATH` with your actual disk path.
|
|
||||||
|
|
||||||
#### 5. Generate hardware configuration
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nixos-generate-config --no-filesystems --root /mnt
|
|
||||||
```
|
|
||||||
|
|
||||||
Copy the generated hardware configuration to the repository:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cp /mnt/etc/nixos/hardware-configuration.nix ./hosts/canopus/hardware.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 6. Install NixOS
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nixos-install --root /mnt --flake .#canopus
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 7. Enter into the new system
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nixos-enter --root /mnt
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 8. Set up directories and permissions
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p /persist/home
|
|
||||||
chown -R tux:users /persist/home
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 9. Set passwords
|
|
||||||
|
|
||||||
Set the root password:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
passwd root
|
|
||||||
```
|
|
||||||
|
|
||||||
Set the user password:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
passwd tux
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 10. Reboot
|
|
||||||
|
|
||||||
```bash
|
|
||||||
reboot
|
|
||||||
```
|
|
||||||
|
|
||||||
Your NixOS system should now boot into a beautiful DE.
|
|
||||||
|
|
||||||
## Components
|
## Components
|
||||||
|
|
||||||
| | Wayland | Xorg |
|
| | Wayland | Xorg |
|
||||||
| ------------- | -------- | ---------------- |
|
| ------------- | -------- | ---- |
|
||||||
| DM | ly | ly |
|
| DM | ly | - |
|
||||||
| WM/DE | Hyprland | AwesomeWM |
|
| WM/DE | Hyprland | - |
|
||||||
| Compositor | Hyprland | Picom (Jonaburg) |
|
| Compositor | Hyprland | - |
|
||||||
| Bar | tPanel | Wibar |
|
| Bar | Tshell | - |
|
||||||
| Hotkeys | Hyprland | Awful |
|
| Hotkeys | Hyprland | - |
|
||||||
| Launcher | tPanel | Rofi |
|
| Launcher | Tshell | - |
|
||||||
| Notifications | tPanel | Naughty |
|
| Notifications | Tshell | - |
|
||||||
| Terminal | Wezterm | Wezterm |
|
| Terminal | Wezterm | - |
|
||||||
| Editor | Neovim | Neovim |
|
| Editor | Neovim | - |
|
||||||
|
|
||||||
## Showcase
|
## Showcase
|
||||||
|
|
||||||
### Desktop Hyprland
|
| **Desktop** | **Tshell** |
|
||||||
|
| --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/desktop.png" width="100%"> | <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/tPanel.png" width="100%"> |
|
||||||
|
| **Workflow** | **Neovim** |
|
||||||
|
| <img src="https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/workflow.png" width="100%"> | <img src="https://github.com/user-attachments/assets/f881c672-8d77-43ec-b637-df5004c7d11f" width="100%"> |
|
||||||
|
| **Floating Terminal** | **Lazygit** |
|
||||||
|
| <img src="https://github.com/user-attachments/assets/3339ecf8-3264-4179-a093-337c844592a6" width="100%"> | <img src="https://github.com/user-attachments/assets/6df15881-fc2b-41b1-af3b-124fe0599b94" width="100%"> |
|
||||||
|
| **Telescope** | **Firefox** |
|
||||||
|
| <img src="https://github.com/user-attachments/assets/03be05bc-8ede-4d6e-a341-2761d89b7288" width="100%"> | <img src="https://github.com/user-attachments/assets/6f12173b-2480-404e-b01a-599115a886c0" width="100%"> |
|
||||||
|
|
||||||

|
## Spent months on this system configuration 😢
|
||||||
|
|
||||||
### tPanel
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Workflow
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Showcase
|
|
||||||
|
|
||||||
### Desktop AwesomeWM
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Neovim
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Floating Terminal
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Lazygit
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Telescope
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Firefox
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Spent weeks on this system configuration 😢
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://user-images.githubusercontent.com/97862450/265550523-2f66a8b6-4347-40af-89c6-12db3a61cc7c.jpeg" width="60%">
|
<img src="https://user-images.githubusercontent.com/97862450/265550523-2f66a8b6-4347-40af-89c6-12db3a61cc7c.jpeg" width="60%">
|
||||||
|
|||||||
Reference in New Issue
Block a user