alpha
Login
or
Join now
tombl.dev
/
distro
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
refactor apps to shared package
author
Thomas Stokes
date
1 year ago
(Jan 18, 2025, 6:58 PM +0800)
commit
922d4026
922d40265eefc9da2625430050857b744a41d52e
parent
8f13976c
8f13976ca545b30616638a2e3e5ab450a4d02edf
+27
-29
2 changed files
Expand all
Collapse all
Unified
Split
flake
apps.nix
shell.nix
+22
-29
flake/apps.nix
Reviewed
···
1
1
-
{lib, ...}:
1
1
+
{ lib, ... }:
2
2
3
3
{
4
4
perSystem =
5
5
-
{ pkgs, self', ... }:
5
5
+
{ pkgs, self', config, ... }:
6
6
let
7
7
inherit (self'.legacyPackages) linux initramfs;
8
8
+
site = pkgs.runCommand "wasm-linux" { src = "${linux.src}/tools/wasm"; } ''
9
9
+
mkdir $out
10
10
+
cp -r $src/run.js $src/public/* $src/src $out/
11
11
+
ln -s ${initramfs} $out/initramfs.cpio
12
12
+
ln -sf ${linux} $out/dist
13
13
+
'';
8
14
in
9
15
{
10
10
-
apps.runner.program =
11
11
-
let
12
12
-
runner-lib = pkgs.runCommand "wasm-linux-runner-lib" { src = "${linux.src}/tools/wasm"; } ''
13
13
-
mkdir -p $out/bin
16
16
+
apps.runner.program = pkgs.writeShellScriptBin "wasm-linux-runner" ''
17
17
+
${lib.getExe pkgs.deno} run --allow-read ${site}/run.js --initcpio=${initramfs} "$@"
18
18
+
'';
14
19
15
15
-
ln -s ${linux} $out/dist
16
16
-
cp -r $src/src $out/src
17
17
-
cp $src/run.js $out
18
18
-
'';
19
19
-
in
20
20
-
pkgs.writeShellScriptBin "wasm-linux-runner" ''
21
21
-
${lib.getExe pkgs.deno} run --allow-read ${runner-lib}/run.js --initcpio=${initramfs} "$@"
22
22
-
'';
23
23
-
24
24
-
apps.serve.program =
25
25
-
let site = pkgs.runCommand "wasm-linux-site" { src = "${linux.src}/tools/wasm"; } ''
26
26
-
mkdir $out
27
27
-
cp -r $src/public/* $out/
28
28
-
ln -s ${initramfs} $out/initramfs.cpio
29
29
-
ln -sf ${linux} $out/dist
30
30
-
'';
31
31
-
in
32
32
-
pkgs.writeShellScriptBin "wasm-linux-serve" ''
33
33
-
${lib.getExe pkgs.miniserve} ${site} --index index.html \
34
34
-
--header Cross-Origin-Opener-Policy:same-origin \
35
35
-
--header Cross-Origin-Embedder-Policy:require-corp \
36
36
-
--header Cross-Origin-Resource-Policy:cross-origin
37
37
-
'';
20
20
+
apps.serve.program = pkgs.writeShellScriptBin "wasm-linux-serve" ''
21
21
+
${lib.getExe pkgs.miniserve} ${site} --index index.html \
22
22
+
--header Cross-Origin-Opener-Policy:same-origin \
23
23
+
--header Cross-Origin-Embedder-Policy:require-corp \
24
24
+
--header Cross-Origin-Resource-Policy:cross-origin
25
25
+
'';
26
26
+
27
27
+
make-shells.default.packages = [
28
28
+
(pkgs.writeShellScriptBin "run" ''exec ${config.apps.runner.program} "$@"'')
29
29
+
(pkgs.writeShellScriptBin "serve" ''exec ${config.apps.serve.program} "$@"'')
30
30
+
];
38
31
};
39
32
}
+5
flake/shell.nix
Reviewed
···
5
5
perSystem =
6
6
{ pkgs, ... }:
7
7
{
8
8
+
make-shells.default = {
9
9
+
stdenv = pkgs.stdenvNoCC;
10
10
+
};
11
11
+
8
12
make-shells.ci = {
13
13
+
stdenv = pkgs.stdenvNoCC;
9
14
packages = with pkgs; [
10
15
attic-client
11
16
jq