summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhongheng Liu <z.liu@outlook.com.gr>2025-01-29 22:21:48 +0200
committerZhongheng Liu <z.liu@outlook.com.gr>2025-01-29 22:21:48 +0200
commit3eb9b9225c58f46c43c99e9abc5d903dd55d708b (patch)
tree2ea50a4e67d4c808f1ed262c4ce363733676b95a
parent2307c112d788fe698e426dff8921d0e7d74bb47c (diff)
downloadstvnliu.gitlab.io-3eb9b9225c58f46c43c99e9abc5d903dd55d708b.tar.gz
stvnliu.gitlab.io-3eb9b9225c58f46c43c99e9abc5d903dd55d708b.tar.bz2
stvnliu.gitlab.io-3eb9b9225c58f46c43c99e9abc5d903dd55d708b.zip
Revert "feat: merge 3d of old site"
This reverts commit e23e642996e00d8138ce9035693b59c282babf69.
-rw-r--r--.envrc4
-rw-r--r--.gitignore9
-rw-r--r--app/package-lock.json67
-rw-r--r--app/package.json4
-rw-r--r--app/public/assets/resume.pdfbin215517 -> 143718 bytes
-rw-r--r--app/src/App.css72
-rw-r--r--app/src/App.test.tsx9
-rw-r--r--app/src/App.tsx230
-rw-r--r--app/src/Topbar/Topbar.tsx30
-rw-r--r--app/src/index.tsx7
-rw-r--r--app/src/texturemap.jpegbin19208 -> 0 bytes
-rw-r--r--devenv.lock28
12 files changed, 100 insertions, 360 deletions
diff --git a/.envrc b/.envrc
index 894571b..5bf8fc1 100644
--- a/.envrc
+++ b/.envrc
@@ -1,3 +1,3 @@
-source_url "https://raw.githubusercontent.com/cachix/devenv/82c0147677e510b247d8b9165c54f73d32dfd899/direnvrc" "sha256-7u4iDd1nZpxL4tCzmPG0dQgC5V+/44Ba+tHkPob1v2k="
+source_url "https://raw.githubusercontent.com/cachix/devenv/95f329d49a8a5289d31e0982652f7058a189bfca/direnvrc" "sha256-d+8cBpDfDBj41inrADaJt+bDWhOktwslgoP5YiGJ1v0="
-use devenv
+use devenv \ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 1eb4eff..4d058db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,12 +7,3 @@ devenv.local.nix
# pre-commit
.pre-commit-config.yaml
-# Devenv
-.devenv*
-devenv.local.nix
-
-# direnv
-.direnv
-
-# pre-commit
-.pre-commit-config.yaml
diff --git a/app/package-lock.json b/app/package-lock.json
index 3d47e73..d05e337 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -19,12 +19,8 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1",
- "three": "^0.172.0",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
- },
- "devDependencies": {
- "@types/three": "^0.172.0"
}
},
"node_modules/@adobe/css-tools": {
@@ -3938,13 +3934,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/@tweenjs/tween.js": {
- "version": "23.1.3",
- "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
- "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/aria-query": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
@@ -4255,13 +4244,6 @@
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw=="
},
- "node_modules/@types/stats.js": {
- "version": "0.17.3",
- "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz",
- "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/testing-library__jest-dom": {
"version": "5.14.9",
"resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz",
@@ -4270,33 +4252,11 @@
"@types/jest": "*"
}
},
- "node_modules/@types/three": {
- "version": "0.172.0",
- "resolved": "https://registry.npmjs.org/@types/three/-/three-0.172.0.tgz",
- "integrity": "sha512-LrUtP3FEG26Zg5WiF0nbg8VoXiKokBLTcqM2iLvM9vzcfEiYmmBAPGdBgV0OYx9fvWlY3R/3ERTZcD9X5sc0NA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tweenjs/tween.js": "~23.1.3",
- "@types/stats.js": "*",
- "@types/webxr": "*",
- "@webgpu/types": "*",
- "fflate": "~0.8.2",
- "meshoptimizer": "~0.18.1"
- }
- },
"node_modules/@types/trusted-types": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="
},
- "node_modules/@types/webxr": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.21.tgz",
- "integrity": "sha512-geZIAtLzjGmgY2JUi6VxXdCrTb99A7yP49lxLr2Nm/uIK0PkkxcEi4OGhoGDO4pxCf3JwGz2GiJL2Ej4K2bKaA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/ws": {
"version": "8.5.10",
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz",
@@ -4672,13 +4632,6 @@
"@xtuc/long": "4.2.2"
}
},
- "node_modules/@webgpu/types": {
- "version": "0.1.53",
- "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.53.tgz",
- "integrity": "sha512-x+BLw/opaz9LiVyrMsP75nO1Rg0QfrACUYIbVSfGwY/w0DiWIPYYrpte6us//KZXinxFAOJl0+C17L1Vi2vmDw==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
"node_modules/@xtuc/ieee754": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -8238,13 +8191,6 @@
"bser": "2.1.1"
}
},
- "node_modules/fflate": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
- "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -12425,13 +12371,6 @@
"node": ">= 8"
}
},
- "node_modules/meshoptimizer": {
- "version": "0.18.1",
- "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz",
- "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
@@ -16749,12 +16688,6 @@
"node": ">=0.8"
}
},
- "node_modules/three": {
- "version": "0.172.0",
- "resolved": "https://registry.npmjs.org/three/-/three-0.172.0.tgz",
- "integrity": "sha512-6HMgMlzU97MsV7D/tY8Va38b83kz8YJX+BefKjspMNAv0Vx6dxMogHOrnRl/sbMIs3BPUKijPqDqJ/+UwJbIow==",
- "license": "MIT"
- },
"node_modules/throat": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz",
diff --git a/app/package.json b/app/package.json
index 83f6d5f..5e5e059 100644
--- a/app/package.json
+++ b/app/package.json
@@ -14,7 +14,6 @@
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-scripts": "5.0.1",
- "three": "^0.172.0",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
},
@@ -41,8 +40,5 @@
"last 1 firefox version",
"last 1 safari version"
]
- },
- "devDependencies": {
- "@types/three": "^0.172.0"
}
}
diff --git a/app/public/assets/resume.pdf b/app/public/assets/resume.pdf
index aa30bcb..7ca0108 100644
--- a/app/public/assets/resume.pdf
+++ b/app/public/assets/resume.pdf
Binary files differ
diff --git a/app/src/App.css b/app/src/App.css
index 2fe7db2..74b5e05 100644
--- a/app/src/App.css
+++ b/app/src/App.css
@@ -1,44 +1,38 @@
-body {
- overflow-x: hidden;
- margin: 0px;
- font-family: monospace;
- color: white;
-}
-canvas {
- position: fixed;
- top: 0;
- left: 0;
-}
-h1 {
- font-size: 50px;
-}
-main {
- width: 100vw;
- height: 200vw;
- z-index: 99;
- position: absolute;
- justify-content: center;
+.App {
text-align: center;
- pointer-events: none;
}
-section {
- background: #777b7e;
- border-radius: 5px;
- border-color: white;
- border-width: 5px;
- min-height: 50vh;
- padding: 25px;
- margin-top: 25vh;
-}
-h2 {
- font-size: 4vh;
-}
-p {
- font-size: 2vh;
+
+.App-logo {
+ height: 40vmin;
+ pointer-events: none;
}
-.left {
- margin-right: 55%;
+
+@media (prefers-reduced-motion: no-preference) {
+ .App-logo {
+ animation: App-logo-spin infinite 20s linear;
+ }
+}
+
+.App-header {
+ background-color: #282c34;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: calc(10px + 2vmin);
+ color: white;
}
-.right {
- margin-left: 55%;
+
+.App-link {
+ color: #61dafb;
+}
+
+@keyframes App-logo-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
}
diff --git a/app/src/App.test.tsx b/app/src/App.test.tsx
new file mode 100644
index 0000000..2a68616
--- /dev/null
+++ b/app/src/App.test.tsx
@@ -0,0 +1,9 @@
+import React from 'react';
+import { render, screen } from '@testing-library/react';
+import App from './App';
+
+test('renders learn react link', () => {
+ render(<App />);
+ const linkElement = screen.getByText(/learn react/i);
+ expect(linkElement).toBeInTheDocument();
+});
diff --git a/app/src/App.tsx b/app/src/App.tsx
index ea68c78..b800706 100644
--- a/app/src/App.tsx
+++ b/app/src/App.tsx
@@ -1,206 +1,44 @@
-import { ReactElement, useEffect, useRef } from 'react';
-import * as THREE from 'three';
-import logo from "./texturemap.jpeg";
-
import './App.css';
-export const ThreeApp = (): ReactElement => {
- const refContainer = useRef<HTMLDivElement>(null);
- useEffect(() => {
- console.log("effect running...")
- const scene = new THREE.Scene();
- scene.background = new THREE.Color(0x000000)
- scene.backgroundIntensity = 0.2
- const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
- const renderer = new THREE.WebGLRenderer();
- renderer.setSize(window.innerWidth, window.innerHeight);
- window.onresize = () => {
- camera.aspect = window.innerWidth / window.innerHeight
- camera.updateProjectionMatrix()
- renderer.setSize(window.innerWidth, window.innerHeight)
- renderer.render(scene, camera)
- }
- // render objects
- const geometry = new THREE.BoxGeometry(2, 2, 2);
- const material = new THREE.MeshStandardMaterial({});
- material.map = new THREE.TextureLoader().load(logo)
- const cube = new THREE.Mesh(geometry, material);
- const ambientLight = new THREE.AmbientLight(0xffffff, 1);
- const directionalLight = new THREE.DirectionalLight(0xffffff, 1)
- scene.add(directionalLight)
- scene.add(ambientLight)
- scene.add(cube);
- document.body.appendChild(renderer.domElement);
-
- camera.position.z = 5;
- camera.position.y = 2;
- camera.lookAt(cube.position)
-
- // progressive animation through scrolling
- function lerp(x: number, y: number, a: number): number {
- return (1 - a) * x + a * y
- }
- function scalePercent(start: number, end: number) {
- return (scrollPercent - start) / (end - start)
- }
- const animationKeyframes: { start: number; end: number; func: () => void }[] = []
-
- animationKeyframes.push({
- start: 0,
- end: 15,
- func: () => {
- camera.lookAt(cube.position.x - 5, cube.position.y, cube.position.z - 10)
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- cube.position.z = lerp(0, 5, scalePercent(0, 15))
- cube.position.x = lerp(10, -10, scalePercent(0, 15))
-
- //console.log(cube.position.z)
- },
- })
- animationKeyframes.push({
- start: 15,
- end: 30,
- func: () => {
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- camera.lookAt(cube.position.x - 5, cube.position.y, cube.position.z - 10)
- //console.log(cube.rotation.z)
- },
- })
- animationKeyframes.push({
- start: 30,
- end: 45,
- func: () => {
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- camera.position.x = lerp(0, 5, scalePercent(30, 45))
- camera.position.z = lerp(5, -5, scalePercent(30, 45))
- camera.lookAt(lerp(cube.position.x - 5, cube.position.x + 10, scalePercent(30, 45)), cube.position.y, lerp(cube.position.z - 10, cube.position.z + 10, scalePercent(30, 45)))
- //console.log(camera.position.x + " " + camera.position.y)
- },
- })
- animationKeyframes.push({
- start: 45,
- end: 60,
- func: () => {
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- camera.lookAt(cube.position.x + 10, cube.position.y, cube.position.z + 10)
- //console.log(cube.rotation.z)
- },
- })
- animationKeyframes.push({
- start: 60,
- end: 70,
- func: () => {
- //auto rotate
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- cube.position.x = lerp(-10, 20, scalePercent(60, 70))
- camera.lookAt(lerp(cube.position.x + 10, cube.position.x - 10, scalePercent(60, 70)), cube.position.y, cube.position.z + 10)
- },
- })
- animationKeyframes.push({
- start: 70,
- end: 80,
- func: () => {
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- camera.lookAt(cube.position.x - 10, cube.position.y, cube.position.z + 10)
- },
- })
- animationKeyframes.push({
- start: 80,
- end: 101,
- func: () => {
- cube.rotation.x += 0.01
- cube.rotation.y += 0.01
- cube.position.x = lerp(20, -5, scalePercent(80, 100))
- camera.lookAt(lerp(cube.position.x - 10, cube.position.x + 10, scalePercent(80, 101)), cube.position.y, cube.position.z + 10)
- },
- })
-
- function playScrollAnimations() {
- animationKeyframes.forEach((a) => {
- if (scrollPercent >= a.start && scrollPercent < a.end) {
- a.func()
- }
- })
- }
-
- let scrollPercent = 0
- window.onscroll = () => {
- scrollPercent =
- ((document.documentElement.scrollTop || document.body.scrollTop) /
- ((document.documentElement.scrollHeight ||
- document.body.scrollHeight) -
- document.documentElement.clientHeight)) *
- 100;
- }
-
- function animate() {
- requestAnimationFrame(animate);
- playScrollAnimations()
- renderer.render(scene, camera);
- }
- window.scrollTo({ top: 0, behavior: 'smooth' })
- animate();
- }, [])
+function App() {
return (
- <main ref={refContainer}>
- <h1>Website Under Construction</h1>
- <section className='left'>
- <h2>Steven Liu</h2>
- <p>Web- and Game-developer and GNU/Linux enthusiast.</p>
- <button onClick={() => { window.location.assign("https://gitlab.com/stvnliu"); }}>My GitLab page</button>
- <button onClick={() => { window.location.assign("/assets/resume.pdf"); }}>Read my CV</button>
- </section>
- <section className='right'>
- <h2>Extended Project Qualification</h2>
-
+ <div className="App">
+ <div className="aboutme">
+ <h1>Zhongheng Liu</h1>
+ <p>-- Web developer and GNU/Linux enthusiast.</p>
+ <button onClick={() => { window.location.assign("/assets/resume.pdf"); }}>Learn more</button>
+ <button onClick={() => { window.location.assign("https://gitlab.com/stvnliu"); }}>My GitLab</button>
+ </div>
+ <div className="projects">
+ <h1>My projects</h1>
+ <p>These are mostly hobbyist programming projects</p>
+ <hr></hr>
+ <h3><a href='https://gitlab.com/stvnliu/proteinpedia-next'>
+ proteinpedia-next
+ </a>
+ </h3>
+ <p>A content management platform for displaying and managing informatio
+ n of proteins and other chemical</p>
+ <hr></hr>
<h3><a href="/assets/paper.pdf">How can privacy and web inter-connectivity be
enshrined as core principles in self-hosted online chat applications?
</a></h3>
<p>An Edexcel Level 3 Artifact Extended Project Qualification (EPQ) on
the topic of web chat applications, awarded an A* grade by Edexcel</p>
<p>You may find the relevant GitLab repositories here:</p>
- <span>
- GitHub repositories for
- <a href="https://github.com/stvnliu/epq-web">web</a> and
- <a href="https://github.com/stvnliu/epq-api">backend API</a>
- </span><br />
- <span>
- GitLab repository for
- <a href="https://gitlab.com/stvnliu/epq-web">web</a> and
- <a href="https://gitlab.com/stvnliu/epq-api">backend API</a>
- </span>
- <hr />
-
- </section>
-
- <section className='left'>
- <h2><a href='https://gitlab.com/stvnliu/proteinpedia-next'>
- Proteinpedia
- </a>
- </h2>
- <p>A content management platform for displaying and managing informatio
- n of proteins and other chemical</p>
- <hr></hr>
- </section>
-
- <section className='right'>
- <h2>Changing Camera Position</h2>
- <p>The camera position is now changing</p>
- </section>
-
- <section className='left'>
- <h2>You are at the bottom</h2>
- <p>The cube will now be auto rotating</p>
- <p>
- Now you can scroll back to the top to reverse the animation
- </p>
- </section>
- </main>
- )
+ <span>
+ GitHub repositories for
+ <a href="https://github.com/stvnliu/epq-web">web</a> and
+ <a href="https://github.com/stvnliu/epq-api">backend API</a>
+ </span><br />
+ <span>
+ GitLab repository for
+ <a href="https://gitlab.com/stvnliu/epq-web">web</a> and
+ <a href="https://gitlab.com/stvnliu/epq-api">backend API</a>
+ </span>
+ </div>
+ </div>
+ );
}
+
+export default App;
diff --git a/app/src/Topbar/Topbar.tsx b/app/src/Topbar/Topbar.tsx
deleted file mode 100644
index 14ef0ec..0000000
--- a/app/src/Topbar/Topbar.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-export const Topbar = (): React.ReactElement => {
- return (<nav className="navbar navbar-expand-sm navbar-light bg-light">
- <a className="navbar-brand" href="#">Navbar</a>
- <button className="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#collapsibleNavId" aria-controls="collapsibleNavId"
- aria-expanded="false" aria-label="Toggle navigation">
- <span className="navbar-toggler-icon"></span>
- </button>
- <div className="collapse navbar-collapse" id="collapsibleNavId">
- <ul className="navbar-nav mr-auto mt-2 mt-lg-0">
- <li className="nav-item active">
- <a className="nav-link" href="#">Home <span className="sr-only">(current)</span></a>
- </li>
- <li className="nav-item">
- <a className="nav-link" href="#">Link</a>
- </li>
- <li className="nav-item dropdown">
- <a className="nav-link dropdown-toggle" href="#" id="dropdownId" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div className="dropdown-menu" aria-labelledby="dropdownId">
- <a className="dropdown-item" href="#">Action 1</a>
- <a className="dropdown-item" href="#">Action 2</a>
- </div>
- </li>
- </ul>
- <form className="form-inline my-2 my-lg-0">
- <input className="form-control mr-sm-2" type="text" placeholder="Search" />
- <button className="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
- </form>
- </div>
- </nav>)
-}; \ No newline at end of file
diff --git a/app/src/index.tsx b/app/src/index.tsx
index 6a6998b..032464f 100644
--- a/app/src/index.tsx
+++ b/app/src/index.tsx
@@ -1,13 +1,16 @@
import React from 'react';
import ReactDOM from 'react-dom/client';
+import './index.css';
+import App from './App';
import reportWebVitals from './reportWebVitals';
-import { ThreeApp } from './App';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
root.render(
- <ThreeApp />
+ <React.StrictMode>
+ <App />
+ </React.StrictMode>
);
// If you want to start measuring performance in your app, pass a function
diff --git a/app/src/texturemap.jpeg b/app/src/texturemap.jpeg
deleted file mode 100644
index c9e65e0..0000000
--- a/app/src/texturemap.jpeg
+++ /dev/null
Binary files differ
diff --git a/devenv.lock b/devenv.lock
index 9dd1ef2..47223a6 100644
--- a/devenv.lock
+++ b/devenv.lock
@@ -3,10 +3,11 @@
"devenv": {
"locked": {
"dir": "src/modules",
- "lastModified": 1733788855,
+ "lastModified": 1717245169,
"owner": "cachix",
"repo": "devenv",
- "rev": "d59fee8696cd48f69cf79f65992269df9891ba86",
+ "rev": "c3f9f053c077c6f88a3de5276d9178c62baa3fc3",
+ "treeHash": "ffc7c20cef5242169763c872296f00a8a8b5416d",
"type": "github"
},
"original": {
@@ -19,10 +20,11 @@
"flake-compat": {
"flake": false,
"locked": {
- "lastModified": 1733328505,
+ "lastModified": 1696426674,
"owner": "edolstra",
"repo": "flake-compat",
- "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
+ "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+ "treeHash": "2addb7b71a20a25ea74feeaf5c2f6a6b30898ecb",
"type": "github"
},
"original": {
@@ -43,6 +45,7 @@
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "treeHash": "ca14199cabdfe1a06a7b1654c76ed49100a689f9",
"type": "github"
},
"original": {
@@ -53,10 +56,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1733477122,
+ "lastModified": 1716977621,
"owner": "cachix",
"repo": "devenv-nixpkgs",
- "rev": "7bd9e84d0452f6d2e63b6e6da29fe73fac951857",
+ "rev": "4267e705586473d3e5c8d50299e71503f16a6fb6",
+ "treeHash": "6d9f1f7ca0faf1bc2eeb397c78a49623260d3412",
"type": "github"
},
"original": {
@@ -68,15 +72,16 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1734017764,
+ "lastModified": 1716991068,
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b",
+ "rev": "25cf937a30bf0801447f6bf544fc7486c6309234",
+ "treeHash": "67d550c2b5e96c6c1e2b317c54a37b4ca5fef106",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-24.05",
+ "ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
@@ -91,10 +96,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1734279981,
+ "lastModified": 1716213921,
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785",
+ "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
+ "treeHash": "17b9f9f9983467bcff247b09761dca9831d3d3be",
"type": "github"
},
"original": {