Nix Flakes configuration for MacOS, NixOS and WSL
1<div align="center">
2 <h1> Asgard </h1>
3</div>
4
5This configuration is under constant construction so some things may be remove or add accordings to my needs but i want to keep all even if it's not used anymore.
6
7This repository follow the KISS principle at this moment, but feel free to propose improvement and to help me understand better how nix work.
8
9> [!IMPORTANT]
10> This configuration is make for our purpose, you can take inspiration and some configuration but do not expect it to work on your side.🙂
11>
12> Any damage caused by this configuration is not our responsibility. Use it at your own risks.
13
14## ✨️ - Features
15
16- [x] NixOS
17- [x] Nix Darwin
18- [ ] Nix BSD
19- [ ] WSL
20- [ ] Homelab with MicroVM
21- [ ] Secrets management
22- [x] Default on stable channel and have unstable as an overlay (take from [here](https://github.com/AlexNabokikh/nix-config))
23- [ ] Dotfiles management
24- [ ] Custom live ISO
25- [ ] Auto-updating flakes
26- [ ] Encrypted disks
27- [ ] Secure Boot
28
29## 💻 - Hosts
30
31| Hostname | Motherboard | CPU | GPU | RAM | OS | Usage | Status |
32|:----------:|:---------------------------------:|:--------------------:|:-----------------:|:----:|:---:|:-------:|:------:|
33| `njord` | - | Apple M2 Pro Chip | Apple M2 Pro Chip | 32Go | 🍎️ | ⌨ | 🟢️ |
34| `loki` | ASUS ROG STRIX B760-I GAMING WIFI | Intel i5 13600kf | Nvidia 4070ti | 32Go | ❄️ | 🎮️ / 🎭️ | 🟢️ |
35| `hvedrung` | ⤴️ | ⤴️ | ⤴️ | ⤴️ | 👹️ | 🧨️ / 🎭️ | 🔴️ |
36| `nyx` | Aorus B450 Elite | AMD Ryzen 3 3300X | Nvidia 1060 | 16GO | ❄️ | 🎮️ / ⌨️ | 🟢️ |
37| `beowulf` | HP ProDesk 400 G1 DM | Intel Pentium G3250T | - | 8Go | ❄️ | 💾️ | 🟠 |
38| `vali` | WSL | Intel i5-1135G7 | - | 16Go | ❄️ | ⌨️ | 🟠 |
39
40<details>
41 <summary>Legend</summary>
42
43- 🎮️ : Gaming
44- 💾️ : Server
45- ☁️ : Virtual Machime
46- ⌨️ : Coding
47- 🧨️ : Testing purpose
48- 🎭️ : Dual Boot
49
50- ❄️ : NixOS
51- 🍎️ : MacOS
52- 👹️ : FreeBSD with [NixBSD](https://github.com/nixos-bsd/nixbsd)
53</details>
54
55## 📦 - Structure
56
57```
58.
59├── homes # User home configuration
60│ ├── <user>@shared # Shared dotfiles between user configuration
61│ └── <user>@<host> # Personal folders for dotfiles
62├── hosts # Host-specific configuration
63├── lib # Custom functions needed to help configure
64├── modules # macOS and nix-darwin, NixOS, and shared configuration
65│ ├── shared # Shared modules across all platforms
66│ ├── nixos # Nixos modules
67│ ├── darwin # MacOS modules
68│ └── bsd # FreeBSD modules
69└── overlays # Helping overlays for building wanted packages
70```
71
72## 💡 - Acknowledgments
73
74These are the things that help me the most to understand Nix ecosystem and help me build my configuration from scratch.
75
76### 📚️ - Learning
77
78- [Flakes book](https://nixos-and-flakes.thiscute.world/)
79- [Nix Language](https://nix.dev/)
80- [Nix Tour](https://nixcloud.io/tour/?id=introduction/nix)
81- [Simple Home Manager Explanation](https://github.com/Evertras/simple-homemanager)
82
83### ✨️ - Dotfiles
84
85You can retrieve more useful dotfiles inside my [dotfile star list](https://github.com/stars/Cosmeak/lists/useful-dotfiles).
86
87The dotfiles listed below, are the one that really help me to build this are those from wich I took some code.
88
89- [elythh](https://github.com/elythh/flake)
90- [chenglab](https://github.com/eh8/chenglab)
91- [AlexNabokikh](https://github.com/AlexNabokikh/nix-config)