scroll auto discovery
This commit is contained in:
parent
60b5164a8a
commit
8769d9de00
9 changed files with 44 additions and 20 deletions
|
|
@ -10,7 +10,7 @@
|
|||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
lib = import ./nix/deno;
|
||||
lib = import ./nix;
|
||||
shelf = import ./shelf {
|
||||
inherit pkgs system lib;
|
||||
};
|
||||
|
|
|
|||
10
nix/default.nix
Normal file
10
nix/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
let
|
||||
lib = {
|
||||
buildDenoCache = import ./deno/buildCache.nix { self = lib; };
|
||||
readDenoScroll = import ./deno/readScroll.nix { self = lib; };
|
||||
buildSharedDenoCache = import ./deno/buildSharedCache.nix { self = lib; };
|
||||
makeDenoShelfSetup = import ./deno/makeShelfSetup.nix { self = lib; };
|
||||
discoverScrolls = import ./discoverScrolls.nix { self = lib; };
|
||||
};
|
||||
in
|
||||
lib
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
let
|
||||
lib = {
|
||||
buildDenoCache = import ./buildDenoCache.nix { self = lib; };
|
||||
readDenoScroll = import ./readDenoScroll.nix { self = lib; };
|
||||
buildSharedDenoCache = import ./buildSharedDenoCache.nix { self = lib; };
|
||||
makeDenoShelfSetup = import ./makeDenoShelfSetup.nix { self = lib; };
|
||||
};
|
||||
in
|
||||
lib
|
||||
29
nix/discoverScrolls.nix
Normal file
29
nix/discoverScrolls.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ self }:
|
||||
{ scrollsDir }:
|
||||
let
|
||||
allSubDirs = builtins.attrNames (
|
||||
builtins.readDir scrollsDir
|
||||
);
|
||||
|
||||
directoriesOnly = builtins.filter (name:
|
||||
let
|
||||
type = (builtins.readDir scrollsDir).${name};
|
||||
in type == "directory"
|
||||
) allSubDirs;
|
||||
|
||||
hasScrollNix = dir:
|
||||
let
|
||||
scrollPath = scrollsDir + "/${dir}/scroll.nix";
|
||||
in builtins.pathExists scrollPath;
|
||||
|
||||
scrollDirs = builtins.filter hasScrollNix directoriesOnly;
|
||||
missingScrollDirs = builtins.filter (dir: !(hasScrollNix dir)) directoriesOnly;
|
||||
|
||||
warnings =
|
||||
if builtins.length missingScrollDirs > 0
|
||||
then builtins.trace
|
||||
"Warning: Found directories without scroll.nix: ${builtins.toString missingScrollDirs}"
|
||||
null
|
||||
else null;
|
||||
in
|
||||
scrollDirs
|
||||
|
|
@ -2,23 +2,17 @@
|
|||
let
|
||||
denoScrollsDir = ./deno;
|
||||
|
||||
scrollDirs = lib.discoverScrolls {
|
||||
scrollsDir = denoScrollsDir;
|
||||
};
|
||||
|
||||
mkScroll = subDir: lib.readDenoScroll {
|
||||
inherit pkgs system subDir;
|
||||
scrollsDir = denoScrollsDir;
|
||||
};
|
||||
|
||||
scrollDirs = [
|
||||
"hjq"
|
||||
"uses-hjq"
|
||||
];
|
||||
|
||||
scrolls = builtins.map mkScroll scrollDirs;
|
||||
|
||||
# shelfSetup =
|
||||
# lib.collectDenoCaches {
|
||||
# inherit pkgs;
|
||||
# denoCacheDrvs = builtins.map (s: s.env) scrolls;
|
||||
# };
|
||||
sharedCache = lib.buildSharedDenoCache {
|
||||
inherit pkgs system;
|
||||
scrollsDir = denoScrollsDir;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue