forked from jan-leila/nix-config
		
	Compare commits
	
		
			18 commits
		
	
	
		
			117b30f855
			...
			db9d0fff09
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| db9d0fff09 | |||
| 5ac103230a | |||
| fb757e9d1c | |||
| b4755365ba | |||
| 5c4e677fe8 | |||
| b5d292f20e | |||
| b7cfcfef7d | |||
| 025eaa935a | |||
| 9daa44c873 | |||
| 173b1e3050 | |||
| 317ca75119 | |||
| 394355b2fb | |||
| 4aa9778a72 | |||
| a482a3bfce | |||
| dbad92ac75 | |||
| 52a1d97fd4 | |||
| 0476afb471 | |||
| 1e0eda06b6 | 
					 12 changed files with 190 additions and 61 deletions
				
			
		|  | @ -95,6 +95,8 @@ in { | |||
|             pdfarranger | ||||
|             picard | ||||
| 
 | ||||
|             gdx-liftoff | ||||
| 
 | ||||
|             # proprietary platforms | ||||
|             (lib.mkIf hardware.graphicsAcceleration.enable davinci-resolve) | ||||
| 
 | ||||
|  |  | |||
|  | @ -192,6 +192,9 @@ | |||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # limit arc usage to 50gb because ollama doesn't play nice with zfs using up all of the memory | ||||
|   boot.kernelParams = ["zfs.zfs_arc_max=53687091200"]; | ||||
| 
 | ||||
|   services = { | ||||
|     # TODO: move zfs scrubbing into module | ||||
|     zfs = { | ||||
|  | @ -215,6 +218,8 @@ | |||
|       enable = true; | ||||
|       exposePort = true; | ||||
| 
 | ||||
|       acceleration = false; | ||||
| 
 | ||||
|       loadModels = [ | ||||
|         # conversation models | ||||
|         "llama3.1:8b" | ||||
|  |  | |||
|  | @ -42,43 +42,43 @@ | |||
|       enable = true; | ||||
|       models = { | ||||
|         "Llama 3.1 8B" = { | ||||
|           model = "lamma3.1:8b"; | ||||
|           model = "llama3.1:8b"; | ||||
|           roles = ["chat" "edit" "apply"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
|         "Deepseek Coder:6.7B" = { | ||||
|           model = "deepseek-coder:6.7b"; | ||||
|           roles = ["chat" "edit" "apply"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
|         "Deepseek Coder:33B" = { | ||||
|           model = "deepseek-coder:33b"; | ||||
|           roles = ["chat" "edit" "apply"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
| 
 | ||||
|         "Deepseek r1:8B" = { | ||||
|           model = "deepseek-r1:8b"; | ||||
|           roles = ["chat"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
| 
 | ||||
|         "Deepseek r1:32B" = { | ||||
|           model = "deepseek-r1:32b"; | ||||
|           roles = ["chat"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
| 
 | ||||
|         "qwen2.5-coder:1.5b-base" = { | ||||
|           model = "qwen2.5-coder:1.5b-base"; | ||||
|           roles = ["autocomplete"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
| 
 | ||||
|         "nomic-embed-text:latest" = { | ||||
|           model = "nomic-embed-text:latest"; | ||||
|           roles = ["embed"]; | ||||
|           apiBase = "http://twilight:11434"; | ||||
|           apiBase = "http://defiant:11434"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  |  | |||
							
								
								
									
										71
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										71
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -7,11 +7,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1748832438, | ||||
|         "narHash": "sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A=", | ||||
|         "lastModified": 1750680230, | ||||
|         "narHash": "sha256-kD88T/NqmcgfOBFAwphN30ccaUdj6K6+LG0XdM2w2LA=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "disko", | ||||
|         "rev": "58d6e5a83fff9982d57e0a0a994d4e5c0af441e4", | ||||
|         "rev": "8fd2d6c75009ac75f9a6fb18c33a239806778d01", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -28,11 +28,11 @@ | |||
|       }, | ||||
|       "locked": { | ||||
|         "dir": "pkgs/firefox-addons", | ||||
|         "lastModified": 1749009805, | ||||
|         "narHash": "sha256-eRv4m89aPJvIAX9mZQcJM+l3sYG+OJvcLsiHvAvXalg=", | ||||
|         "lastModified": 1750737804, | ||||
|         "narHash": "sha256-wClGd2PhxdjjphR6wIgoiDcR+Gfg4/+FyseSOjIIzVU=", | ||||
|         "owner": "rycee", | ||||
|         "repo": "nur-expressions", | ||||
|         "rev": "622c38d004cdded682d9a5ab7323181dc6efb0c1", | ||||
|         "rev": "aaaf4fec792bad465ea4a35c0be5bc2a54f33095", | ||||
|         "type": "gitlab" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -115,11 +115,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1749049052, | ||||
|         "narHash": "sha256-wIt8ZBc8diKg1H5ibi3Bw9HUcPR2w3xy4ddcuzjgLb0=", | ||||
|         "lastModified": 1750730235, | ||||
|         "narHash": "sha256-rZErlxiV7ssvI8t7sPrKU+fRigNc2KvoKZG3gtUtK50=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "home-manager", | ||||
|         "rev": "ffab96a8b4a523c4b5e2645ee09e95a75cbdbfab", | ||||
|         "rev": "d07e9cceb4994ed64a22b9b36f8b76923e87ac38", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -185,11 +185,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1749012745, | ||||
|         "narHash": "sha256-Cax/k9ZRPKqTz18vZtmqGR45pHRXM+sDvEVd4V/3NrU=", | ||||
|         "lastModified": 1750618568, | ||||
|         "narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=", | ||||
|         "owner": "LnL7", | ||||
|         "repo": "nix-darwin", | ||||
|         "rev": "fa6120c32f10bd2aac9e8c9a6e71528a9d9d823b", | ||||
|         "rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -227,11 +227,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1749002682, | ||||
|         "narHash": "sha256-v9K6RyPF/+4r/YJhjEH8y07VWE6Vj7Vl88E/K5m/uJ0=", | ||||
|         "lastModified": 1750730765, | ||||
|         "narHash": "sha256-MIcOcvxqAXUv2TJjf19aVXdtVrD8Gkcfi4W4pKkT0Lw=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "nix-vscode-extensions", | ||||
|         "rev": "46eb9c16d8ccfedf8bc648be03f9b2993fe3c994", | ||||
|         "rev": "1a1442e13dc1730de0443f80dcf02658365e999a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -242,11 +242,11 @@ | |||
|     }, | ||||
|     "nixos-hardware": { | ||||
|       "locked": { | ||||
|         "lastModified": 1749056381, | ||||
|         "narHash": "sha256-QITcurR19KZlrCngBoCjsFF2BdYsiCG4UqmlrVcLb8Q=", | ||||
|         "lastModified": 1750431636, | ||||
|         "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixos-hardware", | ||||
|         "rev": "029bd66faa180e11262dd1bc2732254c33415f52", | ||||
|         "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -258,11 +258,11 @@ | |||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1748929857, | ||||
|         "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", | ||||
|         "lastModified": 1750506804, | ||||
|         "narHash": "sha256-VLFNc4egNjovYVxDGyBYTrvVCgDYgENp5bVi9fPTDYc=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", | ||||
|         "rev": "4206c4cb56751df534751b058295ea61357bbbaa", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -286,7 +286,8 @@ | |||
|         "nixos-hardware": "nixos-hardware", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "secrets": "secrets", | ||||
|         "sops-nix": "sops-nix" | ||||
|         "sops-nix": "sops-nix", | ||||
|         "steam-fetcher": "steam-fetcher" | ||||
|       } | ||||
|     }, | ||||
|     "secrets": { | ||||
|  | @ -312,11 +313,11 @@ | |||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1747603214, | ||||
|         "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", | ||||
|         "lastModified": 1750119275, | ||||
|         "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", | ||||
|         "owner": "Mic92", | ||||
|         "repo": "sops-nix", | ||||
|         "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", | ||||
|         "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|  | @ -325,6 +326,26 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "steam-fetcher": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1714795926, | ||||
|         "narHash": "sha256-PkgC9jqoN6cJ8XYzTA2PlrWs7aPJkM3BGiTxNqax0cA=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "steam-fetcher", | ||||
|         "rev": "12f66eafb7862d91b3e30c14035f96a21941bd9c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "steam-fetcher", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|  |  | |||
|  | @ -71,6 +71,11 @@ | |||
|     flake-compat = { | ||||
|       url = "github:edolstra/flake-compat"; | ||||
|     }; | ||||
| 
 | ||||
|     steam-fetcher = { | ||||
|       url = "github:nix-community/steam-fetcher"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = { | ||||
|  |  | |||
|  | @ -1,3 +1,6 @@ | |||
| # this folder is for derivation overlays | ||||
| {...}: { | ||||
| {inputs, ...}: { | ||||
|   nixpkgs.overlays = [ | ||||
|     inputs.steam-fetcher.overlays.default | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
|  | @ -13,5 +13,11 @@ | |||
|         ./prostudiomasters.nix | ||||
|         {}; | ||||
|     }) | ||||
|     (final: prev: { | ||||
|       noita_entangled_worlds = pkgs.callPackage ./noita-entangled-worlds.nix {}; | ||||
|     }) | ||||
|     (final: prev: { | ||||
|       gdx-liftoff = pkgs.callPackage ./gdx-liftoff.nix {}; | ||||
|     }) | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										44
									
								
								modules/common-modules/pkgs/gdx-liftoff.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								modules/common-modules/pkgs/gdx-liftoff.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,44 @@ | |||
| { | ||||
|   stdenv, | ||||
|   fetchurl, | ||||
|   makeWrapper, | ||||
|   jdk, | ||||
|   lib, | ||||
|   xorg, | ||||
|   libGL, | ||||
|   ... | ||||
| }: | ||||
| stdenv.mkDerivation rec { | ||||
|   pname = "gdx-liftoff"; | ||||
|   version = "1.13.5.1"; | ||||
| 
 | ||||
|   src = fetchurl { | ||||
|     url = "https://github.com/libgdx/gdx-liftoff/releases/download/v${version}/gdx-liftoff-${version}.jar"; | ||||
|     hash = "sha256-9vCXGNGwI/P4VmcdIzTv2GPAX8bZb7nkfopaRAf6yMA="; | ||||
|   }; | ||||
| 
 | ||||
|   dontUnpack = true; | ||||
| 
 | ||||
|   nativeBuildInputs = [makeWrapper]; | ||||
| 
 | ||||
|   runtimeDependencies = lib.makeLibraryPath [ | ||||
|     # glfw | ||||
|     libGL | ||||
|     xorg.libX11 | ||||
|     xorg.libXcursor | ||||
|     xorg.libXext | ||||
|     xorg.libXrandr | ||||
|     xorg.libXxf86vm | ||||
|   ]; | ||||
| 
 | ||||
|   installPhase = '' | ||||
|     runHook preInstall | ||||
| 
 | ||||
|     install -Dm644 $src $out/lib/gdx-liftoff-${version}.jar | ||||
| 
 | ||||
|     makeWrapper ${lib.getExe jdk} $out/bin/gdx-liftoff-${version} \ | ||||
|       --append-flags "-jar $out/lib/gdx-liftoff-${version}.jar"\ | ||||
|       ${lib.optionalString stdenv.hostPlatform.isLinux "--prefix LD_LIBRARY_PATH : ${runtimeDependencies}"} | ||||
|     runHook postInstall | ||||
|   ''; | ||||
| } | ||||
							
								
								
									
										46
									
								
								modules/common-modules/pkgs/noita-entangled-worlds.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								modules/common-modules/pkgs/noita-entangled-worlds.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| # not working yet | ||||
| { | ||||
|   pkgs, | ||||
|   rustPlatform, | ||||
|   fetchFromGitHub, | ||||
|   ... | ||||
| }: let | ||||
|   version = "1.5.3"; | ||||
|   repo = fetchFromGitHub { | ||||
|     owner = "IntQuant"; | ||||
|     repo = "noita_entangled_worlds"; | ||||
|     rev = "v${version}"; | ||||
|     hash = "sha256-frrpD0aWTeDbZYtp15R+quUUAZf7OvHlbSLtGJJtAqk="; | ||||
|   }; | ||||
| in | ||||
|   rustPlatform.buildRustPackage { | ||||
|     name = "noita-proxy-${version}"; | ||||
|     src = repo + "/noita-proxy"; | ||||
|     prePatch = '' | ||||
|       substituteInPlace Cargo.toml \ | ||||
|           --replace "path = \"../shared\"" "path = \"${repo + "/shared"}\"" | ||||
|     ''; | ||||
|     nativeBuildInputs = with pkgs; [ | ||||
|       pkg-config | ||||
|       python3 | ||||
|       cmake | ||||
|     ]; | ||||
|     buildInputs = with pkgs; [ | ||||
|       openssl | ||||
|       openssl.dev | ||||
|       libpulseaudio | ||||
|       libjack2 | ||||
|       alsa-lib | ||||
|       xorg.libxcb | ||||
|       xorg.libxcb.dev | ||||
|       libopus | ||||
|     ]; | ||||
|     propagatedBuildInputs = with pkgs; [ | ||||
|       steamworks-sdk-redist | ||||
|     ]; | ||||
|     runtimeDependencies = with pkgs; [ | ||||
|       steamworks-sdk-redist | ||||
|     ]; | ||||
|     doCheck = false; | ||||
|     cargoHash = "sha256-TzUS6d6PopgGf2i1yVaXaXdzNrvfSz+Gv67BAtxYmb4="; | ||||
|   } | ||||
|  | @ -11,6 +11,25 @@ | |||
|       host.desktop.enable = lib.mkDefault true; | ||||
|     } | ||||
|     (lib.mkIf config.host.desktop.enable { | ||||
|       environment.gnome.excludePackages = with pkgs; [ | ||||
|         xterm # default terminal | ||||
|         atomix # puzzle game | ||||
|         cheese # webcam tool | ||||
|         epiphany # web browser | ||||
|         geary # email reader | ||||
|         gedit # text editor | ||||
|         decibels # audio player | ||||
|         gnome-characters # character set viewer | ||||
|         gnome-music # music player | ||||
|         gnome-photos # photo viewer | ||||
|         gnome-logs # log viwer | ||||
|         gnome-maps # map viewer | ||||
|         gnome-tour # welcome tour | ||||
|         hitori # sudoku game | ||||
|         iagno # go game | ||||
|         tali # poker game | ||||
|         yelp # help viewer | ||||
|       ]; | ||||
|       services = { | ||||
|         # Enable CUPS to print documents. | ||||
|         printing.enable = true; | ||||
|  | @ -21,24 +40,6 @@ | |||
| 
 | ||||
|           # Get rid of xTerm | ||||
|           desktopManager.xterm.enable = false; | ||||
|           excludePackages = with pkgs; [ | ||||
|             xterm | ||||
|             atomix # puzzle game | ||||
|             cheese # webcam tool | ||||
|             epiphany # web browser | ||||
|             geary # email reader | ||||
|             gedit # text editor | ||||
|             gnome-characters | ||||
|             gnome-music | ||||
|             gnome-photos | ||||
|             gnome-tour | ||||
|             gnome-logs | ||||
|             gnome-maps | ||||
|             hitori # sudoku game | ||||
|             iagno # go game | ||||
|             tali # poker game | ||||
|             yelp # help viewer | ||||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         # Enable the GNOME Desktop Environment. | ||||
|  | @ -68,8 +69,6 @@ | |||
| 
 | ||||
|       # enable RealtimeKit for pulse audio | ||||
|       security.rtkit.enable = true; | ||||
|       # disable welcome tour | ||||
|       environment.gnome.excludePackages = [pkgs.gnome-tour]; | ||||
|     }) | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
|  | @ -28,21 +28,19 @@ | |||
|         }; | ||||
|       })) | ||||
|       (lib.mkIf config.host.impermanence.enable { | ||||
|         # TODO: move this somewhere common | ||||
|         systemd.tmpfiles.rules = [ | ||||
|           "d /var/lib/private 0700 root root" | ||||
|         ]; | ||||
|         environment.persistence."/persist/system/root" = { | ||||
|           enable = true; | ||||
|           hideMounts = true; | ||||
|           directories = [ | ||||
|             { | ||||
|               directory = config.services.ollama.models; | ||||
|               user = config.services.ollama.user; | ||||
|               group = config.services.ollama.group; | ||||
|             } | ||||
|             { | ||||
|               directory = "/var/lib/private/ollama"; | ||||
|               user = config.services.ollama.user; | ||||
|               group = config.services.ollama.group; | ||||
|               mode = "0700"; | ||||
|               defaultPerms.mode = "0700"; | ||||
|             } | ||||
|           ]; | ||||
|         }; | ||||
|  |  | |||
|  | @ -65,7 +65,7 @@ flake=${flake:-$target} | |||
| mode=${mode:-switch} | ||||
| user=${user:-$USER} | ||||
| 
 | ||||
| command="nixos-rebuild $mode --use-remote-sudo --flake .#$flake" | ||||
| command="nixos-rebuild $mode --use-remote-sudo --ask-sudo-password --flake .#$flake" | ||||
| 
 | ||||
| if [[ $host ]]; | ||||
| then | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue