85 lines
2.3 KiB
Nix
85 lines
2.3 KiB
Nix
{
|
|
description = "Syndicate utilities";
|
|
|
|
inputs.nixpkgs.url = "nixpkgs/57610d2f8f09";
|
|
|
|
outputs =
|
|
{ self, nixpkgs }:
|
|
{
|
|
lib = nixpkgs.lib.extend (import ./lib.nix);
|
|
|
|
overlays.default = import ./overlay.nix;
|
|
|
|
legacyPackages = self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
|
|
inherit (nixpkgs.legacyPackages) x86_64-linux;
|
|
};
|
|
|
|
packages = self.lib.mapAttrs (
|
|
system: pkgs: with pkgs; {
|
|
inherit
|
|
fontconfig_actor
|
|
libnotify_actor
|
|
noise-c
|
|
preserves-tools
|
|
squeak
|
|
squeaker
|
|
syndicate-server
|
|
syndicated-open
|
|
syndicate_utils
|
|
;
|
|
preserves-py = python3Packages.preserves;
|
|
syndicate-py = python3Packages.syndicate-py;
|
|
}
|
|
) self.legacyPackages;
|
|
|
|
nixosModules.default = self.nixosModules.syndicate-server;
|
|
nixosModules.syndicate-server =
|
|
# A little hack to apply our overlay to this module only.
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
(import ./nixos/syndicate-server.nix) {
|
|
inherit config lib;
|
|
pkgs = pkgs.extend self.overlays.default;
|
|
};
|
|
|
|
devShells = self.lib.mapAttrs (
|
|
system: pkgs: with pkgs; {
|
|
default = mkShell { packages = builtins.attrValues self.packages.${system}; };
|
|
}
|
|
) self.legacyPackages;
|
|
|
|
checks = self.lib.mapAttrs (
|
|
system: pkgs':
|
|
with import (nixpkgs + "/nixos/lib/testing-python.nix") {
|
|
inherit system;
|
|
pkgs = pkgs';
|
|
}; {
|
|
simple = simpleTest {
|
|
name = "http";
|
|
nodes.machine =
|
|
{ config, pkgs, ... }:
|
|
{
|
|
imports = [ self.nixosModules.syndicate-server ];
|
|
|
|
nixpkgs.pkgs = pkgs';
|
|
|
|
services.syndicate.tty1 = {
|
|
enable = true;
|
|
user = "loser";
|
|
config = [ ];
|
|
};
|
|
users.users.loser.isNormalUser = true;
|
|
};
|
|
testScript = ''
|
|
machine.wait_for_job("syndicate-tty1")
|
|
'';
|
|
};
|
|
}
|
|
) { inherit (self.legacyPackages) x86_64-linux; };
|
|
};
|
|
}
|