Add ARM builds in CI (#1482)

This commit is contained in:
Uriel
2025-07-03 01:28:05 +02:00
committed by GitHub
parent 7874bbca27
commit 3ec6a61763
5 changed files with 180 additions and 618 deletions

View File

@@ -42,35 +42,46 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-22.04, windows-latest, macos-latest] os:
[
ubuntu-22.04,
windows-latest,
macos-latest,
ubuntu-22.04-arm,
windows-11-arm,
]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
env: env:
# Don't mark warnings as errors # Don't mark warnings as errors
CI: false CI: false
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'aarch64' || 'amd64' }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
submodules: recursive submodules: recursive
- if: matrix.os == 'ubuntu-22.04' - if: startsWith(matrix.os, 'ubuntu')
name: Set up Linux dependencies name: Set up Linux dependencies
uses: awalsh128/cache-apt-pkgs-action@v1.5.0 uses: awalsh128/cache-apt-pkgs-action@v1.5.0
with: with:
packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf packages: libgtk-3-dev webkit2gtk-4.1 libappindicator3-dev librsvg2-dev patchelf
# Increment to invalidate the cache # Increment to invalidate the cache
version: 1.0 version: ${{ format('v1.0-{0}', env.BUILD_ARCH) }}
# Enables a workaround to attempt to run pre and post install scripts # Enables a workaround to attempt to run pre and post install scripts
execute_install_scripts: true execute_install_scripts: true
# Disables uploading logs as a build artifact # Disables uploading logs as a build artifact
debug: false debug: false
- if: matrix.os == 'windows-11-arm'
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
- name: Cache cargo dependencies - name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
with:
shared-key: "${{ matrix.os }}"
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js
@@ -90,21 +101,21 @@ jobs:
NODE_OPTIONS: ${{ matrix.os == 'macos-latest' && '--max-old-space-size=4096' || '' }} NODE_OPTIONS: ${{ matrix.os == 'macos-latest' && '--max-old-space-size=4096' || '' }}
run: pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs ) run: pnpm run skipbundler --config $( ./gui/scripts/gitversion.mjs )
- if: matrix.os == 'windows-latest' - if: startsWith(matrix.os, 'windows')
name: Upload a Build Artifact (Windows) name: Upload a Build Artifact (Windows)
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
# Artifact name # Artifact name
name: SlimeVR-GUI-Windows name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
# A file, directory or wildcard pattern that describes what to upload # A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr.exe path: target/release/slimevr.exe
- if: matrix.os == 'ubuntu-22.04' - if: startsWith(matrix.os, 'ubuntu')
name: Upload a Build Artifact (Linux) name: Upload a Build Artifact (Linux)
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
# Artifact name # Artifact name
name: SlimeVR-GUI-Linux name: ${{ format('SlimeVR-GUI-Linux-{0}', env.BUILD_ARCH) }}
# A file, directory or wildcard pattern that describes what to upload # A file, directory or wildcard pattern that describes what to upload
path: target/release/slimevr path: target/release/slimevr

View File

