diff --git a/default.nix b/default.nix index be348b6..fd7c8c3 100644 --- a/default.nix +++ b/default.nix @@ -1,8 +1,8 @@ -{ pkgs ? null }: +{ + pkgs ? null, +}: let overlay = import ./overlay.nix; - pkgs' = if pkgs == null then - import { overlays = [ overlay ]; } - else - pkgs.extend overlay; -in builtins.intersectAttrs (overlay { } { }) pkgs' + pkgs' = if pkgs == null then import { overlays = [ overlay ]; } else pkgs.extend overlay; +in +builtins.intersectAttrs (overlay { } { }) pkgs' diff --git a/flake.nix b/flake.nix index 248949c..338942a 100644 --- a/flake.nix +++ b/flake.nix @@ -1,62 +1,82 @@ { description = "Syndicate utilities"; - outputs = { self, nixpkgs }: { - lib = nixpkgs.lib.extend (import ./lib.nix); + outputs = + { self, nixpkgs }: + { + lib = nixpkgs.lib.extend (import ./lib.nix); - overlays.default = import ./overlay.nix; + overlays.default = import ./overlay.nix; - legacyPackages = - self.lib.mapAttrs (system: pkgs: pkgs.extend self.overlays.default) { + 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; + 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") - ''; + 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; }; - }) { 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; }; + }; } diff --git a/lib.nix b/lib.nix index 6bcda94..ce08e6e 100644 --- a/lib.nix +++ b/lib.nix @@ -1,11 +1,14 @@ final: prev: -let lib = final; -in with lib; { +let + lib = final; +in +with lib; +{ - generators = with final.generators; - prev.generators // { - toPreserves = throw - "moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit"; + generators = + with final.generators; + prev.generators + // { + toPreserves = throw "moved to https://git.syndicate-lang.org/ehmry/nix-processmgmt/src/branch/synit/nixproc/backends/synit"; }; - } diff --git a/nixos/syndicate-server.nix b/nixos/syndicate-server.nix index 756f150..4ac5587 100644 --- a/nixos/syndicate-server.nix +++ b/nixos/syndicate-server.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { options.services.syndicate = lib.mkOption { @@ -15,97 +20,110 @@ If the key is in the form of "tty''${N}" it will be attached to the appropriate teletypewriter. ''; - type = lib.types.attrsOf (lib.types.submodule { - options = { - enable = lib.mkEnableOption "this Syndicate dataspace server instance"; + type = lib.types.attrsOf ( + lib.types.submodule { + options = { + enable = lib.mkEnableOption "this Syndicate dataspace server instance"; - user = lib.mkOption { - type = lib.types.str; - example = "jane"; - description = "User account under which the Syndicate server runs."; + user = lib.mkOption { + type = lib.types.str; + example = "jane"; + 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 = { - systemd.services = let - configure = name: cfg: - let - configFile = lib.pipe cfg.config [ - (lib.strings.concatMapStrings (dir: '' - > - '')) - (pkgs.writeText "syndicate-nixos-config.pr") - ]; - in [{ - 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" + systemd.services = + let + configure = + name: cfg: + let + configFile = lib.pipe cfg.config [ + (lib.strings.concatMapStrings (dir: '' + > + '')) + (pkgs.writeText "syndicate-nixos-config.pr") ]; - wants = [ "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); + in + [ + { + 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" + ]; + 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 + ); }; - } diff --git a/overlay.nix b/overlay.nix index 6f1d18b..203cce2 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,52 +1,55 @@ final: prev: let - rustPkgs = let - overlay = import (prev.fetchFromGitHub { - owner = "oxalica"; - repo = "rust-overlay"; - rev = "a2ccfb2134622b28668a274e403ba6f075ae1223"; - hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc="; - }); - in final.extend overlay; + rustPkgs = + let + overlay = import ( + prev.fetchFromGitHub { + owner = "oxalica"; + repo = "rust-overlay"; + rev = "a2ccfb2134622b28668a274e403ba6f075ae1223"; + hash = "sha256-9honwiIeMbBKi7FzfEy89f1ShUiXz/gVxZSS048pKyc="; + } + ); + in + final.extend overlay; rust' = rustPkgs.rust-bin.nightly.latest.default; - -in { +in +{ lib = prev.lib.extend (import ./lib.nix); acpi_actor = final.callPackage ./packages/acpi_actor { }; - fontconfig_actor = - final.callPackage ./packages/fontconfig_actor { }; + fontconfig_actor = final.callPackage ./packages/fontconfig_actor { }; - libnotify_actor = - final.callPackage ./packages/libnotify_actor { }; + 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 { }; preserves-tools = final.callPackage ./packages/preserves-tools { }; - python3Packages = prev.python3Packages.overrideScope (final': prev': { - preserves = final'.callPackage ./packages/preserves-py { }; - syndicate-py = final'.callPackage ./packages/syndicate-py { }; - synit-daemons = final'.callPackage ./packages/synit-daemons-py { }; - }); + python3Packages = prev.python3Packages.overrideScope ( + final': prev': { + preserves = final'.callPackage ./packages/preserves-py { }; + syndicate-py = final'.callPackage ./packages/syndicate-py { }; + synit-daemons = final'.callPackage ./packages/synit-daemons-py { }; + } + ); sqlite_actor = final.callPackage ./packages/sqlite_actor { }; squeak = final.callPackage ./packages/squeak { }; squeaker = final.python3Packages.callPackage ./packages/squeaker { }; - syndicate-server = - final.callPackage ./packages/syndicate-server { rust = rust'; }; + syndicate-server = final.callPackage ./packages/syndicate-server { rust = rust'; }; synit-pid1 = final.callPackage ./packages/synit-pid1 { }; diff --git a/packages/acpi_actor/default.nix b/packages/acpi_actor/default.nix index ae90100..9d591b2 100644 --- a/packages/acpi_actor/default.nix +++ b/packages/acpi_actor/default.nix @@ -1,6 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitea }: +{ + lib, + buildNimPackage, + fetchFromGitea, +}: -buildNimPackage rec { +buildNimPackage (finalAttrs: { pname = "acpi_actor"; version = "20231010"; @@ -8,7 +12,7 @@ buildNimPackage rec { domain = "git.syndicate-lang.org"; owner = "ehmry"; repo = pname; - rev = version; + rev = finalAttrs.version; hash = "sha256-eN3VC2yL6UvjeIGvzx0PAujR/Xd6Rc1e9Ftf6fKKk2E="; }; diff --git a/packages/fontconfig_actor/default.nix b/packages/fontconfig_actor/default.nix index a002fc3..78609fa 100644 --- a/packages/fontconfig_actor/default.nix +++ b/packages/fontconfig_actor/default.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitea, fontconfig, pkg-config }: +{ + lib, + buildNimPackage, + fetchFromGitea, + fontconfig, + pkg-config, +}: buildNimPackage rec { pname = "fontconfig_actor"; diff --git a/packages/libnotify_actor/default.nix b/packages/libnotify_actor/default.nix index e57e6aa..a1dafc5 100644 --- a/packages/libnotify_actor/default.nix +++ b/packages/libnotify_actor/default.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitea, libnotify, pkg-config }: +{ + lib, + buildNimPackage, + fetchFromGitea, + libnotify, + pkg-config, +}: buildNimPackage rec { pname = "libnotify_actor"; diff --git a/packages/nim/noiseprotocol/default.nix b/packages/nim/noiseprotocol/default.nix index a92498f..e70604b 100644 --- a/packages/nim/noiseprotocol/default.nix +++ b/packages/nim/noiseprotocol/default.nix @@ -1,4 +1,8 @@ -{ lib, buildNimPackage, noise-c }: +{ + lib, + buildNimPackage, + noise-c, +}: buildNimPackage rec { pname = "noise"; diff --git a/packages/nix_actor/default.nix b/packages/nix_actor/default.nix index 4af0bf7..8db3814 100644 --- a/packages/nix_actor/default.nix +++ b/packages/nix_actor/default.nix @@ -1,16 +1,26 @@ -{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub, boost, nix, pkg-config +{ + lib, + buildNimPackage, + fetchFromGitea, + fetchFromGitHub, + boost, + nix, + pkg-config, }: let - nix' = nix.overrideAttrs (final: prev: { - src = fetchFromGitHub { - owner = "NixOS"; - repo = "nix"; - rev = "2.13.3"; - hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc="; - }; - }); -in buildNimPackage rec { + nix' = nix.overrideAttrs ( + final: prev: { + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "2.13.3"; + hash = "sha256-jUc2ccTR8f6MGY2pUKgujm+lxSPNGm/ZAP+toX+nMNc="; + }; + } + ); +in +buildNimPackage rec { pname = "nix_actor"; version = "20231009"; @@ -25,7 +35,10 @@ in buildNimPackage rec { lockFile = "${src}/lock.json"; propagatedNativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ boost nix' ]; + propagatedBuildInputs = [ + boost + nix' + ]; meta = src.meta // { maintainers = [ lib.maintainers.ehmry ]; diff --git a/packages/noise-c/default.nix b/packages/noise-c/default.nix index 00bc396..f16172d 100644 --- a/packages/noise-c/default.nix +++ b/packages/noise-c/default.nix @@ -1,9 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook }: +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: stdenv.mkDerivation rec { pname = "noise-c"; version = "20230309"; - outputs = [ "bin" "out" ]; + outputs = [ + "bin" + "out" + ]; src = fetchFromGitHub { owner = "rweather"; repo = pname; diff --git a/packages/preserves-py/default.nix b/packages/preserves-py/default.nix index 20b1237..b4053d5 100644 --- a/packages/preserves-py/default.nix +++ b/packages/preserves-py/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchPypi, python, setuptools-scm }: +{ + lib, + buildPythonPackage, + fetchPypi, + python, + setuptools-scm, +}: buildPythonPackage rec { pname = "preserves"; diff --git a/packages/preserves-tools/default.nix b/packages/preserves-tools/default.nix index fc11725..9910d0d 100644 --- a/packages/preserves-tools/default.nix +++ b/packages/preserves-tools/default.nix @@ -1,4 +1,9 @@ -{ lib, rustPlatform, rustc, fetchCrate }: +{ + lib, + rustPlatform, + rustc, + fetchCrate, +}: rustPlatform.buildRustPackage rec { pname = "preserves-tool"; diff --git a/packages/sqlite_actor/default.nix b/packages/sqlite_actor/default.nix index d7f6f1e..812bcf5 100644 --- a/packages/sqlite_actor/default.nix +++ b/packages/sqlite_actor/default.nix @@ -1,4 +1,10 @@ -{ lib, buildNimPackage, fetchFromGitea, pkg-config, sqlcipher }: +{ + lib, + buildNimPackage, + fetchFromGitea, + pkg-config, + sqlcipher, +}: buildNimPackage rec { pname = "sqlite_actor"; diff --git a/packages/squeak/default.nix b/packages/squeak/default.nix index 7b6b5f3..7b8b48b 100644 --- a/packages/squeak/default.nix +++ b/packages/squeak/default.nix @@ -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 versionA = "6.0"; versionB = "22104"; versionC = "202206021410"; - bits = with stdenv.hostPlatform; + bits = + with stdenv.hostPlatform; if is32bit then "32" else if is64bit then @@ -14,23 +30,26 @@ let throw "too many addressing bits"; sources = { i686-linux = fetchurl { - url = - "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x86.tar.gz"; + url = "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="; }; x86_64-linux = fetchurl { - url = - "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz"; + url = "http://files.squeak.org/${versionA}/Squeak${versionA}-${versionB}-${bits}bit/Squeak${versionA}-${versionB}-${bits}bit-${versionC}-Linux-x64.tar.gz"; sha256 = "sha256-pgTdFyqAQo3K6Th2FXL8Op1hakjcL4rJ6wnKuIlFZ9g="; }; }; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "squeak"; version = "${versionA}-${versionB}-${versionC}"; src = sources.${stdenv.system}; - nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ]; + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + unzip + ]; buildInputs = with xorg; [ alsa-lib @@ -54,9 +73,7 @@ in stdenv.mkDerivation rec { cp -a bin $out/lib cp -a shared/* $out/lib makeWrapper $out/lib/squeak $out/bin/squeak \ - --prefix LD_LIBRARY_PATH ":" "$out/lib:${ - lib.makeLibraryPath [ openssl ] - }" \ + --prefix LD_LIBRARY_PATH ":" "$out/lib:${lib.makeLibraryPath [ openssl ]}" \ --set SQUEAK_IMAGE $out/lib/Squeak${versionA}-${versionB}-${bits}bit.image ''; @@ -67,7 +84,10 @@ in stdenv.mkDerivation rec { meta = { description = "Squeak virtual machine and image"; homepage = "https://squeak.org/"; - license = with lib.licenses; [ asl20 mit ]; + license = with lib.licenses; [ + asl20 + mit + ]; maintainers = with lib.maintainers; [ ehmry ]; platforms = builtins.attrNames sources; }; diff --git a/packages/squeaker/default.nix b/packages/squeaker/default.nix index 74c7489..32961b5 100644 --- a/packages/squeaker/default.nix +++ b/packages/squeaker/default.nix @@ -1,4 +1,8 @@ -{ lib, buildPythonApplication, fetchFromGitHub }: +{ + lib, + buildPythonApplication, + fetchFromGitHub, +}: buildPythonApplication rec { pname = "squeaker"; diff --git a/packages/syndicate-py/default.nix b/packages/syndicate-py/default.nix index 7124348..f0c8fa7 100644 --- a/packages/syndicate-py/default.nix +++ b/packages/syndicate-py/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchPypi, setuptools-scm, preserves, websockets +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools-scm, + preserves, + websockets, }: buildPythonPackage rec { @@ -11,7 +17,10 @@ buildPythonPackage rec { }; buildInputs = [ setuptools-scm ]; - propagatedBuildInputs = [ preserves websockets ]; + propagatedBuildInputs = [ + preserves + websockets + ]; meta = src.meta // { description = "Syndicated Actor model for Python"; diff --git a/packages/syndicate-server/default.nix b/packages/syndicate-server/default.nix index e88cade..a5a1a41 100644 --- a/packages/syndicate-server/default.nix +++ b/packages/syndicate-server/default.nix @@ -1,6 +1,13 @@ # 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 { pname = "syndicate-server"; @@ -13,7 +20,10 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-jyZlio+wo9YiaiIKCl6YC9Bym89fqUkJOqhBb0Nu/zQ="; }; cargoHash = "sha256-WMX1GPU9GyXNP5qng6PGX++5PLvdViECTr8KPNkF4ps="; - nativeBuildInputs = [ rust pkg-config ]; + nativeBuildInputs = [ + rust + pkg-config + ]; buildInputs = [ openssl ]; meta = { diff --git a/packages/syndicate_utils-nim/default.nix b/packages/syndicate_utils-nim/default.nix index 92e1f88..4ecf254 100644 --- a/packages/syndicate_utils-nim/default.nix +++ b/packages/syndicate_utils-nim/default.nix @@ -1,6 +1,14 @@ -{ lib, buildNimPackage, fetchFromGitea, pkg-config +{ + lib, + buildNimPackage, + fetchFromGitea, + pkg-config, -, postgresql, sqlite, libxml2, libxslt }: + postgresql, + sqlite, + libxml2, + libxslt, +}: let version = "20240407"; @@ -11,13 +19,24 @@ let rev = version; hash = "sha256-MFoN/2+fOsnJ9fX+5Adj7BDhBcbvh/bIOMnj9vIoq9A="; }; -in buildNimPackage (finalAttrs: - { buildInputs ? [ ], ... }: { +in +buildNimPackage ( + finalAttrs: + { + buildInputs ? [ ], + ... + }: + { pname = "syndicate_utils"; inherit version src; nativeBuildInputs = [ pkg-config ]; - buildInputs = buildInputs ++ [ postgresql sqlite libxml2 libxslt ]; + buildInputs = buildInputs ++ [ + postgresql + sqlite + libxml2 + libxslt + ]; lockFile = "${src}/lock.json"; @@ -27,4 +46,5 @@ in buildNimPackage (finalAttrs: maintainers = [ lib.maintainers.ehmry ]; license = lib.licenses.unlicense; }; - }) + } +) diff --git a/packages/syndicated-open/default.nix b/packages/syndicated-open/default.nix index 502a769..6302261 100644 --- a/packages/syndicated-open/default.nix +++ b/packages/syndicated-open/default.nix @@ -1,4 +1,11 @@ -{ lib, buildNimPackage, fetchFromGitea, makeDesktopItem, pkg-config, pcre }: +{ + lib, + buildNimPackage, + fetchFromGitea, + makeDesktopItem, + pkg-config, + pcre, +}: buildNimPackage rec { pname = "syndicated-open"; diff --git a/packages/synit-daemons-py/default.nix b/packages/synit-daemons-py/default.nix index ae1e8e6..cad466f 100644 --- a/packages/synit-daemons-py/default.nix +++ b/packages/synit-daemons-py/default.nix @@ -1,51 +1,54 @@ -{ lib, python3Packages, fetchFromGitea }: +{ + lib, + python3Packages, + fetchFromGitea, +}: python3Packages.buildPythonApplication rec { - pname = "synit-python-daemons"; - version = "2023-11-01"; - format = "other"; + pname = "synit-python-daemons"; + version = "2023-11-01"; + format = "other"; - src = fetchFromGitea { - domain = "git.syndicate-lang.org"; - owner = "synit"; - repo = "synit"; - rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd"; - hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM="; - }; + src = fetchFromGitea { + domain = "git.syndicate-lang.org"; + owner = "synit"; + repo = "synit"; + rev = "a2ecd8a4e441f8622a57a99987cb0aa5be9e1dcd"; + hash = "sha256-M79AJ8/Synzm4CYkt3+GYViJLJcuYBW+x32Vfy+oFUM="; + }; - sourceRoot = - "${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon"; + sourceRoot = "${src.name}/packaging/packages/synit-config/files/usr/lib/synit/python/synit/daemon"; - propagatedBuildInputs = with python3Packages; [ - pyroute2 - syndicate-py - ]; + propagatedBuildInputs = with python3Packages; [ + pyroute2 + syndicate-py + ]; - postPatch = '' - for f in *.py; do - substituteInPlace $f --replace \ - "/home/tonyg/src/synit/protocols" \ - "$out/share/syndicate-protocols" - done - ''; + postPatch = '' + for f in *.py; do + substituteInPlace $f --replace \ + "/home/tonyg/src/synit/protocols" \ + "$out/share/syndicate-protocols" + done + ''; - buildPhase = '' - runHook preBuild - for f in *.py; do - sed -i '1i #!/bin/python' $f - done - runHook postBuild - ''; + buildPhase = '' + runHook preBuild + for f in *.py; do + sed -i '1i #!/bin/python' $f + done + runHook postBuild + ''; - installPhase = '' - runHook preInstall - for f in *.py; do - bin_name=$f - bin_name=''${bin_name/.py} - bin_name=''${bin_name//_/-} - install --mode 0555 -D $f $out/bin/$bin_name - done - install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin - runHook postInstall - ''; + installPhase = '' + runHook preInstall + for f in *.py; do + bin_name=$f + bin_name=''${bin_name/.py} + bin_name=''${bin_name//_/-} + install --mode 0555 -D $f $out/bin/$bin_name + done + install -D -t $out/share/syndicate-protocols $src/protocols/schema-bundle.bin + runHook postInstall + ''; } diff --git a/packages/synit-pid1/default.nix b/packages/synit-pid1/default.nix index e94fdf6..25118dc 100644 --- a/packages/synit-pid1/default.nix +++ b/packages/synit-pid1/default.nix @@ -1,6 +1,11 @@ # 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 { pname = "synit-pid1"; diff --git a/packages/xapian_actor/default.nix b/packages/xapian_actor/default.nix index fdf7346..3eb0238 100644 --- a/packages/xapian_actor/default.nix +++ b/packages/xapian_actor/default.nix @@ -1,4 +1,11 @@ -{ lib, buildNimPackage, fetchFromGitea, pkg-config, syndicate, xapian }: +{ + lib, + buildNimPackage, + fetchFromGitea, + pkg-config, + syndicate, + xapian, +}: buildNimPackage rec { pname = "xapian_actor"; @@ -13,7 +20,10 @@ buildNimPackage rec { }; propagatedNativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ syndicate xapian ]; + propagatedBuildInputs = [ + syndicate + xapian + ]; meta = src.meta // { maintainers = [ lib.maintainers.ehmry ];