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