let sharedPackages = pkgs: with pkgs; [ dbeaver-bin # Database client bruno # IDE for testing apis helix # TUI code editor jujutsu # VCS lazygit # TUI git podman # container tool -> replacement of docker podman-compose # compose provider for podman ]; in { allowedUnfreePackages = [ "cuda_cudart" "cuda_nvcc" "cuda_cccl" "libcublas" ]; flake.nixosModules.development = { pkgs, ... }: { environment.systemPackages = with pkgs; [ zed-editor # GUI code editor ] ++ (sharedPackages pkgs); # Setup local LLM services.ollama = { enable = true; acceleration = "cuda"; }; }; flake.darwinModules.development = { pkgs, ... }: { systemPackages = [ pkgs.ollama ] ++ (sharedPackages pkgs); # Ensure homebrew is enabled homebrew.enable = true; homebrew.cask = [ "zed" # GUI code editor ]; # Setup local LLM launchd.user.agents.ollama = { serviceConfig = { ProgramArguments = [ "${pkgs.ollama}/bin/ollama" "serve" ]; RunAtLoad = true; KeepAlive = true; StandardOutPath = "/tmp/ollama.log"; StandardErrorPath = "/tmp/ollama.log"; }; }; }; }