forked from DGNum/liminix
export "dir" and "symlink" from pseudofiles package
This commit is contained in:
parent
1c14bb63fa
commit
09a9dba963
5 changed files with 16 additions and 13 deletions
|
@ -1,6 +1,8 @@
|
|||
{ lib, ...}:
|
||||
{ lib, pkgs, ...}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkOption types isDerivation hasAttr ;
|
||||
inherit (pkgs.pseudofile) dir symlink;
|
||||
|
||||
type_service = types.package // {
|
||||
name = "service";
|
||||
description = "s6-rc service";
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
writeText
|
||||
, lib
|
||||
}:
|
||||
filename : attrset :
|
||||
let
|
||||
inherit (lib.debug) traceSeqN;
|
||||
inherit (lib.attrsets) mapAttrsToList;
|
||||
visit = prefix: attrset:
|
||||
let
|
||||
|
@ -33,5 +31,8 @@ let
|
|||
line)
|
||||
attrset;
|
||||
in builtins.concatStringsSep "\n" l;
|
||||
res = (visit "" attrset);
|
||||
in writeText filename res
|
||||
in {
|
||||
write = filename : attrset : writeText filename (visit "" attrset);
|
||||
dir = contents: { type = "d"; inherit contents; };
|
||||
symlink = target: { type = "s"; inherit target; };
|
||||
}
|
||||
|
|
|
@ -21,8 +21,7 @@ let
|
|||
patchShebangs $out/scripts
|
||||
'';
|
||||
};
|
||||
dir = contents: { type = "d"; inherit contents; };
|
||||
symlink = target: { type = "s"; inherit target; };
|
||||
inherit (pseudofile) dir symlink;
|
||||
scripts = symlink "${initscripts}/scripts";
|
||||
env = dir {};
|
||||
run-image = dir {
|
||||
|
@ -141,4 +140,4 @@ let
|
|||
inherit scripts env run-image;
|
||||
};};};};
|
||||
|
||||
in pseudofile "pseudo.s6-init" structure
|
||||
in pseudofile.write "pseudo.s6-init" structure
|
||||
|
|
|
@ -4,8 +4,7 @@ expr=$(cat <<"EXPR"
|
|||
let
|
||||
overlay = import <liminix/overlay.nix>;
|
||||
nixpkgs = import <nixpkgs> { overlays = [overlay]; };
|
||||
structure = import ./structure.nix;
|
||||
in nixpkgs.pkgs.pseudofile "pseudo.s6-init" structure
|
||||
in nixpkgs.pkgs.callPackage ./test.nix {}
|
||||
EXPR
|
||||
)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
let
|
||||
dir = contents: { type = "d"; inherit contents; };
|
||||
{
|
||||
pseudofile
|
||||
}: let
|
||||
inherit (pseudofile) dir;
|
||||
structure = {
|
||||
service = dir {
|
||||
s6-linux-init-runleveld = dir {
|
||||
|
@ -42,4 +44,4 @@ let
|
|||
};
|
||||
uncaught-logs = (dir {}) // {mode = "2750";};
|
||||
};
|
||||
in structure
|
||||
in pseudofile.write "pseudo.s6-init" structure
|
Loading…
Reference in a new issue