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