Nix Flakes configuration for MacOS, NixOS and WSL
0
fork

Configure Feed

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

Merge branch 'main' of github.com:Cosmeak/asgard

cosmeak 9859a17d 438af7c9

+32 -193
+12 -11
README.md
··· 7 7 This repository follow the KISS principle at this moment, but feel free to propose improvement and to help me understand better how nix work. 8 8 9 9 > [!IMPORTANT] 10 - > This configuration is make for my purpose, you can take inspiration and some configuration but do not expect it to work on your side.🙂 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 11 > 12 - > Any damage caused by this configuration is not my responsibility. Use at your own risk. 12 + > Any damage caused by this configuration is not our responsibility. Use it at your own risks. 13 13 14 14 ## ✨️ - Features 15 15 ··· 18 18 - [ ] Nix BSD 19 19 - [ ] WSL 20 20 - [ ] Homelab with MicroVM 21 - - [x] Multi flavor for DE / WM 22 21 - [ ] Secrets management 23 22 - [x] Default on stable channel and have unstable as an overlay (take from [here](https://github.com/AlexNabokikh/nix-config)) 24 - - [ ] Dotfiles managing 23 + - [ ] Dotfiles management 25 24 - [ ] Custom live ISO 26 25 - [ ] Auto-updating flakes 27 26 - [ ] Encrypted disks ··· 58 57 . 59 58 ├── homes # User home configuration 60 59 │ ├── <user>@shared # Shared dotfiles between user configuration 61 - │ └── <user>@<host> # Personal folders for dotfiles 60 + │ └── <user>@<host> # Personal folders for dotfiles 62 61 ├── hosts # Host-specific configuration 63 - └── modules # macOS and nix-darwin, NixOS, and shared configuration 64 - ├── shared # Shared modules across all platforms 65 - ├── nixos # Nixos modules 66 - ├── darwin # MacOS modules 67 - └── bsd # FreeBSD modules 62 + ├── lib # Custom functions needed to help configure 63 + ├── modules # macOS and nix-darwin, NixOS, and shared configuration 64 + │ ├── shared # Shared modules across all platforms 65 + │ ├── nixos # Nixos modules 66 + │ ├── darwin # MacOS modules 67 + │ └── bsd # FreeBSD modules 68 + └── overlays # Helping overlays for building wanted packages 68 69 ``` 69 70 70 71 ## 💡 - Acknowledgments 71 72 72 73 These are the things that help me the most to understand Nix ecosystem and help me build my configuration from scratch. 73 74 74 - 📚️ - Learning 75 + ### 📚️ - Learning 75 76 76 77 - [Flakes book](https://nixos-and-flakes.thiscute.world/) 77 78 - [Nix Language](https://nix.dev/)
+13 -177
flake.lock
··· 7 7 ] 8 8 }, 9 9 "locked": { 10 - "lastModified": 1729382845, 11 - "narHash": "sha256-REiWck1zIOnZIgGmmOWfwvkQw1f4UrBsxxOSKVSAG4w=", 10 + "lastModified": 1729579044, 11 + "narHash": "sha256-0kEUVl5s8LHbK4/xEePflsdYVwG+RRFSIofSvITYmIU=", 12 12 "owner": "LnL7", 13 13 "repo": "nix-darwin", 14 - "rev": "a001f44cfc47164839eb61c6b1e7f4288813f7e8", 14 + "rev": "64d9d1ae25215c274c37e3e4016977a6779cf0d3", 15 15 "type": "github" 16 16 }, 17 17 "original": { ··· 20 20 "type": "github" 21 21 } 22 22 }, 23 - "flake-compat": { 24 - "flake": false, 25 - "locked": { 26 - "lastModified": 1696426674, 27 - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", 28 - "owner": "edolstra", 29 - "repo": "flake-compat", 30 - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", 31 - "type": "github" 32 - }, 33 - "original": { 34 - "owner": "edolstra", 35 - "repo": "flake-compat", 36 - "type": "github" 37 - } 38 - }, 39 - "flake-parts": { 40 - "inputs": { 41 - "nixpkgs-lib": "nixpkgs-lib" 42 - }, 43 - "locked": { 44 - "lastModified": 1727826117, 45 - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", 46 - "owner": "hercules-ci", 47 - "repo": "flake-parts", 48 - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", 49 - "type": "github" 50 - }, 51 - "original": { 52 - "owner": "hercules-ci", 53 - "repo": "flake-parts", 54 - "type": "github" 55 - } 56 - }, 57 - "flake-utils": { 58 - "inputs": { 59 - "systems": "systems" 60 - }, 61 - "locked": { 62 - "lastModified": 1726560853, 63 - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", 64 - "owner": "numtide", 65 - "repo": "flake-utils", 66 - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", 67 - "type": "github" 68 - }, 69 - "original": { 70 - "owner": "numtide", 71 - "repo": "flake-utils", 72 - "type": "github" 73 - } 74 - }, 75 23 "home-manager": { 76 24 "inputs": { 77 25 "nixpkgs": [ ··· 93 41 "type": "github" 94 42 } 95 43 }, 96 - "nix-gaming": { 97 - "inputs": { 98 - "flake-parts": "flake-parts", 99 - "nixpkgs": "nixpkgs", 100 - "umu": "umu" 101 - }, 102 - "locked": { 103 - "lastModified": 1729301900, 104 - "narHash": "sha256-NZ0GGy0OMCVzEsdaqLnefGtXsUnjgoCI2pleIvAUvfI=", 105 - "owner": "fufexan", 106 - "repo": "nix-gaming", 107 - "rev": "5646c9455e9edf9ef59998fc79b82c5d5818ce77", 108 - "type": "github" 109 - }, 110 - "original": { 111 - "owner": "fufexan", 112 - "repo": "nix-gaming", 113 - "type": "github" 114 - } 115 - }, 116 - "nixos-wsl": { 117 - "inputs": { 118 - "flake-compat": "flake-compat", 119 - "flake-utils": "flake-utils", 120 - "nixpkgs": [ 121 - "nixpkgs" 122 - ] 123 - }, 124 - "locked": { 125 - "lastModified": 1729494942, 126 - "narHash": "sha256-c/WV0R0WWuK2UAjTCGntaa+y1UVPsTUJZXqwwKxcmYs=", 127 - "owner": "nix-community", 128 - "repo": "NixOS-WSL", 129 - "rev": "f26ca94fdcfc1a3adfee70e4ed5e2d8b1bab4317", 130 - "type": "github" 131 - }, 132 - "original": { 133 - "owner": "nix-community", 134 - "repo": "NixOS-WSL", 135 - "type": "github" 136 - } 137 - }, 138 44 "nixpkgs": { 139 45 "locked": { 140 - "lastModified": 1728538411, 141 - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", 142 - "owner": "NixOS", 46 + "lastModified": 1729449015, 47 + "narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=", 48 + "owner": "nixos", 143 49 "repo": "nixpkgs", 144 - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", 50 + "rev": "89172919243df199fe237ba0f776c3e3e3d72367", 145 51 "type": "github" 146 52 }, 147 53 "original": { 148 - "owner": "NixOS", 149 - "ref": "nixpkgs-unstable", 54 + "owner": "nixos", 55 + "ref": "nixos-24.05", 150 56 "repo": "nixpkgs", 151 57 "type": "github" 152 58 } 153 59 }, 154 - "nixpkgs-lib": { 155 - "locked": { 156 - "lastModified": 1727825735, 157 - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", 158 - "type": "tarball", 159 - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" 160 - }, 161 - "original": { 162 - "type": "tarball", 163 - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" 164 - } 165 - }, 166 60 "nixpkgs-unstable": { 167 61 "locked": { 168 - "lastModified": 1729265718, 169 - "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", 62 + "lastModified": 1729428082, 63 + "narHash": "sha256-xb4/Y+Y7ZlkQaA5rXnrXplDzdt2Jfgdmar3+qkb56UA=", 170 64 "owner": "nixos", 171 65 "repo": "nixpkgs", 172 - "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", 66 + "rev": "ca30f584e18024baf39c395001262ed936f27ebd", 173 67 "type": "github" 174 68 }, 175 69 "original": { ··· 179 73 "type": "github" 180 74 } 181 75 }, 182 - "nixpkgs_2": { 183 - "locked": { 184 - "lastModified": 1729181673, 185 - "narHash": "sha256-LDiPhQ3l+fBjRATNtnuDZsBS7hqoBtPkKBkhpoBHv3I=", 186 - "owner": "nixos", 187 - "repo": "nixpkgs", 188 - "rev": "4eb33fe664af7b41a4c446f87d20c9a0a6321fa3", 189 - "type": "github" 190 - }, 191 - "original": { 192 - "owner": "nixos", 193 - "ref": "nixos-24.05", 194 - "repo": "nixpkgs", 195 - "type": "github" 196 - } 197 - }, 198 76 "root": { 199 77 "inputs": { 200 78 "darwin": "darwin", 201 79 "home-manager": "home-manager", 202 - "nix-gaming": "nix-gaming", 203 - "nixos-wsl": "nixos-wsl", 204 - "nixpkgs": "nixpkgs_2", 80 + "nixpkgs": "nixpkgs", 205 81 "nixpkgs-unstable": "nixpkgs-unstable" 206 - } 207 - }, 208 - "systems": { 209 - "locked": { 210 - "lastModified": 1681028828, 211 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 212 - "owner": "nix-systems", 213 - "repo": "default", 214 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 215 - "type": "github" 216 - }, 217 - "original": { 218 - "owner": "nix-systems", 219 - "repo": "default", 220 - "type": "github" 221 - } 222 - }, 223 - "umu": { 224 - "inputs": { 225 - "nixpkgs": [ 226 - "nix-gaming", 227 - "nixpkgs" 228 - ] 229 - }, 230 - "locked": { 231 - "dir": "packaging/nix", 232 - "lastModified": 1728772489, 233 - "narHash": "sha256-6sHjXNhPrRXIV1au5jlSXHeqn/QHb9wyRt7V0F5p4PA=", 234 - "ref": "refs/heads/main", 235 - "rev": "475e2b37e34a663b11f8c92b79dd45637a3e848c", 236 - "revCount": 770, 237 - "submodules": true, 238 - "type": "git", 239 - "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" 240 - }, 241 - "original": { 242 - "dir": "packaging/nix", 243 - "submodules": true, 244 - "type": "git", 245 - "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" 246 82 } 247 83 } 248 84 },
-2
flake.nix
··· 15 15 inputs.nixpkgs.follows= "nixpkgs"; 16 16 }; 17 17 18 - nix-gaming.url = "github:fufexan/nix-gaming"; 19 - 20 18 home-manager = { 21 19 url = "github:nix-community/home-manager/release-24.05"; 22 20 inputs.nixpkgs.follows = "nixpkgs";
+7 -3
hosts/nyx/configuration.nix
··· 75 75 brave 76 76 lutris 77 77 btop 78 - inputs.nix-gaming.packages.${pkgs.system}.rocket-league 78 + heroic 79 79 vesktop 80 80 unzip 81 81 zip 82 + lazygit 83 + unstable.unityhub 84 + blender 82 85 ]; 83 86 }; 84 87 ··· 91 94 92 95 # Allow unfree packages 93 96 nixpkgs.config.allowUnfree = true; 97 + nixpkgs.overlays = [ outputs.overlays.unstable-packages ]; 94 98 95 99 # List packages installed in system profile. To search, run: 96 100 # $ nix search wget 97 101 environment.systemPackages = with pkgs; [ 98 - git 102 + git 99 103 mangohud 100 104 protonup 101 105 wine ··· 129 133 system.stateVersion = "24.05"; # Did you read the comment? 130 134 131 135 nix.settings.experimental-features = [ "nix-command" "flakes" ]; 132 - } 136 + }