Apply latest nixfmt
This commit is contained in:
parent
c69eb46dc8
commit
749a73d921
12
default.nix
12
default.nix
|
@ -1,8 +1,8 @@
|
||||||
{ pkgs ? null }:
|
{
|
||||||
|
pkgs ? null,
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
overlay = import ./overlay.nix;
|
overlay = import ./overlay.nix;
|
||||||
pkgs' = if pkgs == null then
|
pkgs' = if pkgs == null then import <nixpkgs> { overlays = [ overlay ]; } else pkgs.extend overlay;
|
||||||
import <nixpkgs> { overlays = [ overlay ]; }
|
in
|
||||||
else
|
builtins.intersectAttrs (overlay { } { }) pkgs'
|
||||||
pkgs.extend overlay;
|
|
||||||
in builtins.intersectAttrs (overlay { } { }) pkgs'
|
|
||||||
|
|
122
flake.nix
122
flake.nix
|
@ -1,62 +1,82 @@
|
||||||
{
|
{
|
||||||
description = "Syndicate utilities";
|
description = "Syndicate utilities";
|
||||||
|
|
||||||
outputs = { self, nixpkgs }: {
|
outputs =
|
||||||
lib = nixpkgs.lib.extend (import ./lib.nix);
|
{ self, nixpkgs }:
|
||||||
|
{
|
||||||
|
lib = nixpkgs.lib.extend (import ./lib.nix);
|
||||||
|
|
||||||
overlays.default = import ./overlay.nix;
|
overlays.default = import ./overlay.nix;
|
||||||
|
|
||||||
legacyPackages =
|
legacyPackages = self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
|
||||||
self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) {
|
|
||||||
inherit (nixpkgs.legacyPackages) x86_64-linux;
|
inherit (nixpkgs.legacyPackages) x86_64-linux;
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = self.lib.mapAttrs (system: pkgs:
|
packages = self.lib.mapAttrs (
|
||||||
with pkgs; {
|
system: pkgs: with pkgs; {
|
||||||
inherit fontconfig_actor libnotify_actor noise-c preserves-tools squeak
|
inherit
|
||||||
squeaker syndicate-server syndicated-open syndicate_utils;
|
fontconfig_actor
|
||||||
preserves-py = python3Packages.preserves;
|
libnotify_actor
|
||||||
syndicate-py = python3Packages.syndicate-py;
|
noise-c
|
||||||
}) self.legacyPackages;
|
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.default = self.nixosModules.syndicate-server;
|
||||||
nixosModules.syndicate-server =
|
nixosModules.syndicate-server =
|
||||||
# A little hack to apply our overlay to this module only.
|
# A little hack to apply our overlay to this module only.
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
(import ./nixos/syndicate-server.nix) {
|
config,
|
||||||
inherit config lib;
|
lib,
|
||||||
pkgs = pkgs.extend self.overlays.default;
|
pkgs,
|
||||||
};
|
...
|
||||||
|
}:
|
||||||
devShells = self.lib.mapAttrs (system: pkgs:
|
(import ./nixos/syndicate-server.nix) {
|
||||||
with pkgs; {
|
inherit config lib;
|
||||||
default =
|
pkgs = pkgs.extend self.overlays.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; };
|
|
||||||
};
|
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; };
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
17
lib.nix
17
lib.nix
|
@ -1,11 +1,14 @@
|
||||||
final: prev:
|
final: prev:
|
||||||
let lib = final;
|
let
|
||||||
in with lib; {
|
lib = final;
|
||||||
|
in
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
|
||||||
generators = with final.generators;
|
generators =
|
||||||
prev.generators // {
|
with final.generators;
|
||||||
toPreserves = throw
|
prev.generators
|
||||||
"moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit";
|
// {
|
||||||
|
toPreserves = throw "moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.services.syndicate = lib.mkOption {
|
options.services.syndicate = lib.mkOption {
|
||||||
|
@ -15,97 +20,110 @@
|
||||||
If the key is in the form of "tty''${N}" it will
|
If the key is in the form of "tty''${N}" it will
|
||||||
be attached to the appropriate teletypewriter.
|
be attached to the appropriate teletypewriter.
|
||||||
'';
|
'';
|
||||||
type = lib.types.attrsOf (lib.types.submodule {
|
type = lib.types.attrsOf (
|
||||||
options = {
|
lib.types.submodule {
|
||||||
enable = lib.mkEnableOption "this Syndicate dataspace server instance";
|
options = {
|
||||||
|
enable = lib.mkEnableOption "this Syndicate dataspace server instance";
|
||||||
|
|
||||||
user = lib.mkOption {
|
user = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
example = "jane";
|
example = "jane";
|
||||||
description = "User account under which the Syndicate server runs.";
|
description = "User account under which the Syndicate server runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
package = lib.mkOption {
|
||||||
|
default = pkgs.syndicate-server;
|
||||||
|
defaultText = "pkgs.syndicate-server";
|
||||||
|
type = lib.types.package;
|
||||||
|
description = "The package to use for the Syndicate dataspace server.";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkOption {
|
||||||
|
type = lib.types.listOf lib.types.path;
|
||||||
|
description = "Configurations to load.";
|
||||||
|
example = [ "/etc/syndicate" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
}
|
||||||
package = lib.mkOption {
|
);
|
||||||
default = pkgs.syndicate-server;
|
|
||||||
defaultText = "pkgs.syndicate-server";
|
|
||||||
type = lib.types.package;
|
|
||||||
description =
|
|
||||||
"The package to use for the Syndicate dataspace server.";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkOption {
|
|
||||||
type = lib.types.listOf lib.types.path;
|
|
||||||
description = "Configurations to load.";
|
|
||||||
example = [ "/etc/syndicate" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
systemd.services = let
|
systemd.services =
|
||||||
configure = name: cfg:
|
let
|
||||||
let
|
configure =
|
||||||
configFile = lib.pipe cfg.config [
|
name: cfg:
|
||||||
(lib.strings.concatMapStrings (dir: ''
|
let
|
||||||
<require-service <config-watcher "${dir}" $.>>
|
configFile = lib.pipe cfg.config [
|
||||||
''))
|
(lib.strings.concatMapStrings (dir: ''
|
||||||
(pkgs.writeText "syndicate-nixos-config.pr")
|
<require-service <config-watcher "${dir}" $.>>
|
||||||
];
|
''))
|
||||||
in [{
|
(pkgs.writeText "syndicate-nixos-config.pr")
|
||||||
name = "syndicate-${name}";
|
|
||||||
value = let
|
|
||||||
serviceConfig = {
|
|
||||||
RuntimeDirectory = name;
|
|
||||||
ExecStart = "${cfg.package}/bin/syndicate-server --no-banner --config ${configFile}";
|
|
||||||
User = cfg.user;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
description = "Syndicate dataspace server";
|
|
||||||
restartIfChanged = false;
|
|
||||||
reloadIfChanged = false;
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
} // (if builtins.match "tty[0-9]" name == null then {
|
|
||||||
inherit serviceConfig;
|
|
||||||
} else {
|
|
||||||
after = [
|
|
||||||
"systemd-user-sessions.service"
|
|
||||||
"systemd-logind.service"
|
|
||||||
"getty@${name}.service"
|
|
||||||
];
|
];
|
||||||
wants = [ "dbus.socket" "systemd-logind.service" ];
|
in
|
||||||
conflicts = [ "getty@${name}.service" ];
|
[
|
||||||
unitConfig.ConditionPathExists = "/dev/${name}";
|
{
|
||||||
serviceConfig = serviceConfig // {
|
name = "syndicate-${name}";
|
||||||
PAMName = "login";
|
value =
|
||||||
StandardError = "journal";
|
let
|
||||||
StandardInput = "tty-fail";
|
serviceConfig = {
|
||||||
StandardOutput = "journal";
|
RuntimeDirectory = name;
|
||||||
TTYPath = "/dev/${name}";
|
ExecStart = "${cfg.package}/bin/syndicate-server --no-banner --config ${configFile}";
|
||||||
TTYReset = "yes";
|
User = cfg.user;
|
||||||
TTYVHangup = "yes";
|
};
|
||||||
TTYVTDisallocate = "yes";
|
in
|
||||||
UtmpIdentifier = "%n";
|
{
|
||||||
UtmpMode = "user";
|
description = "Syndicate dataspace server";
|
||||||
WorkingDirectory = "~";
|
restartIfChanged = false;
|
||||||
};
|
reloadIfChanged = false;
|
||||||
});
|
wantedBy = [ "multi-user.target" ];
|
||||||
}];
|
}
|
||||||
serverCfgs =
|
// (
|
||||||
lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.syndicate;
|
if builtins.match "tty[0-9]" name == null then
|
||||||
in lib.pipe serverCfgs [
|
{ inherit serviceConfig; }
|
||||||
(lib.attrsets.mapAttrsToList configure)
|
else
|
||||||
lib.lists.flatten
|
{
|
||||||
builtins.listToAttrs
|
after = [
|
||||||
];
|
"systemd-user-sessions.service"
|
||||||
|
"systemd-logind.service"
|
||||||
systemd.targets.multi-user.wants = lib.lists.flatten
|
"getty@${name}.service"
|
||||||
(lib.attrsets.mapAttrsToList
|
];
|
||||||
(name: cfg: lib.optional cfg.enable "syndicate-${name}.service")
|
wants = [
|
||||||
config.services.syndicate);
|
"dbus.socket"
|
||||||
|
"systemd-logind.service"
|
||||||
|
];
|
||||||
|
conflicts = [ "getty@${name}.service" ];
|
||||||
|
unitConfig.ConditionPathExists = "/dev/${name}";
|
||||||
|
serviceConfig = serviceConfig // {
|
||||||
|
PAMName = "login";
|
||||||
|
StandardError = "journal";
|
||||||
|
StandardInput = "tty-fail";
|
||||||
|
StandardOutput = "journal";
|
||||||
|
TTYPath = "/dev/${name}";
|
||||||
|
TTYReset = "yes";
|
||||||
|
TTYVHangup = "yes";
|
||||||
|
TTYVTDisallocate = "yes";
|
||||||
|
UtmpIdentifier = "%n";
|
||||||
|
UtmpMode = "user";
|
||||||
|
WorkingDirectory = "~";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
];
|
||||||
|
serverCfgs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.syndicate;
|
||||||
|
in
|
||||||
|
lib.pipe serverCfgs [
|
||||||
|
(lib.attrsets.mapAttrsToList configure)
|
||||||
|
lib.lists.flatten
|
||||||
|
builtins.listToAttrs
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.targets.multi-user.wants = lib.lists.flatten (
|
||||||
|
lib.attrsets.mapAttrsToList (
|
||||||
|
name: cfg: lib.optional cfg.enable "syndicate-${name}.service"
|
||||||
|
) config.services.syndicate
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
53
overlay.nix
53
overlay.nix
|
@ -1,52 +1,55 @@
|
||||||
final: prev:
|
final: prev:
|
||||||
let
|
let
|
||||||
rustPkgs = let
|
rustPkgs =
|
||||||
overlay = import (prev.fetchFromGitHub {
|
let
|
||||||
owner = "oxalica";
|
overlay = import (
|
||||||
repo = "rust-overlay";
|
prev.fetchFromGitHub {
|
||||||
rev = "a2ccfb2134622b28668a274e403ba6f075ae1223";
|
owner = "oxalica";
|
||||||
hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc=";
|
repo = "rust-overlay";
|
||||||
});
|
rev = "a2ccfb2134622b28668a274e403ba6f075ae1223";
|
||||||
in final.extend overlay;
|
hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc=";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
in
|
||||||
|
final.extend overlay;
|
||||||
|
|
||||||
rust' = rustPkgs.rust-bin.nightly.latest.default;
|
rust' = rustPkgs.rust-bin.nightly.latest.default;
|
||||||
|
in
|
||||||
in {
|
{
|
||||||
lib = prev.lib.extend (import ./lib.nix);
|
lib = prev.lib.extend (import ./lib.nix);
|
||||||
|
|
||||||
acpi_actor = final.callPackage ./packages/acpi_actor { };
|
acpi_actor = final.callPackage ./packages/acpi_actor { };
|
||||||
|
|
||||||
fontconfig_actor =
|
fontconfig_actor = final.callPackage ./packages/fontconfig_actor { };
|
||||||
final.callPackage ./packages/fontconfig_actor { };
|
|
||||||
|
|
||||||
libnotify_actor =
|
libnotify_actor = final.callPackage ./packages/libnotify_actor { };
|
||||||
final.callPackage ./packages/libnotify_actor { };
|
|
||||||
|
|
||||||
nix_actor = final.callPackage ./packages/nix_actor { };
|
nix_actor = final.callPackage ./packages/nix_actor { };
|
||||||
|
|
||||||
noiseprotocol = final.callPackage ./packages/nim/noiseprotocol { };
|
noiseprotocol = final.callPackage ./packages/nim/noiseprotocol { };
|
||||||
|
|
||||||
syndicate_utils = final.callPackage ./packages/syndicate_utils-nim { };
|
syndicate_utils = final.callPackage ./packages/syndicate_utils-nim { };
|
||||||
|
|
||||||
syndicated-open = final.callPackage ./packages/syndicated-open { };
|
syndicated-open = final.callPackage ./packages/syndicated-open { };
|
||||||
|
|
||||||
noise-c = final.callPackage ./packages/noise-c { };
|
noise-c = final.callPackage ./packages/noise-c { };
|
||||||
|
|
||||||
preserves-tools = final.callPackage ./packages/preserves-tools { };
|
preserves-tools = final.callPackage ./packages/preserves-tools { };
|
||||||
|
|
||||||
python3Packages = prev.python3Packages.overrideScope (final': prev': {
|
python3Packages = prev.python3Packages.overrideScope (
|
||||||
preserves = final'.callPackage ./packages/preserves-py { };
|
final': prev': {
|
||||||
syndicate-py = final'.callPackage ./packages/syndicate-py { };
|
preserves = final'.callPackage ./packages/preserves-py { };
|
||||||
synit-daemons = final'.callPackage ./packages/synit-daemons-py { };
|
syndicate-py = final'.callPackage ./packages/syndicate-py { };
|
||||||
});
|
synit-daemons = final'.callPackage ./packages/synit-daemons-py { };
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
sqlite_actor = final.callPackage ./packages/sqlite_actor { };
|
sqlite_actor = final.callPackage ./packages/sqlite_actor { };
|
||||||
|
|
||||||
squeak = final.callPackage ./packages/squeak { };
|
squeak = final.callPackage ./packages/squeak { };
|
||||||
squeaker = final.python3Packages.callPackage ./packages/squeaker { };
|
squeaker = final.python3Packages.callPackage ./packages/squeaker { };
|
||||||
|
|
||||||
syndicate-server =
|
syndicate-server = final.callPackage ./packages/syndicate-server { rust = rust'; };
|
||||||
final.callPackage ./packages/syndicate-server { rust = rust'; };
|
|
||||||
|
|
||||||
synit-pid1 = final.callPackage ./packages/synit-pid1 { };
|
synit-pid1 = final.callPackage ./packages/synit-pid1 { };
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage (finalAttrs: {
|
||||||
pname = "acpi_actor";
|
pname = "acpi_actor";
|
||||||
version = "20231010";
|
version = "20231010";
|
||||||
|
|
||||||
|
@ -8,7 +12,7 @@ buildNimPackage rec {
|
||||||
domain = "git.syndicate-lang.org";
|
domain = "git.syndicate-lang.org";
|
||||||
owner = "ehmry";
|
owner = "ehmry";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-eN3VC2yL6UvjeIGvzx0PAujR/Xd6Rc1e9Ftf6fKKk2E=";
|
hash = "sha256-eN3VC2yL6UvjeIGvzx0PAujR/Xd6Rc1e9Ftf6fKKk2E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, fontconfig, pkg-config }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
fontconfig,
|
||||||
|
pkg-config,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "fontconfig_actor";
|
pname = "fontconfig_actor";
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, libnotify, pkg-config }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
libnotify,
|
||||||
|
pkg-config,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "libnotify_actor";
|
pname = "libnotify_actor";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, buildNimPackage, noise-c }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
noise-c,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "noise";
|
pname = "noise";
|
||||||
|
|
|
@ -1,16 +1,26 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub, boost, nix, pkg-config
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
fetchFromGitHub,
|
||||||
|
boost,
|
||||||
|
nix,
|
||||||
|
pkg-config,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
nix' = nix.overrideAttrs (final: prev: {
|
nix' = nix.overrideAttrs (
|
||||||
src = fetchFromGitHub {
|
final: prev: {
|
||||||
owner = "NixOS";
|
src = fetchFromGitHub {
|
||||||
repo = "nix";
|
owner = "NixOS";
|
||||||
rev = "2.13.3";
|
repo = "nix";
|
||||||
hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc=";
|
rev = "2.13.3";
|
||||||
};
|
hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc=";
|
||||||
});
|
};
|
||||||
in buildNimPackage rec {
|
}
|
||||||
|
);
|
||||||
|
in
|
||||||
|
buildNimPackage rec {
|
||||||
pname = "nix_actor";
|
pname = "nix_actor";
|
||||||
version = "20231009";
|
version = "20231009";
|
||||||
|
|
||||||
|
@ -25,7 +35,10 @@ in buildNimPackage rec {
|
||||||
lockFile = "${src}/lock.json";
|
lockFile = "${src}/lock.json";
|
||||||
|
|
||||||
propagatedNativeBuildInputs = [ pkg-config ];
|
propagatedNativeBuildInputs = [ pkg-config ];
|
||||||
propagatedBuildInputs = [ boost nix' ];
|
propagatedBuildInputs = [
|
||||||
|
boost
|
||||||
|
nix'
|
||||||
|
];
|
||||||
|
|
||||||
meta = src.meta // {
|
meta = src.meta // {
|
||||||
maintainers = [ lib.maintainers.ehmry ];
|
maintainers = [ lib.maintainers.ehmry ];
|
||||||
|
|
|
@ -1,9 +1,17 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
autoreconfHook,
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "noise-c";
|
pname = "noise-c";
|
||||||
version = "20230309";
|
version = "20230309";
|
||||||
outputs = [ "bin" "out" ];
|
outputs = [
|
||||||
|
"bin"
|
||||||
|
"out"
|
||||||
|
];
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rweather";
|
owner = "rweather";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, python, setuptools-scm }:
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
python,
|
||||||
|
setuptools-scm,
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "preserves";
|
pname = "preserves";
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, rustPlatform, rustc, fetchCrate }:
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
rustc,
|
||||||
|
fetchCrate,
|
||||||
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "preserves-tool";
|
pname = "preserves-tool";
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, pkg-config, sqlcipher }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
pkg-config,
|
||||||
|
sqlcipher,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "sqlite_actor";
|
pname = "sqlite_actor";
|
||||||
|
|
|
@ -1,11 +1,27 @@
|
||||||
{ lib, stdenv, fetchurl, autoPatchelfHook, makeWrapper, unzip, alsa-lib, libGL
|
{
|
||||||
, libpulseaudio, libuuid, nas, openssl, pango, sndio, xorg }:
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
autoPatchelfHook,
|
||||||
|
makeWrapper,
|
||||||
|
unzip,
|
||||||
|
alsa-lib,
|
||||||
|
libGL,
|
||||||
|
libpulseaudio,
|
||||||
|
libuuid,
|
||||||
|
nas,
|
||||||
|
openssl,
|
||||||
|
pango,
|
||||||
|
sndio,
|
||||||
|
xorg,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
versionA = "6.0";
|
versionA = "6.0";
|
||||||
versionB = "22104";
|
versionB = "22104";
|
||||||
versionC = "202206021410";
|
versionC = "202206021410";
|
||||||
bits = with stdenv.hostPlatform;
|
bits =
|
||||||
|
with stdenv.hostPlatform;
|
||||||
if is32bit then
|
if is32bit then
|
||||||
"32"
|
"32"
|
||||||
else if is64bit then
|
else if is64bit then
|
||||||
|
@ -14,23 +30,26 @@ let
|
||||||
throw "too many addressing bits";
|
throw "too many addressing bits";
|
||||||
sources = {
|
sources = {
|
||||||
i686-linux = fetchurl {
|
i686-linux = fetchurl {
|
||||||
url =
|
url = "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz";
|
||||||
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz";
|
|
||||||
sha256 = "sha256-6o9GCeNsHV+OhHBUCqBmslgUEBrS3XPwsl/p8zgfJQs=";
|
sha256 = "sha256-6o9GCeNsHV+OhHBUCqBmslgUEBrS3XPwsl/p8zgfJQs=";
|
||||||
};
|
};
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url =
|
url = "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz";
|
||||||
"http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz";
|
|
||||||
sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g=";
|
sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
pname = "squeak";
|
pname = "squeak";
|
||||||
version = "${versionA}-${versionB}-${versionC}";
|
version = "${versionA}-${versionB}-${versionC}";
|
||||||
|
|
||||||
src = sources.${stdenv.system};
|
src = sources.${stdenv.system};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
|
nativeBuildInputs = [
|
||||||
|
autoPatchelfHook
|
||||||
|
makeWrapper
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = with xorg; [
|
buildInputs = with xorg; [
|
||||||
alsa-lib
|
alsa-lib
|
||||||
|
@ -54,9 +73,7 @@ in stdenv.mkDerivation rec {
|
||||||
cp -a bin $out/lib
|
cp -a bin $out/lib
|
||||||
cp -a shared/* $out/lib
|
cp -a shared/* $out/lib
|
||||||
makeWrapper $out/lib/squeak $out/bin/squeak \
|
makeWrapper $out/lib/squeak $out/bin/squeak \
|
||||||
--prefix LD_LIBRARY_PATH ":" "$out/lib:${
|
--prefix LD_LIBRARY_PATH ":" "$out/lib:${lib.makeLibraryPath [ openssl ]}" \
|
||||||
lib.makeLibraryPath [ openssl ]
|
|
||||||
}" \
|
|
||||||
--set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image
|
--set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -67,7 +84,10 @@ in stdenv.mkDerivation rec {
|
||||||
meta = {
|
meta = {
|
||||||
description = "Squeak virtual machine and image";
|
description = "Squeak virtual machine and image";
|
||||||
homepage = "https://squeak.org/";
|
homepage = "https://squeak.org/";
|
||||||
license = with lib.licenses; [ asl20 mit ];
|
license = with lib.licenses; [
|
||||||
|
asl20
|
||||||
|
mit
|
||||||
|
];
|
||||||
maintainers = with lib.maintainers; [ ehmry ];
|
maintainers = with lib.maintainers; [ ehmry ];
|
||||||
platforms = builtins.attrNames sources;
|
platforms = builtins.attrNames sources;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, buildPythonApplication, fetchFromGitHub }:
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonApplication,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "squeaker";
|
pname = "squeaker";
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, setuptools-scm, preserves, websockets
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchPypi,
|
||||||
|
setuptools-scm,
|
||||||
|
preserves,
|
||||||
|
websockets,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
@ -11,7 +17,10 @@ buildPythonPackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ setuptools-scm ];
|
buildInputs = [ setuptools-scm ];
|
||||||
propagatedBuildInputs = [ preserves websockets ];
|
propagatedBuildInputs = [
|
||||||
|
preserves
|
||||||
|
websockets
|
||||||
|
];
|
||||||
|
|
||||||
meta = src.meta // {
|
meta = src.meta // {
|
||||||
description = "Syndicated Actor model for Python";
|
description = "Syndicated Actor model for Python";
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/syndicate-server/APKBUILD
|
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/syndicate-server/APKBUILD
|
||||||
|
|
||||||
{ lib, rustPlatform, rust, fetchFromGitea, pkg-config, openssl }:
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
rust,
|
||||||
|
fetchFromGitea,
|
||||||
|
pkg-config,
|
||||||
|
openssl,
|
||||||
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "syndicate-server";
|
pname = "syndicate-server";
|
||||||
|
@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec {
|
||||||
sha256 = "sha256-jyZlio+wo9YiaiIKCl6YC9Bym89fqUkJOqhBb0Nu/zQ=";
|
sha256 = "sha256-jyZlio+wo9YiaiIKCl6YC9Bym89fqUkJOqhBb0Nu/zQ=";
|
||||||
};
|
};
|
||||||
cargoHash = "sha256-WMX1GPU9GyXNP5qng6PGX++5PLvdViECTr8KPNkF4ps=";
|
cargoHash = "sha256-WMX1GPU9GyXNP5qng6PGX++5PLvdViECTr8KPNkF4ps=";
|
||||||
nativeBuildInputs = [ rust pkg-config ];
|
nativeBuildInputs = [
|
||||||
|
rust
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
buildInputs = [ openssl ];
|
buildInputs = [ openssl ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, pkg-config
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
pkg-config,
|
||||||
|
|
||||||
, postgresql, sqlite, libxml2, libxslt }:
|
postgresql,
|
||||||
|
sqlite,
|
||||||
|
libxml2,
|
||||||
|
libxslt,
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "20240407";
|
version = "20240407";
|
||||||
|
@ -11,13 +19,24 @@ let
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-MFoN/2+fOsnJ9fX+5Adj7BDhBcbvh/bIOMnj9vIoq9A=";
|
hash = "sha256-MFoN/2+fOsnJ9fX+5Adj7BDhBcbvh/bIOMnj9vIoq9A=";
|
||||||
};
|
};
|
||||||
in buildNimPackage (finalAttrs:
|
in
|
||||||
{ buildInputs ? [ ], ... }: {
|
buildNimPackage (
|
||||||
|
finalAttrs:
|
||||||
|
{
|
||||||
|
buildInputs ? [ ],
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
pname = "syndicate_utils";
|
pname = "syndicate_utils";
|
||||||
inherit version src;
|
inherit version src;
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = buildInputs ++ [ postgresql sqlite libxml2 libxslt ];
|
buildInputs = buildInputs ++ [
|
||||||
|
postgresql
|
||||||
|
sqlite
|
||||||
|
libxml2
|
||||||
|
libxslt
|
||||||
|
];
|
||||||
|
|
||||||
lockFile = "${src}/lock.json";
|
lockFile = "${src}/lock.json";
|
||||||
|
|
||||||
|
@ -27,4 +46,5 @@ in buildNimPackage (finalAttrs:
|
||||||
maintainers = [ lib.maintainers.ehmry ];
|
maintainers = [ lib.maintainers.ehmry ];
|
||||||
license = lib.licenses.unlicense;
|
license = lib.licenses.unlicense;
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, makeDesktopItem, pkg-config, pcre }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
makeDesktopItem,
|
||||||
|
pkg-config,
|
||||||
|
pcre,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "syndicated-open";
|
pname = "syndicated-open";
|
||||||
|
|
|
@ -1,51 +1,54 @@
|
||||||
{ lib, python3Packages, fetchFromGitea }:
|
{
|
||||||
|
lib,
|
||||||
|
python3Packages,
|
||||||
|
fetchFromGitea,
|
||||||
|
}:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "synit-python-daemons";
|
pname = "synit-python-daemons";
|
||||||
version = "2023-11-01";
|
version = "2023-11-01";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitea {
|
src = fetchFromGitea {
|
||||||
domain = "git.syndicate-lang.org";
|
domain = "git.syndicate-lang.org";
|
||||||
owner = "synit";
|
owner = "synit";
|
||||||
repo = "synit";
|
repo = "synit";
|
||||||
rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd";
|
rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd";
|
||||||
hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM=";
|
hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot =
|
sourceRoot = "${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon";
|
||||||
"${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon";
|
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
pyroute2
|
pyroute2
|
||||||
syndicate-py
|
syndicate-py
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
for f in *.py; do
|
for f in *.py; do
|
||||||
substituteInPlace $f --replace \
|
substituteInPlace $f --replace \
|
||||||
"/home/tonyg/src/synit/protocols" \
|
"/home/tonyg/src/synit/protocols" \
|
||||||
"$out/share/syndicate-protocols"
|
"$out/share/syndicate-protocols"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
for f in *.py; do
|
for f in *.py; do
|
||||||
sed -i '1i #!/bin/python' $f
|
sed -i '1i #!/bin/python' $f
|
||||||
done
|
done
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
for f in *.py; do
|
for f in *.py; do
|
||||||
bin_name=$f
|
bin_name=$f
|
||||||
bin_name=''${bin_name/.py}
|
bin_name=''${bin_name/.py}
|
||||||
bin_name=''${bin_name//_/-}
|
bin_name=''${bin_name//_/-}
|
||||||
install --mode 0555 -D $f $out/bin/$bin_name
|
install --mode 0555 -D $f $out/bin/$bin_name
|
||||||
done
|
done
|
||||||
install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin
|
install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/synit-pid1/APKBUILD
|
# https://git.syndicate-lang.org/synit/synit/src/branch/main/packaging/packages/synit-pid1/APKBUILD
|
||||||
|
|
||||||
{ lib, rustPlatform, rustc, fetchFromGitea }:
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
rustc,
|
||||||
|
fetchFromGitea,
|
||||||
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "synit-pid1";
|
pname = "synit-pid1";
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{ lib, buildNimPackage, fetchFromGitea, pkg-config, syndicate, xapian }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNimPackage,
|
||||||
|
fetchFromGitea,
|
||||||
|
pkg-config,
|
||||||
|
syndicate,
|
||||||
|
xapian,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNimPackage rec {
|
buildNimPackage rec {
|
||||||
pname = "xapian_actor";
|
pname = "xapian_actor";
|
||||||
|
@ -13,7 +20,10 @@ buildNimPackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedNativeBuildInputs = [ pkg-config ];
|
propagatedNativeBuildInputs = [ pkg-config ];
|
||||||
propagatedBuildInputs = [ syndicate xapian ];
|
propagatedBuildInputs = [
|
||||||
|
syndicate
|
||||||
|
xapian
|
||||||
|
];
|
||||||
|
|
||||||
meta = src.meta // {
|
meta = src.meta // {
|
||||||
maintainers = [ lib.maintainers.ehmry ];
|
maintainers = [ lib.maintainers.ehmry ];
|
||||||
|
|
Loading…
Reference in New Issue