forked from fediversity/fediversity
		
	Integrate deployment as a flake part
This commit is contained in:
		
							parent
							
								
									fc2acc13d8
								
							
						
					
					
						commit
						435d9c861a
					
				
					 5 changed files with 1065 additions and 1346 deletions
				
			
		
							
								
								
									
										141
									
								
								deployment/flake-part.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								deployment/flake-part.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,141 @@ | |||
| { inputs, self, ... }: | ||||
| 
 | ||||
| let | ||||
|   vmIdTo03d = | ||||
|     id: | ||||
|     let | ||||
|       sid = toString id; | ||||
|     in | ||||
|     if id >= 0 && id <= 9 then | ||||
|       "00${sid}" | ||||
|     else if id >= 10 && id <= 99 then | ||||
|       "0${sid}" | ||||
|     else | ||||
|       sid; | ||||
| 
 | ||||
|   allVmIds = # 100 -- 255 | ||||
|     let | ||||
|       allVmIdsFrom = x: if x > 255 then [ ] else [ x ] ++ allVmIdsFrom (x + 1); | ||||
|     in | ||||
|     allVmIdsFrom 100; | ||||
| 
 | ||||
|   makeInstaller = import ./makeInstaller.nix; | ||||
| 
 | ||||
| in | ||||
| { | ||||
|   flake.nixosConfigurations.provisioning = | ||||
|     let | ||||
|       inherit (builtins) map listToAttrs; | ||||
|       makeProvisioningConfiguration = | ||||
|         vmid: | ||||
|         inputs.nixpkgs.lib.nixosSystem { | ||||
|           modules = [ | ||||
|             { procolix.vmid = vmid; } | ||||
|             ./procolixVm.nix | ||||
|             inputs.disko.nixosModules.default | ||||
|           ]; | ||||
|         }; | ||||
|     in | ||||
|     listToAttrs ( | ||||
|       map (vmid: { | ||||
|         name = "fedi${vmIdTo03d vmid}"; | ||||
|         value = makeProvisioningConfiguration vmid; | ||||
|       }) allVmIds | ||||
|     ); | ||||
| 
 | ||||
|   flake.isoInstallers.provisioning = | ||||
|     let | ||||
|       inherit (builtins) mapAttrs; | ||||
|     in | ||||
|     mapAttrs ( | ||||
|       vmname: | ||||
|       makeInstaller { | ||||
|         inherit (inputs) nixpkgs; | ||||
|         hostKeys = { | ||||
|           rsa = { | ||||
|             private = ./hostKeys/${vmname}/ssh_host_rsa_key; | ||||
|             public = ./hostKeys/${vmname}/ssh_host_rsa_key.pub; | ||||
|           }; | ||||
|           ed25519 = { | ||||
|             private = ./hostKeys/${vmname}/ssh_host_ed25519_key; | ||||
|             public = ./hostKeys/${vmname}/ssh_host_ed25519_key.pub; | ||||
|           }; | ||||
|         }; | ||||
|       } | ||||
|     ) self.nixosConfigurations.provisioning; | ||||
| 
 | ||||
|   nixops4Deployments.default = | ||||
|     { providers, ... }: | ||||
| 
 | ||||
|     let | ||||
|       inherit (builtins) readFile; | ||||
| 
 | ||||
|       makeProcolixVmResource = vmid: vmconfig: { | ||||
|         type = providers.local.exec; | ||||
|         imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos ]; | ||||
|         ssh.opts = ""; | ||||
|         ssh.host = "95.215.187.${vmIdTo03d vmid}"; | ||||
|         ssh.hostPublicKey = readFile ./hostKeys/fedi${vmIdTo03d vmid}/ssh_host_ed25519_key.pub; | ||||
| 
 | ||||
|         nixpkgs = inputs.nixpkgs; | ||||
|         nixos.module = { | ||||
|           imports = [ | ||||
|             vmconfig | ||||
|             { procolix.vmid = vmid; } | ||||
|             ./procolixVm.nix | ||||
|             inputs.snf.nixosModules.fediversity | ||||
|             inputs.disko.nixosModules.default | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|     in | ||||
|     { | ||||
|       providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; | ||||
| 
 | ||||
|       resources = { | ||||
|         fedi100 = makeProcolixVmResource 100 { }; | ||||
| 
 | ||||
|         fedi101 = makeProcolixVmResource 101 { | ||||
|           fediversity = { | ||||
|             enable = true; | ||||
|             domain = "fedi101.abundos.eu"; | ||||
|             pixelfed.enable = true; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         fedi102 = makeProcolixVmResource 102 { | ||||
|           fediversity = { | ||||
|             enable = true; | ||||
|             domain = "fedi102.abundos.eu"; | ||||
|             mastodon.enable = true; | ||||
| 
 | ||||
|             temp.cores = 1; # FIXME: should come from NixOps4 eventually | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         fedi103 = makeProcolixVmResource 103 ( | ||||
|           { pkgs, ... }: | ||||
|           { | ||||
|             fediversity = { | ||||
|               enable = true; | ||||
|               domain = "fedi103.abundos.eu"; | ||||
|               peertube.enable = true; | ||||
| 
 | ||||
|               temp.peertubeSecretsFile = pkgs.writeText "secret" '' | ||||
|                 574e093907d1157ac0f8e760a6deb1035402003af5763135bae9cbd6abe32b24 | ||||
|               ''; | ||||
|             }; | ||||
|           } | ||||
|         ); | ||||
| 
 | ||||
|         fedi120 = makeProcolixVmResource 120 { | ||||
|           fediversity = { | ||||
|             enable = true; | ||||
|             domain = "fedi120.abundos.eu"; | ||||
|             pixelfed.enable = true; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										1158
									
								
								deployment/flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										1158
									
								
								deployment/flake.lock
									
										
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -1,184 +0,0 @@ | |||
| { | ||||
|   inputs = { | ||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; | ||||
|     flake-parts.url = "github:hercules-ci/flake-parts"; | ||||
|     git-hooks.url = "github:cachix/git-hooks.nix"; | ||||
| 
 | ||||
|     # snf.url = "path:/home/niols/git/fediversity/simple-nixos-fediverse"; #dev | ||||
|     snf.url = "git+https://git.fediversity.eu/fediversity/simple-nixos-fediverse.git"; | ||||
|     disko.url = "github:nix-community/disko"; | ||||
| 
 | ||||
|     nixops4.url = "github:nixops4/nixops4"; | ||||
|     nixops4-nixos.url = "github:nixops4/nixops4/eval"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = | ||||
|     inputs@{ | ||||
|       self, | ||||
|       flake-parts, | ||||
|       nixpkgs, | ||||
|       snf, | ||||
|       ... | ||||
|     }: | ||||
|     flake-parts.lib.mkFlake { inherit inputs; } { | ||||
| 
 | ||||
|       imports = [ | ||||
|         inputs.nixops4-nixos.modules.flake.default | ||||
|         inputs.git-hooks.flakeModule | ||||
|       ]; | ||||
| 
 | ||||
|       systems = [ | ||||
|         "x86_64-linux" | ||||
|         "aarch64-linux" | ||||
|         "aarch64-darwin" | ||||
|         "x86_64-darwin" | ||||
|       ]; | ||||
| 
 | ||||
|       perSystem = | ||||
|         { | ||||
|           config, | ||||
|           inputs', | ||||
|           pkgs, | ||||
|           ... | ||||
|         }: | ||||
|         { | ||||
|           formatter = pkgs.nixfmt-rfc-style; | ||||
| 
 | ||||
|           pre-commit.settings.hooks = { | ||||
|             nixfmt-rfc-style.enable = true; | ||||
|             deadnix.enable = true; | ||||
|           }; | ||||
| 
 | ||||
|           devShells.default = pkgs.mkShell { | ||||
|             packages = [ inputs'.nixops4.packages.default ]; | ||||
|             shellHook = config.pre-commit.installationScript; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|       flake.vmIdTo03d = | ||||
|         id: | ||||
|         let | ||||
|           sid = toString id; | ||||
|         in | ||||
|         if id >= 0 && id <= 9 then | ||||
|           "00${sid}" | ||||
|         else if id >= 10 && id <= 99 then | ||||
|           "0${sid}" | ||||
|         else | ||||
|           sid; | ||||
| 
 | ||||
|       flake.allVmIds = # 100 -- 255 | ||||
|         let | ||||
|           allVmIdsFrom = x: if x > 255 then [ ] else [ x ] ++ allVmIdsFrom (x + 1); | ||||
|         in | ||||
|         allVmIdsFrom 100; | ||||
| 
 | ||||
|       flake.nixosConfigurations.provisioning = | ||||
|         let | ||||
|           inherit (builtins) map listToAttrs; | ||||
|           makeProvisioningConfiguration = | ||||
|             vmid: | ||||
|             nixpkgs.lib.nixosSystem { | ||||
|               modules = [ | ||||
|                 { procolix.vmid = vmid; } | ||||
|                 ./procolixVm.nix | ||||
|                 inputs.disko.nixosModules.default | ||||
|               ]; | ||||
|             }; | ||||
|         in | ||||
|         listToAttrs ( | ||||
|           map (vmid: { | ||||
|             name = "fedi${self.vmIdTo03d vmid}"; | ||||
|             value = makeProvisioningConfiguration vmid; | ||||
|           }) self.allVmIds | ||||
|         ); | ||||
| 
 | ||||
|       flake.isoInstallers.provisioning = | ||||
|         let | ||||
|           inherit (builtins) mapAttrs; | ||||
|         in | ||||
|         mapAttrs ( | ||||
|           vmname: | ||||
|           snf.mkInstaller { | ||||
|             inherit nixpkgs; | ||||
|             hostKeys = { | ||||
|               rsa = { | ||||
|                 private = ./hostKeys/${vmname}/ssh_host_rsa_key; | ||||
|                 public = ./hostKeys/${vmname}/ssh_host_rsa_key.pub; | ||||
|               }; | ||||
|               ed25519 = { | ||||
|                 private = ./hostKeys/${vmname}/ssh_host_ed25519_key; | ||||
|                 public = ./hostKeys/${vmname}/ssh_host_ed25519_key.pub; | ||||
|               }; | ||||
|             }; | ||||
|           } | ||||
|         ) self.nixosConfigurations.provisioning; | ||||
| 
 | ||||
|       nixops4Deployments.default = | ||||
|         { providers, ... }: | ||||
| 
 | ||||
|         let | ||||
|           inherit (builtins) readFile; | ||||
| 
 | ||||
|           makeProcolixVmResource = vmid: vmconfig: { | ||||
|             type = providers.local.exec; | ||||
|             imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos ]; | ||||
|             ssh.opts = ""; | ||||
|             ssh.host = "95.215.187.${self.vmIdTo03d vmid}"; | ||||
|             ssh.hostPublicKey = readFile ./hostKeys/fedi${self.vmIdTo03d vmid}/ssh_host_ed25519_key.pub; | ||||
| 
 | ||||
|             nixpkgs = inputs.nixpkgs; | ||||
|             nixos.module = { | ||||
|               imports = [ | ||||
|                 vmconfig | ||||
|                 { procolix.vmid = vmid; } | ||||
|                 ./procolixVm.nix | ||||
|                 inputs.snf.nixosModules.fediversity | ||||
|                 inputs.disko.nixosModules.default | ||||
|               ]; | ||||
|             }; | ||||
|           }; | ||||
| 
 | ||||
|         in | ||||
|         { | ||||
|           providers.local = inputs.nixops4-nixos.modules.nixops4Provider.local; | ||||
| 
 | ||||
|           resources = { | ||||
|             fedi100 = makeProcolixVmResource 100 { }; | ||||
| 
 | ||||
|             fedi101 = makeProcolixVmResource 101 { | ||||
|               fediversity = { | ||||
|                 enable = true; | ||||
|                 domain = "fedi101.abundos.eu"; | ||||
|                 pixelfed.enable = true; | ||||
|               }; | ||||
|             }; | ||||
| 
 | ||||
|             fedi102 = makeProcolixVmResource 102 { | ||||
|               fediversity = { | ||||
|                 enable = true; | ||||
|                 domain = "fedi102.abundos.eu"; | ||||
|                 mastodon.enable = true; | ||||
| 
 | ||||
|                 temp.cores = 1; # FIXME: should come from NixOps4 eventually | ||||
|               }; | ||||
|             }; | ||||
| 
 | ||||
|             fedi103 = makeProcolixVmResource 103 ( | ||||
|               { pkgs, ... }: | ||||
|               { | ||||
|                 fediversity = { | ||||
|                   enable = true; | ||||
|                   domain = "fedi103.abundos.eu"; | ||||
|                   peertube.enable = true; | ||||
| 
 | ||||
|                   temp.peertubeSecretsFile = pkgs.writeText "secret" '' | ||||
|                     574e093907d1157ac0f8e760a6deb1035402003af5763135bae9cbd6abe32b24 | ||||
|                   ''; | ||||
|                 }; | ||||
|               } | ||||
|             ); | ||||
|           }; | ||||
|         }; | ||||
|     }; | ||||
| } | ||||
							
								
								
									
										909
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										909
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -1,5 +1,105 @@ | |||
| { | ||||
|   "nodes": { | ||||
|     "crane": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1727316705, | ||||
|         "narHash": "sha256-/mumx8AQ5xFuCJqxCIOFCHTVlxHkMT21idpbgbm/TIE=", | ||||
|         "owner": "ipetkov", | ||||
|         "repo": "crane", | ||||
|         "rev": "5b03654ce046b5167e7b0bccbd8244cb56c16f0e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "ipetkov", | ||||
|         "ref": "v0.19.0", | ||||
|         "repo": "crane", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "crane_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1699217310, | ||||
|         "narHash": "sha256-xpW3VFUG7yE6UE6Wl0dhqencuENSkV7qpnpe9I8VbPw=", | ||||
|         "owner": "ipetkov", | ||||
|         "repo": "crane", | ||||
|         "rev": "d535642bbe6f377077f7c23f0febb78b1463f449", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "ipetkov", | ||||
|         "ref": "v0.15.0", | ||||
|         "repo": "crane", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "disko": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": "nixpkgs" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1731274291, | ||||
|         "narHash": "sha256-cZ0QMpv5p2a6WEE+o9uu0a4ma6RzQDOQTbm7PbixWz8=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "disko", | ||||
|         "rev": "486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "disko", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "dream2nix": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "purescript-overlay": "purescript-overlay", | ||||
|         "pyproject-nix": "pyproject-nix" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1728585693, | ||||
|         "narHash": "sha256-rhx5SYpIkPu7d+rjF9FGGBVxS0BwAEkmYIsJg2a3E20=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "dream2nix", | ||||
|         "rev": "c6935471f7e1a9e190aaa9ac9823dca34e00d92a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "dream2nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "dream2nix_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "purescript-overlay": "purescript-overlay_2", | ||||
|         "pyproject-nix": "pyproject-nix_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1722526955, | ||||
|         "narHash": "sha256-fFS8aDnfK9Qfm2FLnQ8pqWk8FzvFEv5LvTuZTZLREnc=", | ||||
|         "owner": "nix-community", | ||||
|         "repo": "dream2nix", | ||||
|         "rev": "3fd4c14d3683baac8d1f94286ae14fe160888b51", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-community", | ||||
|         "repo": "dream2nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-compat": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|  | @ -16,6 +116,54 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-compat_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1696426674, | ||||
|         "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-compat_3": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1696426674, | ||||
|         "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-compat_4": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1696426674, | ||||
|         "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "edolstra", | ||||
|         "repo": "flake-compat", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-parts": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": "nixpkgs-lib" | ||||
|  | @ -34,11 +182,91 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-parts_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": "nixpkgs-lib_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726153070, | ||||
|         "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-parts_3": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": [ | ||||
|           "nixops4", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1719994518, | ||||
|         "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-parts_4": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": "nixpkgs-lib_3" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1726153070, | ||||
|         "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-parts_5": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1719994518, | ||||
|         "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "git-hooks": { | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat", | ||||
|         "gitignore": "gitignore", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "nixpkgs": "nixpkgs_2", | ||||
|         "nixpkgs-stable": "nixpkgs-stable" | ||||
|       }, | ||||
|       "locked": { | ||||
|  | @ -76,6 +304,223 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "libgit2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1724328629, | ||||
|         "narHash": "sha256-7SuD4k+ORwFPwDm5Qr5eSV6GMVWjMfFed9KYi8riUQo=", | ||||
|         "owner": "libgit2", | ||||
|         "repo": "libgit2", | ||||
|         "rev": "782e29c906f6e44b120843356f286b6a97d89f88", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "libgit2", | ||||
|         "repo": "libgit2", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "libgit2_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1724328629, | ||||
|         "narHash": "sha256-7SuD4k+ORwFPwDm5Qr5eSV6GMVWjMfFed9KYi8riUQo=", | ||||
|         "owner": "libgit2", | ||||
|         "repo": "libgit2", | ||||
|         "rev": "782e29c906f6e44b120843356f286b6a97d89f88", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "libgit2", | ||||
|         "repo": "libgit2", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "mk-naked-shell": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1681286841, | ||||
|         "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=", | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "mk-naked-shell", | ||||
|         "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "mk-naked-shell", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "mk-naked-shell_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1681286841, | ||||
|         "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=", | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "mk-naked-shell", | ||||
|         "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "mk-naked-shell", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix": { | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat_2", | ||||
|         "flake-parts": "flake-parts_3", | ||||
|         "libgit2": "libgit2", | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "nixpkgs-23-11": "nixpkgs-23-11", | ||||
|         "nixpkgs-regression": "nixpkgs-regression", | ||||
|         "pre-commit-hooks": "pre-commit-hooks" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1719448136, | ||||
|         "narHash": "sha256-ya0iofP+QysNzN7Gx7Btfe83ZW1YLpSdkccUNMnbBFQ=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nix", | ||||
|         "rev": "ed129267dcd7dd2cce48c09b17aefd6cfc488bcd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nix", | ||||
|         "rev": "ed129267dcd7dd2cce48c09b17aefd6cfc488bcd", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-cargo-integration": { | ||||
|       "inputs": { | ||||
|         "crane": "crane", | ||||
|         "dream2nix": "dream2nix", | ||||
|         "mk-naked-shell": "mk-naked-shell", | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "parts": "parts", | ||||
|         "rust-overlay": "rust-overlay", | ||||
|         "treefmt": "treefmt" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1729750574, | ||||
|         "narHash": "sha256-87MJq1yxwAcAK/aKSaJ0i4HpaorweyiwRY6kNzsc7v8=", | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "nix-cargo-integration", | ||||
|         "rev": "d4f92d8c201479762727991bb290da18129b858c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "nix-cargo-integration", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-cargo-integration_2": { | ||||
|       "inputs": { | ||||
|         "crane": "crane_2", | ||||
|         "dream2nix": "dream2nix_2", | ||||
|         "mk-naked-shell": "mk-naked-shell_2", | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "parts": "parts_2", | ||||
|         "rust-overlay": "rust-overlay_2", | ||||
|         "treefmt": "treefmt_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1724393640, | ||||
|         "narHash": "sha256-fjwO6Pv3d35F6UErY42hc7zXJr6ek0LhSZlgEu+eI04=", | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "nix-cargo-integration", | ||||
|         "rev": "3a8e3bb661db28522aa2d4a55f1fccf9f95ec33e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "yusdacra", | ||||
|         "repo": "nix-cargo-integration", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix_2": { | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat_4", | ||||
|         "flake-parts": "flake-parts_5", | ||||
|         "libgit2": "libgit2_2", | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "nixpkgs-23-11": "nixpkgs-23-11_2", | ||||
|         "nixpkgs-regression": "nixpkgs-regression_2", | ||||
|         "pre-commit-hooks": "pre-commit-hooks_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1719448136, | ||||
|         "narHash": "sha256-ya0iofP+QysNzN7Gx7Btfe83ZW1YLpSdkccUNMnbBFQ=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nix", | ||||
|         "rev": "ed129267dcd7dd2cce48c09b17aefd6cfc488bcd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nix", | ||||
|         "rev": "ed129267dcd7dd2cce48c09b17aefd6cfc488bcd", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixops4": { | ||||
|       "inputs": { | ||||
|         "flake-parts": "flake-parts_2", | ||||
|         "nix": "nix", | ||||
|         "nix-cargo-integration": "nix-cargo-integration", | ||||
|         "nixpkgs": "nixpkgs_3" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1729771744, | ||||
|         "narHash": "sha256-YsMiKjq91Hyjl0RcCTdxbw6961yAHE/yG8vU8m/dcVY=", | ||||
|         "owner": "nixops4", | ||||
|         "repo": "nixops4", | ||||
|         "rev": "78f39fd60c2891198a444c2f667df6199e7df173", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixops4", | ||||
|         "repo": "nixops4", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixops4-nixos": { | ||||
|       "inputs": { | ||||
|         "flake-parts": "flake-parts_4", | ||||
|         "nix": "nix_2", | ||||
|         "nix-cargo-integration": "nix-cargo-integration_2", | ||||
|         "nixpkgs": "nixpkgs_4" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1727424043, | ||||
|         "narHash": "sha256-00Tm2hCF8xBZk4HmzsaoPGtvRVamq3OujE5xWyHm8FI=", | ||||
|         "owner": "nixops4", | ||||
|         "repo": "nixops4", | ||||
|         "rev": "924af9b0f3666f22c638c02a21bc73a2ba002674", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nixops4", | ||||
|         "ref": "eval", | ||||
|         "repo": "nixops4", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730958623, | ||||
|  | @ -92,6 +537,38 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-23-11": { | ||||
|       "locked": { | ||||
|         "lastModified": 1717159533, | ||||
|         "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-23-11_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1717159533, | ||||
|         "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-lib": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730504152, | ||||
|  | @ -104,6 +581,62 @@ | |||
|         "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-lib_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1725233747, | ||||
|         "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", | ||||
|         "type": "tarball", | ||||
|         "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-lib_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1725233747, | ||||
|         "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=", | ||||
|         "type": "tarball", | ||||
|         "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" | ||||
|       }, | ||||
|       "original": { | ||||
|         "type": "tarball", | ||||
|         "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-regression": { | ||||
|       "locked": { | ||||
|         "lastModified": 1643052045, | ||||
|         "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-regression_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1643052045, | ||||
|         "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs-stable": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730741070, | ||||
|  | @ -121,6 +654,54 @@ | |||
|       } | ||||
|     }, | ||||
|     "nixpkgs_2": { | ||||
|       "locked": { | ||||
|         "lastModified": 1730958623, | ||||
|         "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "85f7e662eda4fa3a995556527c87b2524b691933", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixpkgs-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1724819573, | ||||
|         "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_4": { | ||||
|       "locked": { | ||||
|         "lastModified": 1724819573, | ||||
|         "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "NixOS", | ||||
|         "ref": "nixos-unstable", | ||||
|         "repo": "nixpkgs", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs_5": { | ||||
|       "locked": { | ||||
|         "lastModified": 1727672256, | ||||
|         "narHash": "sha256-9/79hjQc9+xyH+QxeMcRsA6hDyw6Z9Eo1/oxjvwirLk=", | ||||
|  | @ -136,11 +717,335 @@ | |||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "parts": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": [ | ||||
|           "nixops4", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1727826117, | ||||
|         "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "parts_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs-lib": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1722555600, | ||||
|         "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "hercules-ci", | ||||
|         "repo": "flake-parts", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pre-commit-hooks": { | ||||
|       "inputs": { | ||||
|         "flake-compat": [ | ||||
|           "nixops4", | ||||
|           "nix" | ||||
|         ], | ||||
|         "gitignore": [ | ||||
|           "nixops4", | ||||
|           "nix" | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "nixpkgs-stable": [ | ||||
|           "nixops4", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1724857454, | ||||
|         "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", | ||||
|         "owner": "cachix", | ||||
|         "repo": "pre-commit-hooks.nix", | ||||
|         "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "cachix", | ||||
|         "repo": "pre-commit-hooks.nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pre-commit-hooks_2": { | ||||
|       "inputs": { | ||||
|         "flake-compat": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix" | ||||
|         ], | ||||
|         "gitignore": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix" | ||||
|         ], | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "nixpkgs-stable": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1724857454, | ||||
|         "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", | ||||
|         "owner": "cachix", | ||||
|         "repo": "pre-commit-hooks.nix", | ||||
|         "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "cachix", | ||||
|         "repo": "pre-commit-hooks.nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "purescript-overlay": { | ||||
|       "inputs": { | ||||
|         "flake-compat": "flake-compat_3", | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nix-cargo-integration", | ||||
|           "dream2nix", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "slimlock": "slimlock" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1724504251, | ||||
|         "narHash": "sha256-TIw+sac0NX0FeAneud+sQZT+ql1G/WEb7/Vb436rUXM=", | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "purescript-overlay", | ||||
|         "rev": "988b09676c2a0e6a46dfa3589aa6763c90476b8a", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "purescript-overlay", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "purescript-overlay_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix-cargo-integration", | ||||
|           "dream2nix", | ||||
|           "nixpkgs" | ||||
|         ], | ||||
|         "slimlock": "slimlock_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1696022621, | ||||
|         "narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=", | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "purescript-overlay", | ||||
|         "rev": "047c7933abd6da8aa239904422e22d190ce55ead", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "purescript-overlay", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-nix": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1702448246, | ||||
|         "narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=", | ||||
|         "owner": "davhau", | ||||
|         "repo": "pyproject.nix", | ||||
|         "rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "davhau", | ||||
|         "ref": "dream2nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "pyproject-nix_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1702448246, | ||||
|         "narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=", | ||||
|         "owner": "davhau", | ||||
|         "repo": "pyproject.nix", | ||||
|         "rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "davhau", | ||||
|         "ref": "dream2nix", | ||||
|         "repo": "pyproject.nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "disko": "disko", | ||||
|         "flake-parts": "flake-parts", | ||||
|         "git-hooks": "git-hooks", | ||||
|         "nixpkgs": "nixpkgs_2" | ||||
|         "nixops4": "nixops4", | ||||
|         "nixops4-nixos": "nixops4-nixos", | ||||
|         "nixpkgs": "nixpkgs_5" | ||||
|       } | ||||
|     }, | ||||
|     "rust-overlay": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1729736953, | ||||
|         "narHash": "sha256-Rb6JUop7NRklg0uzcre+A+Ebrn/ZiQPkm4QdKg6/3pw=", | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "rev": "29b1275740d9283467b8117499ec8cbb35250584", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "rust-overlay_2": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|         "lastModified": 1724379657, | ||||
|         "narHash": "sha256-+CFDh1FUgyY7q0FiWhKJpHS7LlD3KbiqN5Z4Z+4bGmc=", | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "rev": "a18034322c7703fcfe5d7352a77981ba4a936a61", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "oxalica", | ||||
|         "repo": "rust-overlay", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "slimlock": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nix-cargo-integration", | ||||
|           "dream2nix", | ||||
|           "purescript-overlay", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1688756706, | ||||
|         "narHash": "sha256-xzkkMv3neJJJ89zo3o2ojp7nFeaZc2G0fYwNXNJRFlo=", | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "slimlock", | ||||
|         "rev": "cf72723f59e2340d24881fd7bf61cb113b4c407c", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "slimlock", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "slimlock_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix-cargo-integration", | ||||
|           "dream2nix", | ||||
|           "purescript-overlay", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1688610262, | ||||
|         "narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=", | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "slimlock", | ||||
|         "rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "thomashoneyman", | ||||
|         "repo": "slimlock", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "treefmt": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1729613947, | ||||
|         "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "treefmt_2": { | ||||
|       "inputs": { | ||||
|         "nixpkgs": [ | ||||
|           "nixops4-nixos", | ||||
|           "nix-cargo-integration", | ||||
|           "nixpkgs" | ||||
|         ] | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1724338379, | ||||
|         "narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "rev": "070f834771efa715f3e74cd8ab93ecc96fabc951", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "treefmt-nix", | ||||
|         "type": "github" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
							
								
								
									
										19
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -3,6 +3,11 @@ | |||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; | ||||
|     flake-parts.url = "github:hercules-ci/flake-parts"; | ||||
|     git-hooks.url = "github:cachix/git-hooks.nix"; | ||||
| 
 | ||||
|     disko.url = "github:nix-community/disko"; | ||||
| 
 | ||||
|     nixops4.url = "github:nixops4/nixops4"; | ||||
|     nixops4-nixos.url = "github:nixops4/nixops4/eval"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = | ||||
|  | @ -17,12 +22,19 @@ | |||
| 
 | ||||
|       imports = [ | ||||
|         inputs.git-hooks.flakeModule | ||||
|         inputs.nixops4-nixos.modules.flake.default | ||||
| 
 | ||||
|         ./deployment/flake-part.nix | ||||
|         ./services/flake-part.nix | ||||
|       ]; | ||||
| 
 | ||||
|       perSystem = | ||||
|         { config, pkgs, ... }: | ||||
|         { | ||||
|           config, | ||||
|           pkgs, | ||||
|           inputs', | ||||
|           ... | ||||
|         }: | ||||
|         { | ||||
|           formatter = pkgs.nixfmt-rfc-style; | ||||
| 
 | ||||
|  | @ -49,7 +61,10 @@ | |||
|             }; | ||||
| 
 | ||||
|           devShells.default = pkgs.mkShell { | ||||
|             packages = [ pkgs.nil ]; | ||||
|             packages = [ | ||||
|               pkgs.nil | ||||
|               inputs'.nixops4.packages.default | ||||
|             ]; | ||||
|             shellHook = config.pre-commit.installationScript; | ||||
|           }; | ||||
|         }; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue