diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index db3da62..9e3af0a 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -19,7 +19,7 @@ jobs:
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build project
- run: nix build .#erratic-gate-github-pages
+ run: nix build .#erratic-gate
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
diff --git a/.prettierrc.json b/.prettierrc.json
index 184f937..f2c8a73 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -1,7 +1,7 @@
{
- "semi": false,
- "trailingComma": "none",
- "singleQuote": true,
- "printWidth": 80,
- "tabWidth": 2
+ "semi": false,
+ "trailingComma": "none",
+ "singleQuote": true,
+ "printWidth": 80,
+ "tabWidth": 2
}
diff --git a/flake.lock b/flake.lock
index 6d6efac..1e5f4b8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -20,15 +20,18 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1695360818,
- "narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
- "path": "/nix/store/09yvj6yyxspzfivv91bcxwrjxawpk1g2-source",
- "rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
- "type": "path"
+ "lastModified": 1728538411,
+ "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221",
+ "type": "github"
},
"original": {
- "id": "nixpkgs",
- "type": "indirect"
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
}
},
"root": {
diff --git a/flake.nix b/flake.nix
index a2336f8..696790d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,21 +1,22 @@
{
- description = "Logic gate simulator";
- inputs.flake-utils.url = "github:numtide/flake-utils";
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
+ flake-utils.url = "github:numtide/flake-utils";
+ };
- outputs = { nixpkgs, flake-utils, ... }:
- flake-utils.lib.eachDefaultSystem (system:
- let pkgs = nixpkgs.legacyPackages.${system};
+ outputs =
+ { nixpkgs, flake-utils, ... }:
+ flake-utils.lib.eachDefaultSystem (
+ system:
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
in
rec {
- packages.erratic-gate = pkgs.buildNpmPackage {
+ packages.erratic-gate = pkgs.buildNpmPackage.override { stdenv = pkgs.stdenvNoCC; } {
name = "erratic-gate";
-
- buildInputs = [ pkgs.nodejs_18 ];
-
src = pkgs.lib.cleanSource ./.;
- npmDepsHash = "sha256-f5mw6IjkhZgsIuzCz9d7DvoAdceY1y+yWXn1BOonsVI=";
- ESBUILD_BASEURL = "";
+ npmDepsHash = "sha256-f5mw6IjkhZgsIuzCz9d7DvoAdceY1y+yWXn1BOonsVI=";
installPhase = ''
mkdir $out
@@ -23,38 +24,7 @@
'';
};
- packages.erratic-gate-github-pages = packages.erratic-gate;
packages.default = packages.erratic-gate;
-
- devShells.default =
- pkgs.mkShell {
- buildInputs = with pkgs;
- with nodePackages_latest; [
- nodejs
- ];
- };
-
- apps.compute-npm-dep-hash = {
- type = "app";
- program = pkgs.lib.getExe (pkgs.writeShellApplication {
- name = "generate-layout-previes";
- runtimeInputs = [ pkgs.prefetch-npm-deps ];
- text = "prefetch-npm-deps ./package-lock.json";
- });
- };
}
);
-
- # {{{ Caching and whatnot
- nixConfig = {
- # extra-substituters = [
- # "erratic-gate.cachix.org-1:Ijiu/v//aVpKO4xBqV+2AM2s2uQYOnGCfoj9fYRXxtk" # I think I need this for neovim-nightly?
- # ];
- #
- # extra-trusted-public-keys = [
- # "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
- # ];
- };
- # }}}
}
-
diff --git a/src/main.tsx b/src/main.tsx
index 0088140..686c5b0 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -15,38 +15,38 @@ import { initAutoSave } from './modules/simulation-actions/helpers/initAutoSave'
* The function wich does the heavy lifting for starting the app
*/
export const start = async () => {
- // This will resolve at the first render
- const result = loadSubject
- .pipe(
- filter((a) => a),
- take(1)
- )
- .toPromise()
+ // This will resolve at the first render
+ const result = loadSubject
+ .pipe(
+ filter((a) => a),
+ take(1)
+ )
+ .toPromise()
- // Handle possible errors
- handleErrors()
+ // Handle possible errors
+ handleErrors()
- // Create main renderer for the app
- initRenderer()
+ // Create main renderer for the app
+ initRenderer()
- // Register key bindings
- initKeyBindings()
+ // Register key bindings
+ initKeyBindings()
- // Update base templates
- initBaseTemplates()
+ // Update base templates
+ initBaseTemplates()
- // Easter egg
- logWelcome()
+ // Easter egg
+ logWelcome()
- // Update the logic gates in local storage
- updateLogicGateList()
+ // Update the logic gates in local storage
+ updateLogicGateList()
- // start the autosaving stuff
- initAutoSave()
+ // start the autosaving stuff
+ initAutoSave()
- // Render app component
- render(, document.getElementById('app'))
+ // Render app component
+ render(, document.getElementById('app'))
- // wait for the first render
- await result
+ // wait for the first render
+ await result
}