@@ -29,8 +29,8 @@ jobs:
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: "17" java-version: '17'
distribution: "adopt" distribution: 'adopt'
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@v4 uses: gradle/actions/setup-gradle@v4
@@ -44,7 +44,6 @@ jobs:
- name: Test with Gradle - name: Test with Gradle
run: ./gradlew test run: ./gradlew test
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -59,8 +58,8 @@ jobs:
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: "17" java-version: '17'
distribution: "adopt" distribution: 'adopt'
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@v4 uses: gradle/actions/setup-gradle@v4
@@ -72,7 +71,7 @@ jobs:
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
# Artifact name # Artifact name
name: "SlimeVR-Server" # optional, default is artifact name: 'SlimeVR-Server' # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload # A file, directory or wildcard pattern that describes what to upload
path: server/desktop/build/libs/slimevr.jar path: server/desktop/build/libs/slimevr.jar
@@ -85,7 +84,6 @@ jobs:
files: | files: |
server/desktop/build/libs/slimevr.jar server/desktop/build/libs/slimevr.jar
bundle-android: bundle-android:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -99,8 +97,8 @@ jobs:
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: "17" java-version: '17'
distribution: "adopt" distribution: 'adopt'
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@v4 uses: gradle/actions/setup-gradle@v4
@@ -127,7 +125,7 @@ jobs:
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
# Artifact name # Artifact name
name: "SlimeVR-Android" # optional, default is artifact name: 'SlimeVR-Android' # optional, default is artifact
# A file, directory or wildcard pattern that describes what to upload # A file, directory or wildcard pattern that describes what to upload
path: server/android/build/outputs/apk/* path: server/android/build/outputs/apk/*
@@ -145,11 +143,16 @@ jobs:
files: | files: |
./SlimeVR-android.apk ./SlimeVR-android.apk
bundle-linux: bundle-linux:
runs-on: ubuntu-24.04 strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm]
runs-on: ${{ matrix.os }}
needs: [build, test] needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name) if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
env:
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'aarch64' || 'amd64' }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@@ -157,7 +160,7 @@ jobs:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: "SlimeVR-Server" name: 'SlimeVR-Server'
path: server/desktop/build/libs/ path: server/desktop/build/libs/
- name: Set up Linux dependencies - name: Set up Linux dependencies
@@ -166,7 +169,7 @@ jobs:
packages: | packages: |
build-essential curl wget file libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev build-essential curl wget file libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev
# Increment to invalidate the cache # Increment to invalidate the cache
version: 2.0 version: ${{ format('v1.0-{0}', env.BUILD_ARCH) }}
# Enables a workaround to attempt to run pre and post install scripts # Enables a workaround to attempt to run pre and post install scripts
execute_install_scripts: true execute_install_scripts: true
# Disables uploading logs as a build artifact # Disables uploading logs as a build artifact
@@ -184,8 +187,6 @@ jobs:
- name: Cache cargo dependencies - name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
with:
shared-key: "ubuntu-22.04"
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js
@@ -207,31 +208,32 @@ jobs:
tar czf slimevr-gui-dist.tar.gz -C gui/dist/ . tar czf slimevr-gui-dist.tar.gz -C gui/dist/ .
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest'
with: with:
name: SlimeVR-GUI-Dist name: SlimeVR-GUI-Dist
path: ./slimevr-gui-dist.tar.gz path: ./slimevr-gui-dist.tar.gz
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: SlimeVR-GUI-Deb name: ${{ format('SlimeVR-GUI-Deb-{0}', env.BUILD_ARCH) }}
path: target/release/bundle/deb/slimevr*.deb path: target/release/bundle/deb/slimevr*.deb
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: SlimeVR-GUI-AppImage name: ${{ format('SlimeVR-GUI-AppImage-{0}', env.BUILD_ARCH) }}
path: target/release/bundle/appimage/slimevr*.AppImage path: target/release/bundle/appimage/slimevr*.AppImage
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: SlimeVR-GUI-RPM name: ${{ format('SlimeVR-GUI-RPM-{0}', env.BUILD_ARCH) }}
path: target/release/bundle/rpm/slimevr*.rpm path: target/release/bundle/rpm/slimevr*.rpm
- name: Prepare for release - name: Prepare for release
if: startsWith(github.ref, 'refs/tags/') if: startsWith(github.ref, 'refs/tags/')
run: | run: |
cp target/release/bundle/appimage/slimevr*.AppImage ./SlimeVR-amd64.appimage cp target/release/bundle/appimage/slimevr*.AppImage "./SlimeVR-$BUILD_ARCH.appimage"
cp target/release/bundle/deb/slimevr*.deb ./SlimeVR-amd64.deb cp target/release/bundle/deb/slimevr*.deb "./SlimeVR-$BUILD_ARCH.deb"
cp target/release/bundle/rpm/slimevr*.rpm ./SlimeVR-amd64.rpm cp target/release/bundle/rpm/slimevr*.rpm "./SlimeVR-$BUILD_ARCH.rpm"
- name: Upload to draft release - name: Upload to draft release
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
@@ -241,10 +243,9 @@ jobs:
generate_release_notes: true generate_release_notes: true
files: | files: |
./slimevr-gui-dist.tar.gz ./slimevr-gui-dist.tar.gz
./SlimeVR-amd64.appimage ./SlimeVR-*.appimage
./SlimeVR-amd64.deb ./SlimeVR-*.deb
./SlimeVR-amd64.rpm ./SlimeVR-*.rpm
bundle-mac: bundle-mac:
runs-on: macos-latest runs-on: macos-latest
@@ -257,13 +258,11 @@ jobs:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: "SlimeVR-Server" name: 'SlimeVR-Server'
path: server/desktop/build/libs/ path: server/desktop/build/libs/
- name: Cache cargo dependencies - name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
with:
shared-key: "macos-latest"
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js
@@ -322,11 +321,16 @@ jobs:
files: | files: |
./SlimeVR-mac.dmg ./SlimeVR-mac.dmg
bundle-windows: bundle-windows:
runs-on: windows-latest strategy:
matrix:
os: [windows-latest, windows-11-arm]
runs-on: ${{ matrix.os }}
needs: [build, test] needs: [build, test]
if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name) if: contains(fromJSON('["workflow_dispatch", "create"]'), github.event_name)
env:
BUILD_ARCH: ${{ endsWith(matrix.os, 'arm') && 'win-aarch64' || 'win64' }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@@ -334,13 +338,16 @@ jobs:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: "SlimeVR-Server" name: 'SlimeVR-Server'
path: server/desktop/build/libs/ path: server/desktop/build/libs/
- if: matrix.os == 'windows-11-arm'
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: false
- name: Cache cargo dependencies - name: Cache cargo dependencies
uses: Swatinem/rust-cache@v2 uses: Swatinem/rust-cache@v2
with:
shared-key: "windows-latest"
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
- name: Use Node.js - name: Use Node.js
@@ -367,11 +374,11 @@ jobs:
cp server/desktop/build/libs/slimevr.jar ./SlimeVR/slimevr.jar cp server/desktop/build/libs/slimevr.jar ./SlimeVR/slimevr.jar
cp server/core/resources/* ./SlimeVR/ cp server/core/resources/* ./SlimeVR/
cp target/release/slimevr.exe ./SlimeVR/ cp target/release/slimevr.exe ./SlimeVR/
7z a -tzip SlimeVR-win64.zip ./SlimeVR/ 7z a -tzip "SlimeVR-$BUILD_ARCH.zip" ./SlimeVR/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: SlimeVR-GUI-Windows name: ${{ format('SlimeVR-GUI-Windows-{0}', env.BUILD_ARCH) }}
path: ./SlimeVR*.zip path: ./SlimeVR*.zip
- name: Upload to draft release - name: Upload to draft release
@@ -380,4 +387,4 @@ jobs:
with: with:
draft: true draft: true
generate_release_notes: true generate_release_notes: true
files: ./SlimeVR-win64.zip files: ./SlimeVR-*.zip

View File

@@ -1 +1 @@
18.12.1 22.17.0

683
flake.lock generated
View File

@@ -2,14 +2,15 @@
"nodes": { "nodes": {
"cachix": { "cachix": {
"inputs": { "inputs": {
"devenv": "devenv_2", "devenv": [
"devenv"
],
"flake-compat": [ "flake-compat": [
"devenv", "devenv"
"flake-compat"
], ],
"git-hooks": [ "git-hooks": [
"devenv", "devenv",
"pre-commit-hooks" "git-hooks"
], ],
"nixpkgs": [ "nixpkgs": [
"devenv", "devenv",
@@ -17,51 +18,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1726520618, "lastModified": 1748883665,
"narHash": "sha256-jOsaBmJ/EtX5t/vbylCdS7pWYcKGmWOKg4QKUzKr6dA=", "narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=",
"owner": "cachix", "owner": "cachix",
"repo": "cachix", "repo": "cachix",
"rev": "695525f9086542dfb09fde0871dbf4174abbf634", "rev": "f707778d902af4d62d8dd92c269f8e70de09acbe",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "cachix",
"type": "github"
}
},
"cachix_2": {
"inputs": {
"devenv": "devenv_3",
"flake-compat": [
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"pre-commit-hooks": [
"devenv",
"cachix",
"devenv",
"pre-commit-hooks"
]
},
"locked": {
"lastModified": 1712055811,
"narHash": "sha256-7FcfMm5A/f02yyzuavJe06zLa9hcMHsagE28ADcmQvk=",
"owner": "cachix",
"repo": "cachix",
"rev": "02e38da89851ec7fec3356a5c04bc8349cae0e30",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "cachix",
"ref": "latest",
"repo": "cachix", "repo": "cachix",
"type": "github" "type": "github"
} }
@@ -69,92 +35,23 @@
"devenv": { "devenv": {
"inputs": { "inputs": {
"cachix": "cachix", "cachix": "cachix",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat",
"nix": "nix_3", "git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks_2"
},
"locked": {
"lastModified": 1730213537,
"narHash": "sha256-bWoeNdFISbGK8M0Xw4edmManGCkJ1oNqbfNY0Hlv9Vc=",
"owner": "cachix",
"repo": "devenv",
"rev": "5c046eeafd13f7a2b9fc733f70ea17571b24410f",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_2": {
"inputs": {
"cachix": "cachix_2",
"flake-compat": [
"devenv",
"cachix",
"flake-compat"
],
"nix": "nix_2",
"nixpkgs": [
"devenv",
"cachix",
"nixpkgs"
],
"pre-commit-hooks": [
"devenv",
"cachix",
"git-hooks"
]
},
"locked": {
"lastModified": 1723156315,
"narHash": "sha256-0JrfahRMJ37Rf1i0iOOn+8Z4CLvbcGNwa2ChOAVrp/8=",
"owner": "cachix",
"repo": "devenv",
"rev": "ff5eb4f2accbcda963af67f1a1159e3f6c7f5f91",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"devenv_3": {
"inputs": {
"flake-compat": [
"devenv",
"cachix",
"devenv",
"cachix",
"flake-compat"
],
"nix": "nix", "nix": "nix",
"nixpkgs": "nixpkgs", "nixpkgs": [
"poetry2nix": "poetry2nix", "nixpkgs"
"pre-commit-hooks": [
"devenv",
"cachix",
"devenv",
"cachix",
"pre-commit-hooks"
] ]
}, },
"locked": { "locked": {
"lastModified": 1708704632, "lastModified": 1750800495,
"narHash": "sha256-w+dOIW60FKMaHI1q5714CSibk99JfYxm0CzTinYWr+Q=", "narHash": "sha256-wBTGFNCx3Gr3BkNkEoFrKx9+d7otSdQesCDCPGDKZHk=",
"owner": "cachix", "owner": "cachix",
"repo": "devenv", "repo": "devenv",
"rev": "2ee4450b0f4b95a1b90f2eb5ffea98b90e48c196", "rev": "b33ab3610c084a7e3fabc5eefaeb437449f1efe7",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "cachix",
"ref": "python-rewrite",
"repo": "devenv", "repo": "devenv",
"type": "github" "type": "github"
} }
@@ -167,11 +64,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1730270567, "lastModified": 1750833544,
"narHash": "sha256-ZTBMwsY0i5zTT6rejotc9wqcSGkEgAeejXktJBo9Z5M=", "narHash": "sha256-e5W27mfPGiM35qr0DjTUzLHP4ET2MbvRc4HJHScw/ko=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "6535bb2a77a3bec73cc5b2d2ff63da8a479e32bd", "rev": "c3940d9ff4d37e965e5841149367234c2aad1ab6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -183,27 +80,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1747046372,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -221,11 +102,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712014858, "lastModified": 1733312601,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -239,11 +120,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1727826117, "lastModified": 1749398372,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -252,57 +133,6 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"locked": { "locked": {
"lastModified": 1659877975, "lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
@@ -317,17 +147,41 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1749636823,
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "623c56286de5a3193aa38891a6991b28f9bab056",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"devenv", "devenv",
"pre-commit-hooks", "git-hooks",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1709087332, "lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "gitignore.nix", "repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
@@ -339,22 +193,6 @@
"type": "github" "type": "github"
} }
}, },
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"repo": "libgit2",
"type": "github"
}
},
"mk-shell-bin": { "mk-shell-bin": {
"locked": { "locked": {
"lastModified": 1677004959, "lastModified": 1677004959,
@@ -371,142 +209,62 @@
} }
}, },
"nix": { "nix": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688870561,
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix2container": {
"inputs": {
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1729339656,
"narHash": "sha256-smV7HQ/OqZeRguQxNjsb3uQDwm0p6zKDbSDbPCav/oY=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "cc96df7c3747c61c584d757cfc083922b4f4b33e",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nix_2": {
"inputs": {
"flake-compat": [
"devenv",
"cachix",
"devenv",
"flake-compat"
],
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression_2"
},
"locked": {
"lastModified": 1712911606,
"narHash": "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=",
"owner": "domenkozar",
"repo": "nix",
"rev": "b24a9318ea3f3600c1e24b4a00691ee912d4de12",
"type": "github"
},
"original": {
"owner": "domenkozar",
"ref": "devenv-2.21",
"repo": "nix",
"type": "github"
}
},
"nix_3": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
"devenv", "devenv",
"flake-compat" "flake-compat"
], ],
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"libgit2": "libgit2", "git-hooks-nix": [
"nixpkgs": "nixpkgs_2", "devenv",
"nixpkgs-23-11": "nixpkgs-23-11", "git-hooks"
"nixpkgs-regression": "nixpkgs-regression_3", ],
"pre-commit-hooks": "pre-commit-hooks" "nixpkgs": "nixpkgs",
"nixpkgs-23-11": [
"devenv"
],
"nixpkgs-regression": [
"devenv"
]
}, },
"locked": { "locked": {
"lastModified": 1727438425, "lastModified": 1750117611,
"narHash": "sha256-X8ES7I1cfNhR9oKp06F6ir4Np70WGZU5sfCOuNBEwMg=", "narHash": "sha256-LTwASICtyN3AjzlF9l2ZNAIVZqclio3yRcwwZy3QSJA=",
"owner": "domenkozar", "owner": "cachix",
"repo": "nix", "repo": "nix",
"rev": "f6c5ae4c1b2e411e6b1e6a8181cc84363d6a7546", "rev": "9e4fc95c388e2223d47da865503dee20d179776a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "domenkozar", "owner": "cachix",
"ref": "devenv-2.24", "ref": "devenv-2.30",
"repo": "nix", "repo": "nix",
"type": "github" "type": "github"
} }
}, },
"nix2container": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1749158376,
"narHash": "sha256-uirStFNxauh0lxzBowcp28X+Sq7JgsBIDnbwbAfZwf8=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "0f8974c58755dba441df03598eefd1e1cd50e341",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nixgl": { "nixgl": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@@ -527,135 +285,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1692808169, "lastModified": 1747179050,
"narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=", "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9201b5ff357e781bf014d0330d18555695df7ba8", "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1727825735,
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-regression_2": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-regression_3": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1729880355,
"narHash": "sha256-RP+OQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "18536bf04cd71abd345f9579158841376fdd0c5a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -665,93 +299,34 @@
"type": "github" "type": "github"
} }
}, },
"poetry2nix": { "nixpkgs-lib": {
"inputs": {
"flake-utils": "flake-utils",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"devenv",
"cachix",
"devenv",
"cachix",
"devenv",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1692876271, "lastModified": 1748740939,
"narHash": "sha256-IXfZEkI0Mal5y1jr6IRWMqK8GW2/f28xJenZIPQqkY0=", "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "poetry2nix", "repo": "nixpkgs.lib",
"rev": "d5006be9c2c2417dafb2e2e5034d83fabd207ee3", "rev": "656a64127e9d791a334452c6b6606d17539476e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "poetry2nix", "repo": "nixpkgs.lib",
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": { "nixpkgs_2": {
"inputs": {
"flake-compat": [
"devenv",
"nix"
],
"flake-utils": "flake-utils_2",
"gitignore": [
"devenv",
"nix"
],
"nixpkgs": [
"devenv",
"nix",
"nixpkgs"
],
"nixpkgs-stable": [
"devenv",
"nix",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1712897695, "lastModified": 1750741721,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", "narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
"owner": "cachix", "owner": "NixOS",
"repo": "pre-commit-hooks.nix", "repo": "nixpkgs",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", "rev": "4b1164c3215f018c4442463a27689d973cffd750",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "NixOS",
"repo": "pre-commit-hooks.nix", "ref": "nixos-unstable",
"type": "github" "repo": "nixpkgs",
}
},
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": [
"devenv",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"devenv",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1726745158,
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github" "type": "github"
} }
}, },
@@ -763,17 +338,17 @@
"mk-shell-bin": "mk-shell-bin", "mk-shell-bin": "mk-shell-bin",
"nix2container": "nix2container", "nix2container": "nix2container",
"nixgl": "nixgl", "nixgl": "nixgl",
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_2"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1730197931, "lastModified": 1750788942,
"narHash": "sha256-MjYc80pHGrD6TYMHHpXniCW0egVyHiDR23xAh7MN7Ww=", "narHash": "sha256-bBSdUlEw/7xh66rtMEDg39xQUNN2VaDJIbRPIwhpFYk=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "468b5cd43023d9771996b06ab7215997895a6059", "rev": "c68c8a81a7d2979778ae1e8ba024beacb4fff6b6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -782,36 +357,6 @@
"repo": "rust-analyzer", "repo": "rust-analyzer",
"type": "github" "type": "github"
} }
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -78,7 +78,6 @@
cacert cacert
]) ])
++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [ ++ lib.optionals pkgs.stdenv.isLinux (with pkgs; [
appimagekit
atk atk
cairo cairo
dbus dbus