migrated all scripts + function to generate output
This commit is contained in:
40
flake.nix
40
flake.nix
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user