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"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [ inputs.git-hooks.flakeModule ];
|
imports = [
|
||||||
|
inputs.git-hooks.flakeModule
|
||||||
|
|
||||||
|
./services/flake-part.nix
|
||||||
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ config, pkgs, ... }:
|
{ 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;
|
virtualisation.memorySize = lib.mkVMOverride 4096;
|
||||||
imports = with self.nixosModules; [
|
imports = with self.nixosModules; [
|
||||||
bleedingFediverse
|
|
||||||
fediversity
|
fediversity
|
||||||
garage-vm
|
../vm/garage-vm.nix
|
||||||
mastodon-vm
|
../vm/mastodon-vm.nix
|
||||||
];
|
];
|
||||||
# TODO: pair down
|
# TODO: pair down
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
@ -143,10 +143,9 @@ pkgs.nixosTest {
|
||||||
cores = 8;
|
cores = 8;
|
||||||
};
|
};
|
||||||
imports = with self.nixosModules; [
|
imports = with self.nixosModules; [
|
||||||
bleedingFediverse
|
|
||||||
fediversity
|
fediversity
|
||||||
garage-vm
|
../vm/garage-vm.nix
|
||||||
pixelfed-vm
|
../vm/pixelfed-vm.nix
|
||||||
];
|
];
|
||||||
# TODO: pair down
|
# TODO: pair down
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
Loading…
Reference in a new issue