forked from fediversity/fediversity
		
	Integrate services as a flake part
This commit is contained in:
		
							parent
							
								
									9c08267fce
								
							
						
					
					
						commit
						fc2acc13d8
					
				
					 5 changed files with 27 additions and 117 deletions
				
			
		
							
								
								
									
										11
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -15,7 +15,11 @@ | |||
|         "aarch64-darwin" | ||||
|       ]; | ||||
| 
 | ||||
|       imports = [ inputs.git-hooks.flakeModule ]; | ||||
|       imports = [ | ||||
|         inputs.git-hooks.flakeModule | ||||
| 
 | ||||
|         ./services/flake-part.nix | ||||
|       ]; | ||||
| 
 | ||||
|       perSystem = | ||||
|         { config, pkgs, ... }: | ||||
|  | @ -44,7 +48,10 @@ | |||
|               }; | ||||
|             }; | ||||
| 
 | ||||
|           devShells.default = pkgs.mkShell { shellHook = config.pre-commit.installationScript; }; | ||||
|           devShells.default = pkgs.mkShell { | ||||
|             packages = [ pkgs.nil ]; | ||||
|             shellHook = config.pre-commit.installationScript; | ||||
|           }; | ||||
|         }; | ||||
|     }; | ||||
| } | ||||
|  |  | |||
							
								
								
									
										14
									
								
								services/flake-part.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								services/flake-part.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| { self, ... }: | ||||
| 
 | ||||
| { | ||||
|   flake.nixosModules.fediversity = import ./fediversity; | ||||
| 
 | ||||
|   perSystem = | ||||
|     { pkgs, ... }: | ||||
|     { | ||||
|       checks = { | ||||
|         mastodon-garage = import ./tests/mastodon-garage.nix { inherit self pkgs; }; | ||||
|         pixelfed-garage = import ./tests/pixelfed-garage.nix { inherit self pkgs; }; | ||||
|       }; | ||||
|     }; | ||||
| } | ||||
|  | @ -1,109 +0,0 @@ | |||
| { | ||||
|   inputs = { | ||||
|     nixpkgs.url = "github:radvendii/nixpkgs/nixos_rebuild_tests"; | ||||
|     nixpkgs-latest.url = "github:nixos/nixpkgs"; | ||||
| 
 | ||||
|     pixelfed = { | ||||
|       url = "github:pixelfed/pixelfed?ref=v0.12.3"; | ||||
|       flake = false; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = | ||||
|     { | ||||
|       self, | ||||
|       nixpkgs, | ||||
|       nixpkgs-latest, | ||||
|       pixelfed, | ||||
|     }: | ||||
|     let | ||||
|       system = "x86_64-linux"; | ||||
|       lib = nixpkgs.lib; | ||||
|       pkgs = nixpkgs.legacyPackages.${system}; | ||||
|       pkgsLatest = nixpkgs-latest.legacyPackages.${system}; | ||||
|       bleedingFediverseOverlay = ( | ||||
|         _: _: { | ||||
|           pixelfed = pkgsLatest.pixelfed.overrideAttrs (old: { | ||||
|             src = pixelfed; | ||||
|             patches = (old.patches or [ ]) ++ [ ./fediversity/pixelfed-group-permissions.patch ]; | ||||
|           }); | ||||
|           ## TODO: give mastodon, peertube the same treatment | ||||
|         } | ||||
|       ); | ||||
|     in | ||||
|     { | ||||
|       nixosModules = { | ||||
|         ## Bleeding-edge fediverse packages | ||||
|         bleedingFediverse = { | ||||
|           nixpkgs.overlays = [ bleedingFediverseOverlay ]; | ||||
|         }; | ||||
|         ## Fediversity modules | ||||
|         fediversity = import ./fediversity; | ||||
| 
 | ||||
|         ## VM-specific modules | ||||
|         interactive-vm = import ./vm/interactive-vm.nix; | ||||
|         garage-vm = import ./vm/garage-vm.nix; | ||||
|         mastodon-vm = import ./vm/mastodon-vm.nix; | ||||
|         peertube-vm = import ./vm/peertube-vm.nix; | ||||
|         pixelfed-vm = import ./vm/pixelfed-vm.nix; | ||||
|       }; | ||||
| 
 | ||||
|       nixosConfigurations = { | ||||
|         mastodon = nixpkgs.lib.nixosSystem { | ||||
|           inherit system; | ||||
|           modules = with self.nixosModules; [ | ||||
|             bleedingFediverse | ||||
|             fediversity | ||||
|             interactive-vm | ||||
|             garage-vm | ||||
|             mastodon-vm | ||||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         peertube = nixpkgs.lib.nixosSystem { | ||||
|           inherit system; | ||||
|           modules = with self.nixosModules; [ | ||||
|             bleedingFediverse | ||||
|             fediversity | ||||
|             interactive-vm | ||||
|             garage-vm | ||||
|             peertube-vm | ||||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         pixelfed = nixpkgs.lib.nixosSystem { | ||||
|           inherit system; | ||||
|           modules = with self.nixosModules; [ | ||||
|             bleedingFediverse | ||||
|             fediversity | ||||
|             interactive-vm | ||||
|             garage-vm | ||||
|             pixelfed-vm | ||||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         all = nixpkgs.lib.nixosSystem { | ||||
|           inherit system; | ||||
|           modules = with self.nixosModules; [ | ||||
|             bleedingFediverse | ||||
|             fediversity | ||||
|             interactive-vm | ||||
|             garage-vm | ||||
|             peertube-vm | ||||
|             pixelfed-vm | ||||
|             mastodon-vm | ||||
|           ]; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       checks.${system} = { | ||||
|         mastodon-garage = import ./tests/mastodon-garage.nix { inherit pkgs self; }; | ||||
|         pixelfed-garage = import ./tests/pixelfed-garage.nix { inherit pkgs self; }; | ||||
|       }; | ||||
| 
 | ||||
|       devShells.${system}.default = pkgs.mkShell { | ||||
|         inputs = with pkgs; [ nil ]; | ||||
|         shellHook = self.checks.${system}.pre-commit.shellHook; | ||||
|       }; | ||||
|     }; | ||||
| } | ||||
|  | @ -43,10 +43,9 @@ pkgs.nixosTest { | |||
|       { | ||||
|         virtualisation.memorySize = lib.mkVMOverride 4096; | ||||
|         imports = with self.nixosModules; [ | ||||
|           bleedingFediverse | ||||
|           fediversity | ||||
|           garage-vm | ||||
|           mastodon-vm | ||||
|           ../vm/garage-vm.nix | ||||
|           ../vm/mastodon-vm.nix | ||||
|         ]; | ||||
|         # TODO: pair down | ||||
|         environment.systemPackages = with pkgs; [ | ||||
|  |  | |||
|  | @ -143,10 +143,9 @@ pkgs.nixosTest { | |||
|           cores = 8; | ||||
|         }; | ||||
|         imports = with self.nixosModules; [ | ||||
|           bleedingFediverse | ||||
|           fediversity | ||||
|           garage-vm | ||||
|           pixelfed-vm | ||||
|           ../vm/garage-vm.nix | ||||
|           ../vm/pixelfed-vm.nix | ||||
|         ]; | ||||
|         # TODO: pair down | ||||
|         environment.systemPackages = with pkgs; [ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue