Set up dev environment
This commit is contained in:
parent
d3135baf70
commit
ec499f9692
5 changed files with 207 additions and 0 deletions
1
.envrc
Normal file
1
.envrc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
use flake
|
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
.direnv
|
||||||
|
.venv
|
||||||
|
.west
|
||||||
|
modules
|
||||||
|
zmk
|
28
Justfile
Normal file
28
Justfile
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
default:
|
||||||
|
@just --list --unsorted
|
||||||
|
|
||||||
|
# build firmware
|
||||||
|
build:
|
||||||
|
echo "Building firmware..."
|
||||||
|
|
||||||
|
# clear build cache
|
||||||
|
clean:
|
||||||
|
rm -rf build
|
||||||
|
|
||||||
|
# list all build targets
|
||||||
|
list:
|
||||||
|
echo "TBD"
|
||||||
|
|
||||||
|
# initialize west
|
||||||
|
init:
|
||||||
|
west init -l config
|
||||||
|
west update
|
||||||
|
west zephyr-export
|
||||||
|
|
||||||
|
# upgrade west
|
||||||
|
upgrade:
|
||||||
|
west update
|
||||||
|
|
||||||
|
# upgrade zephyr
|
||||||
|
upgrade-zephyr:
|
||||||
|
nix flake update --flake .
|
142
flake.lock
generated
Normal file
142
flake.lock
generated
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"mdbook-nixdoc": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": [
|
||||||
|
"zephyr-nix",
|
||||||
|
"pyproject-nix",
|
||||||
|
"nix-github-actions"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"zephyr-nix",
|
||||||
|
"pyproject-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708395692,
|
||||||
|
"narHash": "sha256-smf0VmxGbjJDZqKvxxG3ZVqubgbVwAWG26wPo+BT/A0=",
|
||||||
|
"owner": "adisbladis",
|
||||||
|
"repo": "mdbook-nixdoc",
|
||||||
|
"rev": "d6a71b114b9221c0b4f20d31b81766d072cc26be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "adisbladis",
|
||||||
|
"repo": "mdbook-nixdoc",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"zephyr-nix",
|
||||||
|
"pyproject-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1701208414,
|
||||||
|
"narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720535198,
|
||||||
|
"narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"mdbook-nixdoc": "mdbook-nixdoc",
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"zephyr-nix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1708414356,
|
||||||
|
"narHash": "sha256-neHF92cht4G94Ye1j9YgLeqdE0dGL920lQQMLTqNm9A=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "f75d39ce888632500bf4cff2197784929d3ed265",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"zephyr": "zephyr",
|
||||||
|
"zephyr-nix": "zephyr-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zephyr": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1697797249,
|
||||||
|
"narHash": "sha256-72QFsKOWkF6BiP4XgZAXXSBcN4t6yvhAeXCpgCYrhe8=",
|
||||||
|
"owner": "zephyrproject-rtos",
|
||||||
|
"repo": "zephyr",
|
||||||
|
"rev": "a6eef0ba3755f2530c5ce93524e5ac4f5be30194",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zephyrproject-rtos",
|
||||||
|
"ref": "v3.5.0",
|
||||||
|
"repo": "zephyr",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zephyr-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"zephyr": [
|
||||||
|
"zephyr"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720132542,
|
||||||
|
"narHash": "sha256-5o5qhBec7GABj/x3LPOVQn8W9iyyLTqH+FMLe454HOc=",
|
||||||
|
"owner": "urob",
|
||||||
|
"repo": "zephyr-nix",
|
||||||
|
"rev": "6339867e76405b7e84270b908c2ab6deca5f6d8d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "urob",
|
||||||
|
"repo": "zephyr-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
31
flake.nix
Normal file
31
flake.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
# Pin to 23.11 to provide python38 dependency for sdk
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
|
# Zephyr version determining which requirements.txt to use to install python dependencies
|
||||||
|
zephyr.url = "github:zephyrproject-rtos/zephyr/v3.5.0";
|
||||||
|
zephyr.flake = false;
|
||||||
|
|
||||||
|
# Zephyr sdk and host tools
|
||||||
|
zephyr-nix.url = "github:urob/zephyr-nix";
|
||||||
|
zephyr-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
zephyr-nix.inputs.zephyr.follows = "zephyr";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, zephyr-nix, ... }: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
zephyr = zephyr-nix.packages.${system};
|
||||||
|
in {
|
||||||
|
devShells.${system}.default = pkgs.mkShell {
|
||||||
|
packages = [
|
||||||
|
zephyr.sdkFull
|
||||||
|
zephyr.pythonEnv
|
||||||
|
# zephyr.hosttools
|
||||||
|
pkgs.cmake
|
||||||
|
pkgs.ninja
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue