Compare commits

...

7 Commits

11 changed files with 67 additions and 125 deletions

View File

@ -20,18 +20,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1686968143,
"narHash": "sha256-NkXmT9ArJBeu56jo/agURQ1pvqrx0nUHi30yM7sttK8=",
"lastModified": 1690860117,
"narHash": "sha256-srkCfjMlg777HxDVMfhkIFgRhhtuZjIOIyR2ejLYK+Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "56799517d0537a6f3e91a5171af8c4bfd82c092e",
"rev": "96d403ee2479f2070050353b94808209f1352edb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
"id": "nixpkgs",
"type": "indirect"
}
},
"root": {
@ -48,11 +46,11 @@
]
},
"locked": {
"lastModified": 1686968542,
"narHash": "sha256-Gjlj7UeHqMFRAYyefeoLnSjLo8V+0XheIamojNEyTbE=",
"lastModified": 1690856601,
"narHash": "sha256-OP1w4rwMJscne5ckSfzOjXXQTPzAWM3Mkm4wRmHwCh8=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "01d84cd842e48e89be67e4c2d9dc46aa7709adc5",
"rev": "657d170ebe594da9fa32797e38704d45732d0c72",
"type": "github"
},
"original": {

View File

@ -2,7 +2,6 @@
description = "Syndicate utilities";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/release-23.05";
rust = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
@ -29,11 +28,35 @@
nimPackages = prev.nimPackages.overrideScope' (final': prev': {
noiseprotocol = final'.callPackage ./packages/nim/noiseprotocol { };
preserves = final'.callPackage ./packages/preserves-nim { };
syndicate = final'.callPackage ./packages/syndicate-nim { };
preserves = prev'.preserves.overrideAttrs (f: p: {
version = "20230801";
src = prev.fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "preserves-nim";
rev = f.version;
sha256 = "sha256-60QsbXMYYfEWvXQAXu7XSpvg2J9YaGKDkDrfclcK6pc=";
};
});
syndicate = prev'.syndicate.overrideAttrs (f: p: {
version = "20230801";
src = prev.fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "syndicate-nim";
rev = f.version;
hash = "sha256-/mZGWVdQ5FtZf2snPIjTG2tNFVzxQmxvkKuLCAGARYs=";
};
});
syndicate_utils =
final'.callPackage ./packages/syndicate_utils-nim { };
xdg_open_ng = final'.callPackage ./packages/xdg_open_ng { };
syndicated-open = final'.callPackage ./packages/syndicated-open { };
xdg_open_ng =
builtins.trace "xdg_open_ng has been renamed to syndicated-open"
final'.syndicated-open;
});
nix_actor = final.nimPackages.callPackage ./packages/nix_actor { };

View File

@ -244,12 +244,15 @@ ln -sfn /proc/self/fd/2 /dev/stderr
mkdir -p /dev/.mdadm
info "running mdevd..."
echo '$MODALIAS=.* 0:0 660 @modprobe "$MODALIAS"' >/etc/mdev.conf
echo '$MODALIAS=.* 0:0 660 @modprobe --quiet "$MODALIAS"' >/etc/mdev.conf
mdevd -O4 -v 3 &
mdevd_pid=$!
mdevd-coldplug -O4 -v 3
@preLVMCommands@
if test -n "$debug1devices"; then fail; fi

View File

@ -299,7 +299,7 @@ let
inherit (config.system.build) earlyMountScript;
inherit (config.boot.initrd) checkJournalingFS verbose
preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules preLVMCommands;
resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
(filter (sd: hasPrefix "/dev/" sd.device && !sd.randomEncryption.enable

View File

@ -2,7 +2,7 @@
{
options.synit.logProgram = lib.mkOption {
type = lib.types.str;
type = lib.types.path;
default = pkgs.writeScript "synit-log" ''
#!${pkgs.execline}/bin/execlineb -P
foreground { ${pkgs.coreutils}/bin/mkdir -p /var/log/synit }

View File

@ -1,5 +1,5 @@
{
imports = [ ./nncp.nix ./ntpd.nix ./sshd.nix ./userSettings.nix ./wifi.nix ];
imports = [ ./ntpd.nix ./sshd.nix ./userSettings.nix ./wifi.nix ];
environment.etc."syndicate/services/configdirs.pr".text = ''
<require-service <config-watcher "/run/etc/syndicate/services" $.>>
'';

View File

@ -2,13 +2,14 @@
{
config = lib.mkIf config.services.ntp.enable {
environment.etc."syndicate/services/ssh-keygen.pr".text = let
serverList =
lib.lists.concatMap (s: " -p ${s}") config.networking.timeServers;
in ''
<require-service <daemon ntpd>>
<depends-on <daemon ntpd> <default-route ipv4>>
<daemon ntpd "${pkgs.busybox}/bin/busybox ntpd -d -n ${serverList}">
'';
environment.etc."syndicate/services/ntpd.pr".text =
let serverList = map (s: " -p ${s}") config.networking.timeServers;
in ''
<require-service <daemon ntpd>>
<depends-on <daemon ntpd> <default-route ipv4>>
<daemon ntpd "${pkgs.busybox}/bin/busybox ntpd -d -n ${
toString serverList
}">
'';
};
}

View File

@ -1,47 +0,0 @@
{ lib, stdenv, buildNimPackage, fetchFromGitea, fetchFromGitHub, runCommand
, nim-unwrapped, preserves }:
let
compiler = runCommand "compiler.nimble" { inherit (nim-unwrapped) src; } ''
mkdir -p $out
tar xf $src --strip-components=1 -C $out
'';
npeg = fetchFromGitHub {
owner = "zevv";
repo = "npeg";
rev = "1.2.1";
hash = "sha256-kN91cp50ZL4INeRWqwrRK6CAkVXUq4rN4YlcN6WL/3Y=";
};
in buildNimPackage rec {
pname = "preserves";
version = "20230530";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "${pname}-nim";
rev = version;
sha256 = "sha256-IRIBGjv4po8VyL873v++ovqz8Vg6a9Qbh/M1fxpQXvY=";
};
propagatedBuildInputs = [ compiler npeg ];
propagatedNativeBuildInputs =
lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) preserves;
# propagate the utilities of this package for this build platform
preConfigure = "substituteInPlace preserves.nimble --replace '# bin ' 'bin '";
postInstall = ''
pushd $out/bin
for link in preserves_decode preserves_from_json preserves_to_json;
do ln -s preserves_encode $link
done
popd
'';
doCheck = true;
meta = src.meta // {
maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense;
};
}

View File

@ -1,36 +0,0 @@
{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub, preserves }:
let
hashlib = buildNimPackage rec {
pname = "hashlib";
version = "1.0.1";
src = fetchFromGitHub {
owner = "khchen";
repo = pname;
rev = "84e0247555e4488594975900401baaf5bbbfb531";
hash = "sha256-nWNThelCh0LPVU7ryZgS/23hRRvJDVL2xWbQibb+zN0=";
};
doCheck = true;
};
in buildNimPackage rec {
pname = "syndicate";
version = "20230530";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "${pname}-nim";
rev = version;
hash = "sha256-lUHoMSQwUlz9EDMvpFL9GlrwbwMvZDILSmuakONwe50=";
};
propagatedBuildInputs = [ hashlib preserves ];
doCheck = true;
meta = src.meta // {
maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense;
};
}

View File

@ -1,21 +1,21 @@
{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub, syndicate }:
{ lib, buildNimPackage, fetchFromGitea, illwill, syndicate }:
buildNimPackage rec {
buildNimPackage (final: prev: {
pname = "syndicate_utils";
version = "20230701";
version = "20230801";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = pname;
rev = version;
hash = "sha256-lkgYogxQOoVX8gywdty8sgYv9oHl8b8r+SIv/I6pCno=";
repo = final.pname;
rev = final.version;
hash = "sha256-O9n9y0v0cQg5b2P4GjOEKYj6t1fGTMy4v/QpeAScv2Q=";
};
propagatedBuildInputs = [ syndicate ];
propagatedBuildInputs = [ illwill syndicate ];
meta = src.meta // {
meta = final.src.meta // {
maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense;
};
}
})

View File

@ -1,8 +1,8 @@
{ lib, buildNimPackage, fetchFromGitea, makeDesktopItem, pkg-config, pcre, syndicate }:
buildNimPackage rec {
pname = "xdg_open_ng";
version = "20230518";
pname = "syndicated-open";
version = "20230630";
nimBinOnly = true;
src = fetchFromGitea {
@ -10,7 +10,7 @@ buildNimPackage rec {
owner = "ehmry";
repo = pname;
rev = version;
hash = "sha256-xoUcX3Vwz0Gnishqpe2hWo9x7HiNwagMBLW9nk9ZVWY=";
hash = "sha256-BRSvsIkaingUhtaBKQYwFzr6uC4WFs2/BmfWWPfI/6s=";
};
nativeBuildInputs = [ pkg-config ];
@ -18,8 +18,8 @@ buildNimPackage rec {
propagatedBuildInputs = [ pcre syndicate ];
desktopItem = makeDesktopItem rec {
name = "xdg-open";
desktopName = "Syndicate URI dispatcher (xdg-open)";
name = "open";
desktopName = "Syndicated URI open";
exec = "${name} %U";
mimeTypes = [
"application/vnd.mozilla.xul+xml"
@ -32,12 +32,12 @@ buildNimPackage rec {
};
postInstall = ''
mv $out/bin/xdg_open $out/bin/xdg-open
ln -s open $out/bin/xdg-open
cp -a $desktopItem/* $out/
'';
meta = src.meta // {
description = "Replacement for xdg-open that uses Syndicate for messaging.";
description = "Syndicated open command";
maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense;
};