forked from Fediversity/Fediversity
Integrate services as a flake part
This commit is contained in:
parent
9c08267fce
commit
fc2acc13d8
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…
Reference in a new issue