migrated all scripts + function to generate output

This commit is contained in:
2024-12-14 16:14:53 -06:00
parent c12e26ae7d
commit 171821bc9b
15 changed files with 1037 additions and 8 deletions

View File

@@ -2,17 +2,43 @@
description = "Nix flake for the activity logging script";
outputs =
{ nixpkgs, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
generatePackages =
args:
let
inherit (args) dir ext handler;
in
./${dir}
|> builtins.readDir
|> builtins.attrNames
|> builtins.filter (file: builtins.match ".*\\.${ext}$" file != null)
|> builtins.map (file: rec {
name = builtins.replaceStrings [ ".${ext}" ] [ "" ] file;
value = handler ./${dir}/${file} name;
})
|> builtins.listToAttrs;
in
{
packages.x86_64-linux =
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
scriptBin = path: name: pkgs.writeScriptBin name (builtins.readFile path);
in
{
tasks = pkgs.writeScriptBin "tasks" (builtins.readFile ./src/tasks.sh);
download = pkgs.callPackage ./pkgs/download.nix { };
webcomix = pkgs.callPackage ./pkgs/webcomix.nix { };
tuh-activity-logger = pkgs.callPackage ./pkgs/tuh-activity-logger.nix { };
generatePackages {
dir = "pkgs";
ext = "nix";
handler = (path: name: pkgs.callPackage path { });
}
// generatePackages {
dir = "src/scripts";
ext = "sh";
handler = scriptBin;
}
// generatePackages {
dir = "src/scripts";
ext = "py";
handler = scriptBin;
};
};
}