forked from fediversity/fediversity
Compare commits
8 commits
bd1cfd7a7c
...
4e8b399052
Author | SHA1 | Date | |
---|---|---|---|
4e8b399052 | |||
46182e7512 | |||
9a25a04bfa | |||
c1b33121b6 | |||
d073bd706d | |||
486b316885 | |||
611c961dcf | |||
d67f533948 |
68 changed files with 159 additions and 16 deletions
|
@ -7,15 +7,16 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lockfile:
|
lockfile:
|
||||||
runs-on: ubuntu-latest
|
runs-on: native
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Install Nix
|
- name: Update pins
|
||||||
uses: cachix/install-nix-action@v31
|
run: nix-shell --run "npins update"
|
||||||
- name: Install npins
|
- name: Create PR
|
||||||
run: nix profile install 'nixpkgs#npins'
|
uses: peter-evans/create-pull-request@v7
|
||||||
- name: Update npins sources
|
|
||||||
uses: getchoo/update-npins@v0
|
|
||||||
with:
|
with:
|
||||||
token: "${{ secrets.DEPLOY_KEY }}"
|
token: "${{ secrets.DEPLOY_KEY }}"
|
||||||
|
branch: npins-update
|
||||||
|
commit-message: "npins: update sources"
|
||||||
|
title: "npins: update sources"
|
||||||
|
|
|
@ -10,6 +10,8 @@ let
|
||||||
gitignore
|
gitignore
|
||||||
;
|
;
|
||||||
inherit (pkgs) lib;
|
inherit (pkgs) lib;
|
||||||
|
inherit (import sources.flake-inputs) import-flake;
|
||||||
|
inherit ((import-flake { src = ./.; }).inputs) nixops4;
|
||||||
pre-commit-check =
|
pre-commit-check =
|
||||||
(import "${git-hooks}/nix" {
|
(import "${git-hooks}/nix" {
|
||||||
inherit nixpkgs system;
|
inherit nixpkgs system;
|
||||||
|
@ -55,8 +57,10 @@ in
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
|
pkgs.npins
|
||||||
pkgs.nix-unit
|
pkgs.nix-unit
|
||||||
test-loop
|
test-loop
|
||||||
|
nixops4.packages.${system}.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "flake";
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixosTest";
|
||||||
|
|
||||||
name = "deployment-basic";
|
name = "deployment-basic";
|
||||||
|
|
||||||
nodes.deployer =
|
nodes.deployer =
|
||||||
|
|
|
@ -20,6 +20,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "flake";
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixosTest";
|
||||||
|
|
||||||
name = "deployment-cli";
|
name = "deployment-cli";
|
||||||
|
|
||||||
nodes.deployer =
|
nodes.deployer =
|
||||||
|
|
|
@ -18,6 +18,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ ./sharedOptions.nix ];
|
imports = [ ./sharedOptions.nix ];
|
||||||
|
|
||||||
options.system.extraDependenciesFromModule = mkOption {
|
options.system.extraDependenciesFromModule = mkOption {
|
||||||
|
|
|
@ -42,6 +42,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixosTest";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./sharedOptions.nix
|
./sharedOptions.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,6 +11,7 @@ let
|
||||||
inherit (lib) mkOption types;
|
inherit (lib) mkOption types;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
# `config` not set and imported from multiple places: no fixed module class
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
targetMachines = mkOption {
|
targetMachines = mkOption {
|
||||||
|
|
|
@ -12,6 +12,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
(modulesPath + "/../lib/testing/nixos-test-base.nix")
|
(modulesPath + "/../lib/testing/nixos-test-base.nix")
|
||||||
|
|
|
@ -12,6 +12,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
imports = [ ./sharedOptions.nix ];
|
imports = [ ./sharedOptions.nix ];
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -23,6 +23,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "flake";
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
|
@ -121,6 +121,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixosTest";
|
||||||
|
|
||||||
name = "deployment-panel";
|
name = "deployment-panel";
|
||||||
|
|
||||||
## The panel's module sets `nixpkgs.overlays` which clashes with
|
## The panel's module sets `nixpkgs.overlays` which clashes with
|
||||||
|
|
|
@ -11,6 +11,8 @@ let
|
||||||
}).config;
|
}).config;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nix-unit";
|
||||||
|
|
||||||
test-eval = {
|
test-eval = {
|
||||||
expr =
|
expr =
|
||||||
let
|
let
|
||||||
|
|
|
@ -7,6 +7,8 @@ let
|
||||||
in
|
in
|
||||||
with types;
|
with types;
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Deployment";
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
runtime-environments = mkOption {
|
runtime-environments = mkOption {
|
||||||
description = "Collection of runtime environments into which applications can be deployed";
|
description = "Collection of runtime environments into which applications can be deployed";
|
||||||
|
|
|
@ -65,6 +65,8 @@ let
|
||||||
cfg = config.deployment;
|
cfg = config.deployment;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Deployment";
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
deployment = lib.mkOption {
|
deployment = lib.mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "flake";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./check/basic/flake-part.nix
|
./check/basic/flake-part.nix
|
||||||
./check/cli/flake-part.nix
|
./check/cli/flake-part.nix
|
||||||
|
|
|
@ -17,6 +17,8 @@ let
|
||||||
inherit (lib) types mkOption;
|
inherit (lib) types mkOption;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Deployment";
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
enable = lib.mkEnableOption "Fediversity configuration";
|
enable = lib.mkEnableOption "Fediversity configuration";
|
||||||
domain = mkOption {
|
domain = mkOption {
|
||||||
|
|
|
@ -5,6 +5,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ modulesPath, ... }:
|
{ modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
|
@ -5,6 +5,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
procolix = {
|
procolix = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|
|
@ -6,6 +6,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
options.fediversityVm = {
|
options.fediversityVm = {
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
|
@ -9,7 +10,7 @@ let
|
||||||
inherit (lib.attrsets) concatMapAttrs optionalAttrs;
|
inherit (lib.attrsets) concatMapAttrs optionalAttrs;
|
||||||
inherit (lib.strings) removeSuffix;
|
inherit (lib.strings) removeSuffix;
|
||||||
sources = import ../../npins;
|
sources = import ../../npins;
|
||||||
inherit (sources) nixpkgs agenix disko;
|
inherit (sources) agenix disko;
|
||||||
|
|
||||||
secretsPrefix = ../../secrets;
|
secretsPrefix = ../../secrets;
|
||||||
secrets = import (secretsPrefix + "/secrets.nix");
|
secrets = import (secretsPrefix + "/secrets.nix");
|
||||||
|
@ -17,6 +18,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
fediversityVm.hostPublicKey = mkDefault keys.systems.${config.fediversityVm.name};
|
fediversityVm.hostPublicKey = mkDefault keys.systems.${config.fediversityVm.name};
|
||||||
|
@ -26,7 +29,7 @@ in
|
||||||
hostPublicKey = config.fediversityVm.hostPublicKey;
|
hostPublicKey = config.fediversityVm.hostPublicKey;
|
||||||
};
|
};
|
||||||
|
|
||||||
inherit nixpkgs;
|
inherit (inputs) nixpkgs;
|
||||||
|
|
||||||
## The configuration of the machine. We strive to keep in this file only the
|
## The configuration of the machine. We strive to keep in this file only the
|
||||||
## options that really need to be injected from the resource. Everything else
|
## options that really need to be injected from the resource. Everything else
|
||||||
|
|
|
@ -21,6 +21,9 @@ let
|
||||||
makeResourceModule =
|
makeResourceModule =
|
||||||
{ vmName, isTestVm }:
|
{ vmName, isTestVm }:
|
||||||
{
|
{
|
||||||
|
# TODO(@fricklerhandwerk): this is terrible but IMO we should just ditch flake-parts and have our own data model for how the project is organised internally
|
||||||
|
_module.args = { inherit inputs; };
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./common/resource.nix
|
./common/resource.nix
|
||||||
|
@ -152,6 +155,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "flake";
|
||||||
|
|
||||||
## - Each normal or test machine gets a NixOS configuration.
|
## - Each normal or test machine gets a NixOS configuration.
|
||||||
## - Each normal or test machine gets a VM options entry.
|
## - Each normal or test machine gets a VM options entry.
|
||||||
## - Each normal machine gets a deployment.
|
## - Each normal machine gets a deployment.
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 200;
|
vmId = 200;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 201;
|
vmId = 201;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -6,6 +6,8 @@ let
|
||||||
name = "panel";
|
name = "panel";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
(import ../../../panel { }).module
|
(import ../../../panel { }).module
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 2116;
|
vmId = 2116;
|
||||||
proxmox = "procolix";
|
proxmox = "procolix";
|
||||||
|
|
|
@ -5,6 +5,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
services.forgejo = {
|
services.forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 2187;
|
vmId = 2187;
|
||||||
proxmox = "procolix";
|
proxmox = "procolix";
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
services.phpfpm.pools.mediawiki.phpOptions = ''
|
services.phpfpm.pools.mediawiki.phpOptions = ''
|
||||||
upload_max_filesize = 1024M;
|
upload_max_filesize = 1024M;
|
||||||
post_max_size = 1024M;
|
post_max_size = 1024M;
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7001;
|
vmId = 7001;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7002;
|
vmId = 7002;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7003;
|
vmId = 7003;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7004;
|
vmId = 7004;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7005;
|
vmId = 7005;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7006;
|
vmId = 7006;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7011;
|
vmId = 7011;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7012;
|
vmId = 7012;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7013;
|
vmId = 7013;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{
|
{
|
||||||
|
_class = "nixops4Resource";
|
||||||
|
|
||||||
fediversityVm = {
|
fediversityVm = {
|
||||||
vmId = 7014;
|
vmId = 7014;
|
||||||
proxmox = "fediversity";
|
proxmox = "fediversity";
|
||||||
|
|
|
@ -25,6 +25,22 @@
|
||||||
"url": null,
|
"url": null,
|
||||||
"hash": "1w2gsy6qwxa5abkv8clb435237iifndcxq0s79wihqw11a5yb938"
|
"hash": "1w2gsy6qwxa5abkv8clb435237iifndcxq0s79wihqw11a5yb938"
|
||||||
},
|
},
|
||||||
|
"disko": {
|
||||||
|
"type": "GitRelease",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko"
|
||||||
|
},
|
||||||
|
"pre_releases": false,
|
||||||
|
"version_upper_bound": null,
|
||||||
|
"release_prefix": null,
|
||||||
|
"submodules": false,
|
||||||
|
"version": "v1.12.0",
|
||||||
|
"revision": "7121f74b976481bc36877abaf52adab2a178fcbe",
|
||||||
|
"url": "https://api.github.com/repos/nix-community/disko/tarball/v1.12.0",
|
||||||
|
"hash": "0wbx518d2x54yn4xh98cgm65wvj0gpy6nia6ra7ns4j63hx14fkq"
|
||||||
|
},
|
||||||
"flake-inputs": {
|
"flake-inputs": {
|
||||||
"type": "GitRelease",
|
"type": "GitRelease",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
|
@ -27,7 +27,7 @@ in
|
||||||
pkgs.openssh
|
pkgs.openssh
|
||||||
];
|
];
|
||||||
env = {
|
env = {
|
||||||
DEPLOYMENT_FLAKE = ../.;
|
DEPLOYMENT_FLAKE = toString ../.;
|
||||||
DEPLOYMENT_NAME = "test";
|
DEPLOYMENT_NAME = "test";
|
||||||
NPINS_DIRECTORY = toString ../npins;
|
NPINS_DIRECTORY = toString ../npins;
|
||||||
CREDENTIALS_DIRECTORY = toString ./.credentials;
|
CREDENTIALS_DIRECTORY = toString ./.credentials;
|
||||||
|
|
|
@ -76,6 +76,8 @@ in
|
||||||
# https://git.dgnum.eu/mdebray/djangonix/
|
# https://git.dgnum.eu/mdebray/djangonix/
|
||||||
# unlicensed at the time of writing, but surely worth taking some inspiration from...
|
# unlicensed at the time of writing, but surely worth taking some inspiration from...
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
options.services.${name} = {
|
options.services.${name} = {
|
||||||
enable = mkEnableOption "Service configuration for `${name}`";
|
enable = mkEnableOption "Service configuration for `${name}`";
|
||||||
production = mkOption {
|
production = mkOption {
|
||||||
|
|
|
@ -60,6 +60,8 @@ let
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
python3.pkgs.buildPythonPackage {
|
python3.pkgs.buildPythonPackage {
|
||||||
|
_class = "package";
|
||||||
|
|
||||||
pname = name;
|
pname = name;
|
||||||
inherit (pyproject.project) version;
|
inherit (pyproject.project) version;
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
_class = "package";
|
||||||
|
|
||||||
pname = "django-pydantic-field";
|
pname = "django-pydantic-field";
|
||||||
version = "v0.3.12";
|
version = "v0.3.12";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
_class = "package";
|
||||||
|
|
||||||
pname = "drf-pydantic";
|
pname = "drf-pydantic";
|
||||||
version = "v2.7.1";
|
version = "v2.7.1";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
tests = {
|
tests = {
|
||||||
mastodon = import ./tests/mastodon.nix { inherit pkgs; };
|
mastodon = pkgs.nixosTest ./tests/mastodon.nix;
|
||||||
pixelfed-garage = import ./tests/pixelfed-garage.nix { inherit pkgs; };
|
pixelfed-garage = pkgs.nixosTest ./tests/pixelfed-garage.nix;
|
||||||
peertube = import ./tests/peertube.nix { inherit pkgs; };
|
peertube = pkgs.nixosTest ./tests/peertube.nix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./garage
|
./garage
|
||||||
./mastodon
|
./mastodon
|
||||||
|
|
|
@ -97,6 +97,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkIf config.fediversity.garage.enable {
|
config = mkIf config.fediversity.garage.enable {
|
||||||
|
|
|
@ -5,6 +5,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
options.fediversity.garage = {
|
options.fediversity.garage = {
|
||||||
enable = mkEnableOption "Enable a Garage server on the machine";
|
enable = mkEnableOption "Enable a Garage server on the machine";
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
options.fediversity.mastodon =
|
options.fediversity.mastodon =
|
||||||
(import ../sharedOptions.nix {
|
(import ../sharedOptions.nix {
|
||||||
inherit config lib;
|
inherit config lib;
|
||||||
|
|
|
@ -5,6 +5,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
|
|
@ -6,6 +6,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
options.fediversity.peertube =
|
options.fediversity.peertube =
|
||||||
(import ../sharedOptions.nix {
|
(import ../sharedOptions.nix {
|
||||||
inherit config lib;
|
inherit config lib;
|
||||||
|
|
|
@ -15,6 +15,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
options.fediversity.pixelfed =
|
options.fediversity.pixelfed =
|
||||||
(import ../sharedOptions.nix {
|
(import ../sharedOptions.nix {
|
||||||
inherit config lib;
|
inherit config lib;
|
||||||
|
|
|
@ -14,6 +14,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
enable = mkEnableOption "Enable a ${serviceDocName} server on the machine";
|
enable = mkEnableOption "Enable a ${serviceDocName} server on the machine";
|
||||||
|
|
||||||
s3AccessKeyFile = mkOption {
|
s3AccessKeyFile = mkOption {
|
||||||
|
|
|
@ -42,7 +42,7 @@ let
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|
||||||
pkgs.nixosTest {
|
{
|
||||||
name = "mastodon";
|
name = "mastodon";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
|
|
|
@ -161,7 +161,7 @@ let
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|
||||||
pkgs.nixosTest {
|
{
|
||||||
name = "peertube";
|
name = "peertube";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
|
|
|
@ -114,7 +114,7 @@ let
|
||||||
${seleniumQuit}'';
|
${seleniumQuit}'';
|
||||||
|
|
||||||
in
|
in
|
||||||
pkgs.nixosTest {
|
{
|
||||||
name = "test-pixelfed-garage";
|
name = "test-pixelfed-garage";
|
||||||
|
|
||||||
nodes = {
|
nodes = {
|
||||||
|
|
|
@ -127,6 +127,8 @@ let
|
||||||
preOverride = pkgs.nixosTest (
|
preOverride = pkgs.nixosTest (
|
||||||
test
|
test
|
||||||
// {
|
// {
|
||||||
|
_class = "nixosTest";
|
||||||
|
|
||||||
interactive = (test.interactive or { }) // {
|
interactive = (test.interactive or { }) // {
|
||||||
# no need to // with test.interactive.nodes here, since we are iterating
|
# no need to // with test.interactive.nodes here, since we are iterating
|
||||||
# over all of them, and adding back in the config via `imports`
|
# over all of them, and adding back in the config via `imports`
|
||||||
|
|
|
@ -10,6 +10,8 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
||||||
|
|
||||||
fediversity.garage.enable = true;
|
fediversity.garage.enable = true;
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# customize nixos-rebuild build-vm to be a bit more convenient
|
# customize nixos-rebuild build-vm to be a bit more convenient
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
# let us log in
|
# let us log in
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users.root.hashedPassword = "";
|
users.users.root.hashedPassword = "";
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
||||||
|
|
||||||
fediversity = {
|
fediversity = {
|
||||||
|
|
|
@ -11,6 +11,8 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
_class = "nixos";
|
||||||
|
|
||||||
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
imports = [ (modulesPath + "/virtualisation/qemu-vm.nix") ];
|
||||||
|
|
||||||
fediversity = {
|
fediversity = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue