From d33b9c5467b2425d2feb29a252e9662779cabc56 Mon Sep 17 00:00:00 2001 From: Gregor Lohaus Date: Tue, 2 Jun 2026 12:34:32 +0200 Subject: [PATCH] devenv tweaks --- index.ts | 1 + .../.claude/settings.json" | 0 .../.gitignore" | 0 .../.ignore" | 0 .../.vscode/extensions.json" | 0 .../.vscode/settings.json" | 0 .../AGENTS.md" | 0 .../CLAUDE.md" | 0 .../LICENSE" | 0 .../app.json" | 0 .../expo.icon/Assets/expo-symbol 2.svg" | 0 .../assets/expo.icon/Assets/grid.png" | Bin .../assets/expo.icon/icon.json" | 0 .../images/android-icon-background.png" | Bin .../images/android-icon-foreground.png" | Bin .../images/android-icon-monochrome.png" | Bin .../assets/images/expo-badge-white.png" | Bin .../assets/images/expo-badge.png" | Bin .../assets/images/expo-logo.png" | Bin .../assets/images/favicon.png" | Bin .../assets/images/icon.png" | Bin .../assets/images/logo-glow.png" | Bin .../assets/images/react-logo.png" | Bin .../assets/images/react-logo@2x.png" | Bin .../assets/images/react-logo@3x.png" | Bin .../assets/images/splash-icon.png" | Bin .../assets/images/tabIcons/explore.png" | Bin .../assets/images/tabIcons/explore@2x.png" | Bin .../assets/images/tabIcons/explore@3x.png" | Bin .../assets/images/tabIcons/home.png" | Bin .../assets/images/tabIcons/home@2x.png" | Bin .../assets/images/tabIcons/home@3x.png" | Bin .../assets/images/tutorial-web.png" | Bin .../metro.config.js" | 0 .../package.json" | 0 .../src/app/_layout.tsx" | 0 .../src/app/index.tsx" | 0 .../tsconfig.json" | 0 template/devenv.nix | 73 ++++++++++-------- 39 files changed, 42 insertions(+), 32 deletions(-) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.claude/settings.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.claude/settings.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.gitignore" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.gitignore" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.ignore" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.ignore" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/extensions.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/extensions.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/settings.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/settings.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/AGENTS.md" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/AGENTS.md" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/CLAUDE.md" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/CLAUDE.md" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/LICENSE" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/LICENSE" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/app.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/app.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/expo-symbol 2.svg" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/expo-symbol 2.svg" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/grid.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/grid.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/icon.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/icon.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-background.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-background.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-foreground.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-foreground.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-monochrome.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-monochrome.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge-white.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge-white.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-logo.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-logo.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/favicon.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/favicon.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/icon.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/icon.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/logo-glow.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/logo-glow.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@2x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@2x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@3x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@3x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/splash-icon.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/splash-icon.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@2x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@2x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@3x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@3x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@2x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@2x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@3x.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@3x.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tutorial-web.png" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tutorial-web.png" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/metro.config.js" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/metro.config.js" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/package.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/package.json" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/_layout.tsx" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/_layout.tsx" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/index.tsx" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/index.tsx" (100%) rename "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/tsconfig.json" => "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/tsconfig.json" (100%) diff --git a/index.ts b/index.ts index fd5e3c9..775b7aa 100644 --- a/index.ts +++ b/index.ts @@ -62,6 +62,7 @@ const render = createRenderer(z.object({ name: z.string(), goprefix: z.string(), frontend: z.string(), + mobile: z.string() }) })) const destDir = path.join("./", project.name); diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.claude/settings.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.claude/settings.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.claude/settings.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.claude/settings.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.gitignore" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.gitignore" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.gitignore" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.gitignore" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.ignore" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.ignore" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.ignore" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.ignore" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/extensions.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/extensions.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/extensions.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/extensions.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/settings.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/settings.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/.vscode/settings.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/.vscode/settings.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/AGENTS.md" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/AGENTS.md" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/AGENTS.md" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/AGENTS.md" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/CLAUDE.md" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/CLAUDE.md" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/CLAUDE.md" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/CLAUDE.md" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/LICENSE" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/LICENSE" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/LICENSE" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/LICENSE" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/app.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/app.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/app.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/app.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/expo-symbol 2.svg" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/expo-symbol 2.svg" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/expo-symbol 2.svg" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/expo-symbol 2.svg" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/grid.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/grid.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/Assets/grid.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/Assets/grid.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/icon.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/icon.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/expo.icon/icon.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/expo.icon/icon.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-background.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-background.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-background.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-background.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-foreground.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-foreground.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-foreground.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-foreground.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-monochrome.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-monochrome.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/android-icon-monochrome.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/android-icon-monochrome.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge-white.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge-white.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge-white.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge-white.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-badge.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-badge.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-logo.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-logo.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/expo-logo.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/expo-logo.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/favicon.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/favicon.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/favicon.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/favicon.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/icon.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/icon.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/icon.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/icon.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/logo-glow.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/logo-glow.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/logo-glow.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/logo-glow.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@2x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@2x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@2x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@2x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@3x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@3x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/react-logo@3x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/react-logo@3x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/splash-icon.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/splash-icon.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/splash-icon.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/splash-icon.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@2x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@2x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@2x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@2x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@3x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@3x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/explore@3x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/explore@3x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@2x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@2x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@2x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@2x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@3x.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@3x.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tabIcons/home@3x.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tabIcons/home@3x.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tutorial-web.png" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tutorial-web.png" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/assets/images/tutorial-web.png" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/assets/images/tutorial-web.png" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/metro.config.js" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/metro.config.js" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/metro.config.js" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/metro.config.js" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/package.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/package.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/package.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/package.json" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/_layout.tsx" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/_layout.tsx" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/_layout.tsx" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/_layout.tsx" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/index.tsx" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/index.tsx" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/src/app/index.tsx" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/src/app/index.tsx" diff --git "a/template/apps/<@if(eq(context.project.mobile,\"expo\"))>/tsconfig.json" "b/template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/tsconfig.json" similarity index 100% rename from "template/apps/<@if(eq(context.project.mobile,\"expo\"))>/tsconfig.json" rename to "template/apps/<@if(eq(context.project.mobile,\"expo\"))>mobile/tsconfig.json" diff --git a/template/devenv.nix b/template/devenv.nix index 645f0cb..1e63da0 100644 --- a/template/devenv.nix +++ b/template/devenv.nix @@ -1,10 +1,4 @@ -<@if(neq(context.project.frontend,"none"))> - bundev = { - exec = "bun dev"; - cwd = "./apps/web"; - after= ["devenv:processes:air@started"]; - }; - <@endif>{ pkgs, lib, config, inputs, ... }: +{ pkgs, lib, config, inputs, ... }: { packages = [ @@ -19,9 +13,6 @@ pkgs.protoc-gen-connect-go pkgs.protoc-gen-es pkgs.cobra-cli - <@if(eq(context.project.mobile,"expo"))> - pkgs.glib - <@endif> ]; <@if(eq(context.project.mobile,"expo"))> android = { @@ -53,47 +44,65 @@ } ]; }; - <@if(eq(context.project.mobile,"expo"))> - enterShell = '' - export LD_LIBRARY_PATH=$ANDROID_HOME/emulator/lib64:$LD_LIBRARY_PATH + scripts.create-avd.exec = '' + if [ ! -f .avd-created ]; then + avdmanager create avd + -n "Pixel_5_API34" + -k "system-images;android-34;google_apis_playstore;x86_64" + -d "pixel_5" + fi ''; - tasks.'<@var(context.project.name)>:create-avd'.exec = '' - avdmanager create avd - -n "Pixel_5_API34" - -k "system-images;android-34;google_apis_playstore;x86_64" - -d "pixel_5" - ''; - tasks.'<@var(context.project.name)>:run-emulator' = { - exec = "emulator -avd Pixel_5_API34"; - after = [ "<@var(context.project.name)>:create-avd" ] - }; <@endif> processes = { + <@if(neq(context.project.frontend,"none"))> + bundev = { + exec = "bun dev"; + cwd = "./apps/web"; + after= ["devenv:processes:air@started"]; + }; + <@endif> air = { exec = "air"; cwd = "./services/api"; after = ["devenv:processes:postgres"]; }; protowatcher = { - exec = "watchexec -r -e proto buf generate"; + exec = "buf generate"; cwd = "./packages/proto"; + watch = { + paths = [ ./ ]; + extensions = [ "proto" ]; + }; after= ["devenv:processes:air@started"]; }; protojswatcher = { - exec = "watchexec -e js,ts -w ./packages/rpc/src -r bun run ./scripts/gen-rpc-index.ts"; - cwd = "./"; - after= ["devenv:processes:protowatcher@started"]; + exec = "bun run ./scripts/gen-rpc-index.ts"; + cwd = "./packages/rpc/src"; + watch = { + paths = [ ./ ]; + extensions = ["js","ts"]; + }; + after= ["devenv:processes:protowatcher@after"]; }; + <@if(eq(context.project.mobile,"expo"))> + createavd = { + exec = "create-avd" + }; + emulator = { + exec = "emulator -avd Pixel_5_API34" + after = ["devenv:processes:createavd@after"] + }; + bundev = { + exec = "bunx expo run:android"; + cwd = "./apps/mobile"; + after= ["devenv:processes:emulator@started"]; + }; + <@endif> sqlwatcher = { exec = "watchexec -w ./db/migrations -w ./db/query -r -e sql sqlc generate"; cwd = "./services/api"; after= ["devenv:processes:air@started"]; }; - <@if(eq(context.project.mobile,"expo"))> - emulator = { - exec - } - <@endif> }; }