diff --git a/home/modules/create-project/project-blueprints/animation/init.sh b/home/modules/create-project/project-blueprints/animation/init.sh
new file mode 100644
index 0000000..5e0d7e7
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/init.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -e
+NAME=$1
+
+sed -i "s/project_name/$NAME/g" package.json
+npm install
diff --git a/home/modules/create-project/project-blueprints/animation/package.json b/home/modules/create-project/project-blueprints/animation/package.json
new file mode 100644
index 0000000..9f61f93
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "project_name",
+ "private": true,
+ "version": "0.0.0",
+ "scripts": {
+ "start": "vite",
+ "serve": "vite",
+ "build": "tsc && vite build"
+ },
+ "dependencies": {
+ "@motion-canvas/core": "^3.17.2",
+ "@motion-canvas/2d": "^3.17.2",
+ "@motion-canvas/ffmpeg": "^1.1.0"
+ },
+ "devDependencies": {
+ "@motion-canvas/ui": "^3.17.2",
+ "@motion-canvas/vite-plugin": "^3.17.2",
+ "typescript": "^5.2.2",
+ "vite": "^4.0.0"
+ }
+}
\ No newline at end of file
diff --git a/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts b/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts
new file mode 100644
index 0000000..067c6a4
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/src/motion-canvas.d.ts
@@ -0,0 +1 @@
+///
diff --git a/home/modules/create-project/project-blueprints/animation/src/project.ts b/home/modules/create-project/project-blueprints/animation/src/project.ts
new file mode 100644
index 0000000..ecfbbeb
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/src/project.ts
@@ -0,0 +1,7 @@
+import {makeProject} from '@motion-canvas/core';
+
+import example from './scenes/example?scene';
+
+export default makeProject({
+ scenes: [example],
+});
diff --git a/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx b/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx
new file mode 100644
index 0000000..525cd51
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/src/scenes/example.tsx
@@ -0,0 +1,12 @@
+import {Circle, makeScene2D} from '@motion-canvas/2d';
+import {createRef} from '@motion-canvas/core';
+
+export default makeScene2D(function* (view) {
+ // Create your animations here
+
+ const circle = createRef();
+
+ view.add();
+
+ yield* circle().scale(2, 2).to(1, 2);
+});
diff --git a/home/modules/create-project/project-blueprints/animation/tsconfig.json b/home/modules/create-project/project-blueprints/animation/tsconfig.json
new file mode 100644
index 0000000..e7d5347
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ "extends": "@motion-canvas/2d/tsconfig.project.json",
+ "include": ["src"]
+}
diff --git a/home/modules/create-project/project-blueprints/animation/vite.config.ts b/home/modules/create-project/project-blueprints/animation/vite.config.ts
new file mode 100644
index 0000000..42d9d68
--- /dev/null
+++ b/home/modules/create-project/project-blueprints/animation/vite.config.ts
@@ -0,0 +1,10 @@
+import {defineConfig} from 'vite';
+import motionCanvas from '@motion-canvas/vite-plugin';
+import ffmpeg from '@motion-canvas/ffmpeg';
+
+export default defineConfig({
+ plugins: [
+ motionCanvas(),
+ ffmpeg(),
+ ],
+});
diff --git a/home/modules/create-project/project-blueprints/c-sharp/init.sh b/home/modules/create-project/project-blueprints/c-sharp/init.sh
index 6aaa0a6..183d692 100644
--- a/home/modules/create-project/project-blueprints/c-sharp/init.sh
+++ b/home/modules/create-project/project-blueprints/c-sharp/init.sh
@@ -16,4 +16,8 @@ namespace $1
}
}"
-echo "$program" >>Program.cs
+echo "$program" >Program.cs
+
+nix develop . --command bash -c "dotnet restore --use-lock-file"
+
+nix run nixpkgs#nuget-to-nix -- ./packages.lock.json >deps.nix
diff --git a/home/modules/create-project/project-blueprints/cpp/init.sh b/home/modules/create-project/project-blueprints/cpp/init.sh
index f96e5f0..697c3f2 100644
--- a/home/modules/create-project/project-blueprints/cpp/init.sh
+++ b/home/modules/create-project/project-blueprints/cpp/init.sh
@@ -1,3 +1,3 @@
-#!/bin/sh
+#!/usr/bin/env bash
sed -i -e "s/change_this/$1/g" flake.nix
diff --git a/home/modules/create-project/project-blueprints/python/flake.nix b/home/modules/create-project/project-blueprints/python/flake.nix
index 96e2ecf..4da5bab 100644
--- a/home/modules/create-project/project-blueprints/python/flake.nix
+++ b/home/modules/create-project/project-blueprints/python/flake.nix
@@ -3,20 +3,29 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
- outputs = {nixpkgs, ...} @ inputs: let
+ outputs = {nixpkgs, ...}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
+ pythonEnv = pkgs.python3.withPackages (python-pkgs: [
+ python-pkgs.numpy
+ python-pkgs.pandas
+ ]);
in {
+ packages."${system}" = {
+ default = pkgs.writeShellApplication {
+ name = "my-app";
+ runtimeInputs = [pythonEnv];
+ text = ''
+ python ${./main.py} "$@"
+ '';
+ };
+ };
+
devShells."${system}" = {
default = pkgs.mkShell {
- packages = [
- (pkgs.python3.withPackages (python-pkgs: [
- python-pkgs.numpy
- python-pkgs.pandas
- ]))
- ];
+ packages = [pythonEnv];
};
};
};
diff --git a/home/modules/create-project/project-blueprints/rust/flake.nix b/home/modules/create-project/project-blueprints/rust/flake.nix
index ef403a2..f2e1153 100644
--- a/home/modules/create-project/project-blueprints/rust/flake.nix
+++ b/home/modules/create-project/project-blueprints/rust/flake.nix
@@ -13,13 +13,27 @@
pkgs = import nixpkgs {
inherit system overlays;
};
+ rustToolchain = pkgs.rust-bin.stable.latest.default;
+ rustPlatform = pkgs.makeRustPlatform {
+ cargo = rustToolchain;
+ rustc = rustToolchain;
+ };
in {
+ packages."${system}" = {
+ default = rustPlatform.buildRustPackage {
+ pname = "change_this";
+ version = "0.1.0";
+ src = ./.;
+ cargoLock.lockFile = ./Cargo.lock;
+ };
+ };
+
devShells."${system}" = {
default = pkgs.mkShell {
buildInputs = with pkgs; [
gcc
gnumake
- rust-bin.stable.latest.default
+ rustToolchain
evcxr
];
};
diff --git a/home/modules/create-project/project-blueprints/rust/init.sh b/home/modules/create-project/project-blueprints/rust/init.sh
index 97c60e3..0351288 100644
--- a/home/modules/create-project/project-blueprints/rust/init.sh
+++ b/home/modules/create-project/project-blueprints/rust/init.sh
@@ -3,5 +3,6 @@
nix develop . --command bash -c "cargo new $1"
cp -r "$1"/* .
-
rm -fr "$1"
+
+sed -i -e "s/change_this/$1/g" flake.nix