Compare commits
3 commits
bd785a63c9
...
8a129be532
Author | SHA1 | Date | |
---|---|---|---|
Artemis Tosini | 8a129be532 | ||
Artemis Tosini | 489dcfacd7 | ||
Artemis Tosini | 39326b7975 |
23
flake.lock
23
flake.lock
|
@ -10,11 +10,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711597760,
|
||||
"narHash": "sha256-SQ5ixJU33jjgSOrloFkuhvbKPy2FVREVNc96caEHYAY=",
|
||||
"lastModified": 1717636858,
|
||||
"narHash": "sha256-4NTFcQODSvySNCBz++O5SrcSFwU/xyqDS++s6HIzUEU=",
|
||||
"ref": "refs/heads/canon",
|
||||
"rev": "be4c446e1dc3391b353b07a701bed21db5b025bb",
|
||||
"revCount": 46,
|
||||
"rev": "4dc6a6a61ae68c559f56f28c778ddb1ebc8c9f9e",
|
||||
"revCount": 49,
|
||||
"type": "git",
|
||||
"url": "https://git.mildlyfunctional.gay/artemist/packages.git"
|
||||
},
|
||||
|
@ -25,11 +25,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716715802,
|
||||
"narHash": "sha256-usk0vE7VlxPX8jOavrtpOqphdfqEQpf9lgedlY/r66c=",
|
||||
"lastModified": 1720181791,
|
||||
"narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e2dd4e18cc1c7314e24154331bae07df76eb582f",
|
||||
"rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -49,19 +49,16 @@
|
|||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716689906,
|
||||
"narHash": "sha256-tQYQM9zT4P1fFf739/AIZuTIGPxtEIpV7K7VieU60Io=",
|
||||
"lastModified": 1720318855,
|
||||
"narHash": "sha256-w3CCVK9LJ5aznXGkO1IyAlbvMNJfyA+dBF7Z1Zwx1LA=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "3b6e1e221b04965427f3eee11fd6b6ea7b5f579b",
|
||||
"rev": "3eed08a074cd2000884a69d448d70da2843f7103",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
184
flake.nix
184
flake.nix
|
@ -13,8 +13,16 @@
|
|||
inputs.flake-utils.follows = "utils";
|
||||
};
|
||||
};
|
||||
outputs = { self, nixpkgs, utils, artemist-packages, rust-overlay }:
|
||||
utils.lib.eachDefaultSystem (system:
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
utils,
|
||||
artemist-packages,
|
||||
rust-overlay,
|
||||
}:
|
||||
utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
|
@ -23,72 +31,94 @@
|
|||
rust-overlay.overlays.default
|
||||
];
|
||||
};
|
||||
in rec {
|
||||
devShells.zephyr =
|
||||
artemist-packages.devShells.${system}.zephyr.override {
|
||||
toolchains = with pkgs.zephyrPackages.toolchains; [
|
||||
arm-zephyr-eabi
|
||||
riscv64-zephyr-elf
|
||||
];
|
||||
modules = with pkgs.zephyrPackages.modules; [
|
||||
mbedtls
|
||||
hal_rpi_pico
|
||||
hal_atmel
|
||||
cmsis
|
||||
];
|
||||
extraPackages = with pkgs; [ pyocd ];
|
||||
};
|
||||
in
|
||||
rec {
|
||||
devShells.zephyr = artemist-packages.devShells.${system}.zephyr.override {
|
||||
toolchains = with pkgs.zephyrPackages.toolchains; [
|
||||
arm-zephyr-eabi
|
||||
riscv64-zephyr-elf
|
||||
];
|
||||
modules = with pkgs.zephyrPackages.modules; [
|
||||
mbedtls
|
||||
hal_rpi_pico
|
||||
hal_atmel
|
||||
cmsis
|
||||
];
|
||||
extraPackages = with pkgs; [ pyocd ];
|
||||
};
|
||||
devShells.zephyr-west = devShells.zephyr.override {
|
||||
enableWest = true;
|
||||
zephyrSrc = null;
|
||||
modules = [ ];
|
||||
};
|
||||
devShells.rust-embedded = let
|
||||
rust = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [ "rust-src" "llvm-tools-preview" "clippy" ];
|
||||
# just use all of them, why not
|
||||
targets = [
|
||||
"thumbv6m-none-eabi"
|
||||
"thumbv7m-none-eabi"
|
||||
"thumbv7em-none-eabi"
|
||||
"thumbv7em-none-eabihf"
|
||||
"riscv32imac-unknown-none-elf"
|
||||
];
|
||||
};
|
||||
rust-form = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "form";
|
||||
version = "0.10.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "djmcgill";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cqoc2sTtVdhTAQ65oaJKo1+YMfQu7eHCe8zjRPDz9zg=";
|
||||
devShells.rust-embedded =
|
||||
let
|
||||
rust = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [
|
||||
"rust-src"
|
||||
"llvm-tools-preview"
|
||||
"clippy"
|
||||
];
|
||||
# just use all of them, why not
|
||||
targets = [
|
||||
"thumbv6m-none-eabi"
|
||||
"thumbv7m-none-eabi"
|
||||
"thumbv7em-none-eabi"
|
||||
"thumbv7em-none-eabihf"
|
||||
"riscv32imac-unknown-none-elf"
|
||||
];
|
||||
};
|
||||
cargoHash = "sha256-dhPp93AH4VlOVJWXMMUwv8b53vLPdBY3WyaXE4kcEm4=";
|
||||
};
|
||||
in with pkgs;
|
||||
mkShell {
|
||||
packages = [
|
||||
cargo-binutils
|
||||
cargo-generate
|
||||
gdb
|
||||
openocd
|
||||
probe-rs
|
||||
rust
|
||||
rust-form
|
||||
svd2rust
|
||||
svdtools
|
||||
rust-form = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "form";
|
||||
version = "0.10.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "djmcgill";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cqoc2sTtVdhTAQ65oaJKo1+YMfQu7eHCe8zjRPDz9zg=";
|
||||
};
|
||||
cargoHash = "sha256-dhPp93AH4VlOVJWXMMUwv8b53vLPdBY3WyaXE4kcEm4=";
|
||||
};
|
||||
in
|
||||
with pkgs;
|
||||
mkShell {
|
||||
packages = [
|
||||
cargo-binutils
|
||||
cargo-generate
|
||||
gdb
|
||||
openocd
|
||||
probe-rs
|
||||
rust
|
||||
rust-form
|
||||
svd2rust
|
||||
svdtools
|
||||
|
||||
];
|
||||
RUST_SRC_PATH = "${rust}/lib/rustlib/src/rust/library";
|
||||
};
|
||||
devShells.avr = with pkgs;
|
||||
];
|
||||
RUST_SRC_PATH = "${rust}/lib/rustlib/src/rust/library";
|
||||
};
|
||||
devShells.rust =
|
||||
with pkgs;
|
||||
mkShell {
|
||||
nativeBuildInputs = [
|
||||
rustc
|
||||
cargo
|
||||
rustfmt
|
||||
clippy
|
||||
];
|
||||
RUST_SRC_PATH = "${rust.packages.stable.rustPlatform.rustLibSrc}";
|
||||
};
|
||||
devShells.avr =
|
||||
with pkgs;
|
||||
pkgsCross.avr.mkShell {
|
||||
packages = [ avrdude gnumake ];
|
||||
packages = [
|
||||
avrdude
|
||||
gnumake
|
||||
];
|
||||
|
||||
LIBC = pkgsCross.avr.avrlibc;
|
||||
};
|
||||
devShells.emoji = with pkgs;
|
||||
devShells.emoji =
|
||||
with pkgs;
|
||||
mkShell {
|
||||
packages = [
|
||||
chromedriver
|
||||
|
@ -100,32 +130,34 @@
|
|||
python3Packages.trio
|
||||
python3Packages.gql
|
||||
(python3Packages.selenium.overrideAttrs (old: {
|
||||
postInstall = old.postInstall + ''
|
||||
for ver in v85 v120 v121 v122; do
|
||||
DEVTOOLS=../common/devtools/chromium/$ver
|
||||
for proto in js browser; do
|
||||
python3 ../common/devtools/convert_protocol_to_json.py \
|
||||
$DEVTOOLS/"$proto"_protocol.pdl \
|
||||
--map_binary_to_string=true \
|
||||
$DEVTOOLS/"$proto"_protocol.json
|
||||
postInstall =
|
||||
old.postInstall
|
||||
+ ''
|
||||
for ver in v85 v120 v121 v122; do
|
||||
DEVTOOLS=../common/devtools/chromium/$ver
|
||||
for proto in js browser; do
|
||||
python3 ../common/devtools/convert_protocol_to_json.py \
|
||||
$DEVTOOLS/"$proto"_protocol.pdl \
|
||||
--map_binary_to_string=true \
|
||||
$DEVTOOLS/"$proto"_protocol.json
|
||||
done
|
||||
mkdir -p $DST_PREFIX/common/devtools/$ver
|
||||
python3 generate.py \
|
||||
$DEVTOOLS/browser_protocol.json \
|
||||
$DEVTOOLS/js_protocol.json \
|
||||
$DST_PREFIX/common/devtools/$ver
|
||||
done
|
||||
mkdir -p $DST_PREFIX/common/devtools/$ver
|
||||
python3 generate.py \
|
||||
$DEVTOOLS/browser_protocol.json \
|
||||
$DEVTOOLS/js_protocol.json \
|
||||
$DST_PREFIX/common/devtools/$ver
|
||||
done
|
||||
'';
|
||||
'';
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs
|
||||
++ [ python3Packages.inflection ];
|
||||
nativeBuildInputs = old.nativeBuildInputs ++ [ python3Packages.inflection ];
|
||||
}))
|
||||
];
|
||||
|
||||
CHROME = "${chromium}/bin/chromium";
|
||||
};
|
||||
devShells.typst = with pkgs; mkShell { packages = [ typst ]; };
|
||||
formatter = pkgs.nixfmt;
|
||||
});
|
||||
formatter = pkgs.nixfmt-rfc-style;
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -12,4 +12,5 @@ let
|
|||
}
|
||||
];
|
||||
};
|
||||
in system.config.system.build.sdImage
|
||||
in
|
||||
system.config.system.build.sdImage
|
||||
|
|
|
@ -7,7 +7,8 @@ let
|
|||
rev = "1.4.0";
|
||||
sha256 = "sha256-i3IAaNcd0EfKNvU104a776O1poDAChlx1m+nP8iFn8E=";
|
||||
};
|
||||
in mkShell rec {
|
||||
in
|
||||
mkShell rec {
|
||||
name = "pico-env";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
|
1
rust/.envrc
Normal file
1
rust/.envrc
Normal file
|
@ -0,0 +1 @@
|
|||
use flake ..#rust
|
Loading…
Reference in a new issue