Nix Flakes configuration for MacOS, NixOS and WSL
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

docs: update readme

cosmeak 4374ccef 49d586a6

+71 -38
+71 -38
README.md
··· 1 1 <div align="center"> 2 - <h1> dotfiles </h1> 2 + <h1> asgard </h1> 3 3 </div> 4 4 5 5 This 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 - 7 - This repository follow the KISS principle and the suckless idea at this moment, but feel free to propose improvement. 8 6 9 7 > [!IMPORTANT] 10 8 > Since this configuration is made for my own needs, you can take inspiration and some configuration but do not expect it to work on your side. 11 9 > 12 10 > Any damage caused by this configuration is not my responsibility, so use it at your own risks. 13 11 14 - ## ✨️ - Features 12 + ## Table of Contents 13 + 14 + - [Features & Capabilities](#features--capabilities) 15 + - [Machines](#machines) 16 + - [Installation](#installation) 17 + - [Folder Structure](#folder-structure) 18 + - [Commands](#commands) 19 + - [Documentations](#documentations) 20 + - [Troubleshooting](#troubleshooting) 21 + 22 + ## Features & Capabilities 15 23 16 24 This repository want this to be multi-user and multi-host so there is some workaround to make things work like i want and keep it simple. 17 25 ··· 27 35 - [ ] Encrypted disks 28 36 - [ ] Home management 29 37 - [ ] Custom live ISO 30 - - [ ] Auto-updating flakes 38 + - [ ] Automatic updates 31 39 32 - ## 💻 - Hosts 40 + ## Installation 33 41 34 - | Hostname | Motherboard | CPU | GPU | RAM | OS | Usage | Status | 35 - | :------------- | :-------------------------------- | :------------------- | :---------------- | :--: | :-: | :------: | :----: | 36 - | `loki` | ASUS ROG STRIX B760-I GAMING WIFI | Intel i5 13600kf | Nvidia 4070ti | 32Go | ❄️ | 🎮️ | 🟢️ | 37 - | `njord` | - | Apple M2 Pro | Apple M2 Pro | 32Go | 🍎️ | ⌨️ | 🟢️ | 38 - | `lithium` | Raspberry Pi3 b+ | - | - | 1Go | ❄️ | 🧨️ | 🟠 | 39 - | `vali` | WSL | - | - | 8Go | ❄️ | ⌨️ | 🟢️ | 40 - | `andhrimnir ` | Aorus B450 Elite | AMD Ryzen 3 3300X | Nvidia 1060 | 16Go | ❄️ | 🎮️ / ⌨️ | 🔴 | 41 - | `elli` | HP ProDesk 400 G1 DM | Intel Pentium G3250T | - | 8Go | ❄️ | 💾️ | 🔴 | 42 + ``` 43 + TODO 44 + ``` 45 + 46 + ## Machines 47 + 48 + | Hostname | Motherboard | CPU | GPU | RAM | OS | Usage | Status | 49 + | :------------- | :-------------------------------- | :------------------- | :------------ | :--: | :-: | :------: | :----: | 50 + | `njord` | - | Apple M2 Pro | Apple M2 Pro | 32Go | 🍎️ | ⌨️ | 🟢️ | 51 + | `loki` | ASUS ROG STRIX B760-I GAMING WIFI | Intel i5 13600kf | Nvidia 4070ti | 32Go | ❄️ | 🎮️ | 🟢️ | 52 + | `lithium` | Raspberry Pi3 b+ | - | - | 1Go | ❄️ | 🧨️ | 🟠 | 53 + | `vali` | WSL | - | - | 8Go | ❄️ | ⌨️ | 🟢️ | 54 + | `andhrimnir ` | Aorus B450 Elite | AMD Ryzen 3 3300X | Nvidia 1060 | 16Go | ❄️ | 🎮️ / ⌨️ | 🟠 | 55 + | `elli` | HP ProDesk 400 G1 DM | Intel Pentium G3250T | - | 8Go | ❄️ | 💾️ | 🔴 | 56 + | `sunna` | ASUS ROG STRIX G15 | Intel i7 10870H | Nvidia 2060 | 16Go | ❄️ | 🖥️ | 🟠 | 42 57 43 58 <details> 44 59 <summary>Legend</summary> 45 60 46 - - 🎮️ : Gaming 47 - - 💾️ : Server 48 - - ☁️ : Virtual Machime 49 - - ⌨️ : Coding 50 - - 🧨️ : Testing purpose 51 - - 🎭️ : Dual Boot 52 - - ❄️ : NixOS 53 - - 🍎️ : MacOS 54 - - 👹️ : FreeBSD with [NixBSD](https://github.com/nixos-bsd/nixbsd) 61 + - 🎮️ : Gaming 62 + - 💾️ : Server 63 + - ☁️ : Virtual Machime 64 + - ⌨️ : Coding 65 + - 🖥️ : Office 66 + - 🧨️ : Testing purpose 67 + - 🎭️ : Dual Boot 68 + - ❄️ : NixOS 69 + - 🍎️ : MacOS 70 + - 👹️ : FreeBSD with [NixBSD](https://github.com/nixos-bsd/nixbsd) 55 71 </details> 56 72 57 - ## 📦 - Folder structure 73 + ## Folder structure 58 74 59 75 ``` 60 76 . 61 - ├── hardware # Specific hardware configuration 62 - ├── lib # Custom functions needed to help configure 63 - ├── machines # Host-specific configuration 64 - │ └── <os> # Darwin or NixOS 77 + ├── hardware # Specific hardware configuration 78 + ├── lib # Asgard custom libary to help configure machines and users 79 + ├── machines # Machine configurations 80 + │ └── <os> 65 81 │ │ └── <hostname> 66 - ├── modules # Darwin, NixOS, and shared configuration 82 + ├── modules # Asgard custom modules by os 67 83 │ ├── commons 68 84 │ ├── nixos 69 85 │ └── darwin 70 - ├── packages 71 - ├── overlays 72 - ├── templates 73 - └── users # User home configuration 74 - ├── commons 75 - │ └── <username> 76 - └── <hostname> 86 + ├── packages # Packages not present in nixpkgs 87 + ├── overlays # Package override 88 + ├── templates # Template for boostrapping projects (zig, go, ...) 89 + ├── users # Home configuration by users and hosts 90 + │ ├── commons 91 + │ └── <username> 92 + │ │ └── <hostname> 93 + ├── flake.nix # Configuration entrypoint 94 + ├── flake.lock # Pinned versions of packages repositories 95 + └── justfile # Command helper (like a Makefile) 77 96 ``` 78 97 79 - ### 📚️ - Acknowledgments 98 + ## Commands 99 + 100 + You can get all recipes using the `just` command and running one of the available commands below with `just <command> <arguments*>`: 101 + 102 + ```sh 103 + Available recipes: 104 + boot hostname=hostname # Build a new configuration 105 + clean # Cleanup all unused packages and generations 106 + format # Format code 107 + size # Print size of the nix store 108 + switch hostname=hostname # Rebuild the system 109 + update # Update dependencies 110 + ``` 111 + 112 + ## Documentations 80 113 81 114 These are the things that help me the most to understand Nix ecosystem and help me build my configuration from scratch. 82 115 ··· 86 119 - [Nix Language](https://nix.dev/) 87 120 - [Nix Tour](https://nixcloud.io/tour/?id=introduction/nix) 88 121 89 - ## 🐛 - Troubleshooting 122 + ## Troubleshooting 90 123 91 124 - If the rebuild command failed because an experimental feature is disabled use this command: 92 125 ```sh