mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2026-02-18 23:22:40 +00:00
add nix development flake
This commit is contained in:
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
@@ -19,8 +19,7 @@ jobs:
|
|||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
cache: pip
|
cache: pip
|
||||||
- name: ⏬ Install Python dependencies
|
- name: ⏬ Install Python dependencies
|
||||||
run: python -m venv venv
|
run: pip install -r requirements.txt
|
||||||
- run: ./venv/bin/pip install -r requirements.txt
|
|
||||||
|
|
||||||
- name: 🐉 Use Node.js 18.16.x
|
- name: 🐉 Use Node.js 18.16.x
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ pnpm-lock.yaml
|
|||||||
package-lock.json
|
package-lock.json
|
||||||
yarn.lock
|
yarn.lock
|
||||||
|
|
||||||
static/languages/*/.json
|
static/languages/*.json
|
||||||
|
|||||||
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689752456,
|
||||||
|
"narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "7f256d7da238cb627ef189d56ed590739f42f13b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
40
flake.nix
Normal file
40
flake.nix
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
description = "A Nix-flake-based development environment for OpenStApps";
|
||||||
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
outputs = { self, nixpkgs }:
|
||||||
|
let
|
||||||
|
overlays = [
|
||||||
|
(final: prev: rec {
|
||||||
|
nodejs = prev.nodejs-18_x;
|
||||||
|
chrome = prev.google-chrome;
|
||||||
|
firefox = prev.firefox;
|
||||||
|
webkit = prev.epiphany; # Safari-ish browser
|
||||||
|
})
|
||||||
|
];
|
||||||
|
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||||
|
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit overlays system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
devShells = forEachSupportedSystem ({ pkgs }:
|
||||||
|
let
|
||||||
|
python = (pkgs.python311.withPackages(ps: with ps; [ brotli fonttools ] ++ (with fonttools.optional-dependencies; [ woff ])));
|
||||||
|
in
|
||||||
|
{
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
packages = with pkgs; [
|
||||||
|
node2nix
|
||||||
|
nodejs
|
||||||
|
python
|
||||||
|
firefox
|
||||||
|
chrome
|
||||||
|
webkit
|
||||||
|
];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "cccs",
|
"name": "amacc1ng",
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "cccs",
|
"name": "amacc1ng",
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -77,15 +77,9 @@ for (const icon of icons) {
|
|||||||
}
|
}
|
||||||
glyphs.sort()
|
glyphs.sort()
|
||||||
|
|
||||||
const pythonPath = "./venv/bin/python"
|
|
||||||
if (!existsSync(pythonPath)) {
|
|
||||||
throw new Error(`Expected a python virtual environment at ${pythonPath}`)
|
|
||||||
}
|
|
||||||
console.log(await run(`${pythonPath} --version`))
|
|
||||||
console.log(
|
console.log(
|
||||||
await run([
|
await run([
|
||||||
pythonPath,
|
"pyftsubset",
|
||||||
"-m fontTools.subset",
|
|
||||||
`"${config.inputPath}"`,
|
`"${config.inputPath}"`,
|
||||||
`--unicodes=${glyphs.join(",")}`,
|
`--unicodes=${glyphs.join(",")}`,
|
||||||
"--no-layout-closure",
|
"--no-layout-closure",
|
||||||
|
|||||||
Reference in New Issue
Block a user