Nix Flakes configuration for MacOS, NixOS and WSL
0
fork

Configure Feed

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

wip: LLM for local dev

+108 -86
+33 -33
flake.lock
··· 3 3 "cachyos-kernel": { 4 4 "flake": false, 5 5 "locked": { 6 - "lastModified": 1775145950, 7 - "narHash": "sha256-AfVja9nvYHm0BHbuTvn+K8rKfLmPl5QjoiNecp9HOJU=", 6 + "lastModified": 1776608760, 7 + "narHash": "sha256-ehDv8bF7k/2Kf4b8CCoSm51U/MOoFuLsRXqe5wZ57sE=", 8 8 "owner": "CachyOS", 9 9 "repo": "linux-cachyos", 10 - "rev": "b91624f68ceaf5394ef1571f60290dca6ba22b45", 10 + "rev": "7e06e29005853bbaaa3b1c1067f915d6e0db728a", 11 11 "type": "github" 12 12 }, 13 13 "original": { ··· 19 19 "cachyos-kernel-patches": { 20 20 "flake": false, 21 21 "locked": { 22 - "lastModified": 1775157685, 23 - "narHash": "sha256-g8HgH7gADoEnrBN30BK3pz7+M2pT/p3xtfRFEuEov5w=", 22 + "lastModified": 1776792814, 23 + "narHash": "sha256-39dlIhz9KxUNQFxGpE9SvCviaOWAivdW0XJM8RnPNmg=", 24 24 "owner": "CachyOS", 25 25 "repo": "kernel-patches", 26 - "rev": "c1ba300617a12d257b5721572b9bbe28efae182f", 26 + "rev": "d7d558d0b2e239e27b40bcf1af6fe12e323aa391", 27 27 "type": "github" 28 28 }, 29 29 "original": { ··· 129 129 ] 130 130 }, 131 131 "locked": { 132 - "lastModified": 1775569958, 133 - "narHash": "sha256-W+kpLQ5J/DDaY1nUmvN9aIAfh5ixdyqYM76ZUdcvMBU=", 132 + "lastModified": 1776684358, 133 + "narHash": "sha256-Nn42mX8ikB1hpLwceqe65yJx7/T87j1Cpyik2KL6/YY=", 134 134 "owner": "feel-co", 135 135 "repo": "hjem", 136 - "rev": "32bd6d54d805a3eb41efa62a940eeceaf263c4a8", 136 + "rev": "fb7ee87a1e72b3b21723d5ec76c8ca395c02fbc6", 137 137 "type": "github" 138 138 }, 139 139 "original": { ··· 150 150 "spectrum": "spectrum" 151 151 }, 152 152 "locked": { 153 - "lastModified": 1775996588, 154 - "narHash": "sha256-klBp+NIkJJtFHKFEHaMqwDHSK09UufDL6RJoxUZOL5Q=", 153 + "lastModified": 1776340739, 154 + "narHash": "sha256-s4FDictJlPtY6Shd6scG5hgrDMiHth09+svtvTA5NLA=", 155 155 "owner": "microvm-nix", 156 156 "repo": "microvm.nix", 157 - "rev": "c0a53823dbf7eb166c2fa7dc2d1e0d6cb2be7562", 157 + "rev": "2f2f62fdfdca2750e3399f66bd03986ab967e5ca", 158 158 "type": "github" 159 159 }, 160 160 "original": { ··· 172 172 "nixpkgs": "nixpkgs" 173 173 }, 174 174 "locked": { 175 - "lastModified": 1775239578, 176 - "narHash": "sha256-MKJmDHlaxwBcnfCUEA89AwKOOONjOjbjHNNWdSdg5RA=", 175 + "lastModified": 1776796985, 176 + "narHash": "sha256-cNFg3H09sBZl1v9ds6PDHfLCUTDJbefGMSv+WxFs+9c=", 177 177 "owner": "xddxdd", 178 178 "repo": "nix-cachyos-kernel", 179 - "rev": "beaf7a533ae106c2681de2624da94707f9857f1f", 179 + "rev": "ac5956bbceb022998fc1dd0001322f10ef1e6dda", 180 180 "type": "github" 181 181 }, 182 182 "original": { ··· 214 214 "systems": "systems" 215 215 }, 216 216 "locked": { 217 - "lastModified": 1776051551, 218 - "narHash": "sha256-zqDhVyUtctq7HlpMC9cdR277ner0L/f7SkC3oKbZwy0=", 217 + "lastModified": 1776828595, 218 + "narHash": "sha256-LkFpFnPTK6H0gwyfYezN3kEKHVxjSdPp/tBnrQRFP3E=", 219 219 "owner": "Infinidoge", 220 220 "repo": "nix-minecraft", 221 - "rev": "c5eb01b60873e331265779028a839cd2b5237874", 221 + "rev": "28f0f2369655a5910e810c35c698dfaa9ccec692", 222 222 "type": "github" 223 223 }, 224 224 "original": { ··· 229 229 }, 230 230 "nixos-hardware": { 231 231 "locked": { 232 - "lastModified": 1775490113, 233 - "narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=", 232 + "lastModified": 1776830795, 233 + "narHash": "sha256-PAfvLwuHc1VOvsLcpk6+HDKgMEibvZjCNvbM1BJOA7o=", 234 234 "owner": "NixOS", 235 235 "repo": "nixos-hardware", 236 - "rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7", 236 + "rev": "72674a6b5599e844c045ae7449ba91f803d44ebc", 237 237 "type": "github" 238 238 }, 239 239 "original": { ··· 245 245 }, 246 246 "nixpkgs": { 247 247 "locked": { 248 - "lastModified": 1775231746, 249 - "narHash": "sha256-EFaDQ0rnuSjKfC/DUKHS4toV4rEBuWhSgyX2Yy0kp00=", 248 + "lastModified": 1776750258, 249 + "narHash": "sha256-jab3OFEK7MpiAolaLBjvIxdf258UWvvusWxPJPE5ito=", 250 250 "owner": "NixOS", 251 251 "repo": "nixpkgs", 252 - "rev": "0eac666efaa8a9afea2821f9efc7921b4ef39b4e", 252 + "rev": "8d73c2809cb39eecce6284c38100e69a6064e5d9", 253 253 "type": "github" 254 254 }, 255 255 "original": { ··· 261 261 }, 262 262 "nixpkgs-darwin": { 263 263 "locked": { 264 - "lastModified": 1775994940, 265 - "narHash": "sha256-z5tkSIdPUs6IG3I9HD2e2stdzOKKh0qDeKkOURYQw6o=", 264 + "lastModified": 1776784345, 265 + "narHash": "sha256-IwBAqEljQ0WNVRRQf/ItWIHqIgi5ap+noM2unsLCa8Y=", 266 266 "owner": "nixos", 267 267 "repo": "nixpkgs", 268 - "rev": "9d600cdba342cea3b59aef50e093a547a0f4012f", 268 + "rev": "377ba9abb3f416ee2786cb7eb6219bb1d29ce63f", 269 269 "type": "github" 270 270 }, 271 271 "original": { ··· 307 307 }, 308 308 "nixpkgs-unstable": { 309 309 "locked": { 310 - "lastModified": 1775888245, 311 - "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", 310 + "lastModified": 1776329215, 311 + "narHash": "sha256-a8BYi3mzoJ/AcJP8UldOx8emoPRLeWqALZWu4ZvjPXw=", 312 312 "owner": "nixos", 313 313 "repo": "nixpkgs", 314 - "rev": "13043924aaa7375ce482ebe2494338e058282925", 314 + "rev": "b86751bc4085f48661017fa226dee99fab6c651b", 315 315 "type": "github" 316 316 }, 317 317 "original": { ··· 339 339 }, 340 340 "nixpkgs_3": { 341 341 "locked": { 342 - "lastModified": 1776067740, 343 - "narHash": "sha256-B35lpsqnSZwn1Lmz06BpwF7atPgFmUgw1l8KAV3zpVQ=", 342 + "lastModified": 1776560675, 343 + "narHash": "sha256-p68udKWWh7+V4ZPpcMDq0gTHWNZJnr4JPI+kHPPE40o=", 344 344 "owner": "nixos", 345 345 "repo": "nixpkgs", 346 - "rev": "7e495b747b51f95ae15e74377c5ce1fe69c1765f", 346 + "rev": "e07580dae39738e46609eaab8b154de2488133ce", 347 347 "type": "github" 348 348 }, 349 349 "original": {
-20
modules/features/desktops/gnome.nix
··· 1 - { 2 - # Minimal gnome desktop 3 - flake.nixosModules.gnome-desktop = { inputs, pkgs, ... }: { 4 - imports = with inputs.self.nixosModules; [ 5 - audio 6 - ]; 7 - 8 - services.displayManager.gdm.enable = true; 9 - services.desktopManager.gnome.enable = true; 10 - programs.xwayland.enable = true; 11 - environment.sessionVariables.NIXOS_OZONE_WL = "1"; 12 - qt.platformTheme = "gnome"; 13 - 14 - # We don't want extra packages, just the bare minimum 15 - services.gnome.games.enable = false; 16 - services.gnome.core-developer-tools.enable = false; 17 - services.gnome.core-apps.enable = true; 18 - environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ]; 19 - }; 20 - }
+4
modules/features/desktops/kde.nix
··· 8 8 services.displayManager.sddm.wayland.enable = true; 9 9 services.desktopManager.plasma6.enable = true; 10 10 11 + environment.systemPackages = with pkgs; [ 12 + ghostty 13 + ]; 14 + 11 15 # Try to make plasma the most barebone possible 12 16 environment.plasma6.excludePackages = with pkgs; [ 13 17 kdePackages.konsole
+41 -7
modules/features/development.nix
··· 1 + let 2 + sharedPackages = pkgs: with pkgs; [ 3 + dbeaver-bin # Database client 4 + bruno # IDE for testing apis 5 + helix # TUI code editor 6 + jujutsu # VCS 7 + lazygit # TUI git 8 + podman # container tool -> replacement of docker 9 + podman-compose # compose provider for podman 10 + ]; 11 + in 1 12 { 13 + allowedUnfreePackages = [ "cuda_cudart" "cuda_nvcc" "cuda_cccl" "libcublas" ]; 14 + 2 15 flake.nixosModules.development = { pkgs, ... }: { 3 16 environment.systemPackages = with pkgs; [ 4 - dbeaver-bin # Database client 5 - bruno # IDE for testing apis 6 - helix # TUI code editor 7 - lazygit # TUI git 8 - podman # container tool -> replacement of docker 9 - podman-compose # compose provider for podman 10 - (zed-editor.fhsWithPackages (pkg: [ zlib ])) # GUI code editor 17 + zed-editor # GUI code editor 18 + ] ++ (sharedPackages pkgs); 19 + 20 + # Setup local LLM 21 + services.ollama = { 22 + enable = true; 23 + acceleration = "cuda"; 24 + }; 25 + }; 26 + 27 + flake.darwinModules.development = { pkgs, ... }: { 28 + systemPackages = [ pkgs.ollama ] ++ (sharedPackages pkgs); 29 + 30 + # Ensure homebrew is enabled 31 + homebrew.enable = true; 32 + homebrew.cask = [ 33 + "zed" # GUI code editor 11 34 ]; 35 + 36 + # Setup local LLM 37 + launchd.user.agents.ollama = { 38 + serviceConfig = { 39 + ProgramArguments = [ "${pkgs.ollama}/bin/ollama" "serve" ]; 40 + RunAtLoad = true; 41 + KeepAlive = true; 42 + StandardOutPath = "/tmp/ollama.log"; 43 + StandardErrorPath = "/tmp/ollama.log"; 44 + }; 45 + }; 12 46 }; 13 47 }
+5
modules/features/gaming.nix
··· 1 1 { inputs, ... }: 2 2 { 3 + allowedUnfreePackages = [ "steam" "steam-unwrapped" ]; 4 + 3 5 flake.nixosModules.gaming = { pkgs, ... }: { 4 6 # User CachyOS kernel patches specically mades for gaming 5 7 nix.settings.substituters = [ "https://attic.xuyh0120.win/lantian" ]; ··· 22 24 # Additionnal packages 23 25 environment.systemPackages = with pkgs; [ 24 26 faugus-launcher # Alternative launcher for multiple games platform 27 + heroic 25 28 mangohud 26 29 prismlauncher # Minecraft launcher 27 30 jdk25_headless # Needed for minecraft 26.1 since it's not included inside prismlauncher for the moment 31 + 32 + unstable.gale # Modding platform 28 33 ]; 29 34 }; 30 35 }
+5
modules/features/hardware.nix
··· 1 + { 2 + flake.nixosModules.hardware = { ... }: { 3 + # TODO: unified system to check hardware and had correct drivers + facter automatisations 4 + }; 5 + }
+15
modules/features/workstation-base.nix
··· 1 + { inputs, ... }: 2 + { 3 + flake.nixosModules.workstation-base = { pkgs, ... }: { 4 + imports = with inputs.self.nixosModules; [ 5 + bootloader 6 + audio 7 + kde-desktop 8 + ]; 9 + 10 + environment.systemPackages = with pkgs; [ 11 + git 12 + just 13 + ]; 14 + }; 15 + }
+4 -14
modules/hosts/loki/configuration.nix
··· 1 1 { inputs, ... }: 2 2 { 3 - allowedUnfreePackages = [ "steam" "steam-unwrapped" ]; 4 - 5 - flake.nixosModules.loki = { pkgs, ... }: { 3 + flake.nixosModules.loki = { ... }: { 6 4 imports = 7 5 with inputs.self.nixosModules; 8 6 with inputs.self.factory; 9 7 [ 10 - bootloader 11 - audio 8 + workstation-base 12 9 nvidia-gpu 13 - gnome-desktop 14 10 cosmeak 15 - screen-recording 16 11 (autoLogin "cosmeak") 12 + screen-recording 17 13 gaming 18 14 flatpak 15 + development 19 16 ]; 20 17 21 18 nixpkgs.overlays = [ inputs.self.overlays.unstable ]; 22 - 23 - environment.systemPackages = with pkgs; [ 24 - git 25 - just 26 - nixd 27 - heroic 28 - ]; 29 19 30 20 hardware.facter.reportPath = ./facter.json; 31 21 fileSystems."/" = {
+1
modules/hosts/njord/configuration.nix
··· 3 3 flake.darwinModules.njord = { ... }: { 4 4 imports = with inputs.self.darwinModules; [ 5 5 cosmeak 6 + development 6 7 ]; 7 8 8 9 nixpkgs.overlays = [ inputs.self.overlays.unstable ];
-12
modules/users/cosmeak.nix
··· 7 7 sharedPackages = pkgs: with pkgs; [ 8 8 _1password-gui # Password manager 9 9 bat # Replacement for the `cat` cmd 10 - helix # Code Editor 11 10 just # Cmd helper 12 11 lazygit # Git TUI 13 12 obsidian # Note editor ··· 34 33 users.users.${username} = { 35 34 packages = with pkgs; [ 36 35 btop 37 - ghostty # Terminal emulator 38 - heroic # Game Launcher (Epic Games, GOG) 39 36 librewolf # Web browser 40 - prismlauncher # Minecraft launcher 41 37 vesktop # Discord client 42 - (zed-editor.fhsWithPackages (pkg: [ zlib ])) # Code editor 43 38 protonvpn-gui 44 - 45 - unstable.gale 46 39 ] ++ (sharedPackages pkgs); 47 40 }; 48 41 }) ··· 53 46 ({ pkgs, ... }: { 54 47 environment.systemPackages = with pkgs; [ 55 48 alt-tab-macos # alt tab like windows on macos 56 - bruno # IDE for testing apis 57 49 chirp # Radio programming tool 58 - dbeaver-bin # Database client 59 50 ghostty-bin # Terminal emulator 60 - jujutsu # VCS 61 51 stats # System monitoring displayed in macos top bar 62 - podman # container tool -> replacement of docker 63 - podman-compose # compose provider for podman 64 52 65 53 unstable.brioche # Another package manager 66 54 unstable.librewolf # build failed on stable for darwin