forked from M-Labs/thermostat
flake.nix: nixfmt-rfc-style
This commit is contained in:
parent
a531978d96
commit
dcc4a4578a
54
flake.nix
54
flake.nix
|
@ -1,26 +1,31 @@
|
||||||
{
|
{
|
||||||
description = "Firmware for the Sinara 8451 Thermostat";
|
description = "Firmware for the Sinara 8451 Thermostat";
|
||||||
|
|
||||||
inputs.nixpkgs.url = github:NixOS/nixpkgs/nixos-23.05;
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||||
inputs.mozilla-overlay = { url = github:mozilla/nixpkgs-mozilla; flake = false; };
|
inputs.mozilla-overlay = {
|
||||||
|
url = "github:mozilla/nixpkgs-mozilla";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, mozilla-overlay }:
|
outputs = { self, nixpkgs, mozilla-overlay, }:
|
||||||
let
|
let
|
||||||
pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ (import mozilla-overlay) ]; };
|
pkgs = import nixpkgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
overlays = [ (import mozilla-overlay) ];
|
||||||
|
};
|
||||||
rustManifest = pkgs.fetchurl {
|
rustManifest = pkgs.fetchurl {
|
||||||
url = "https://static.rust-lang.org/dist/2022-12-15/channel-rust-stable.toml";
|
url =
|
||||||
|
"https://static.rust-lang.org/dist/2022-12-15/channel-rust-stable.toml";
|
||||||
hash = "sha256-S7epLlflwt0d1GZP44u5Xosgf6dRrmr8xxC+Ml2Pq7c=";
|
hash = "sha256-S7epLlflwt0d1GZP44u5Xosgf6dRrmr8xxC+Ml2Pq7c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
targets = [
|
targets = [ "thumbv7em-none-eabihf" ];
|
||||||
"thumbv7em-none-eabihf"
|
|
||||||
];
|
|
||||||
rustChannelOfTargets = _channel: _date: targets:
|
rustChannelOfTargets = _channel: _date: targets:
|
||||||
(pkgs.lib.rustLib.fromManifestFile rustManifest {
|
(pkgs.lib.rustLib.fromManifestFile rustManifest {
|
||||||
inherit (pkgs) stdenv lib fetchurl patchelf;
|
inherit (pkgs) stdenv lib fetchurl patchelf;
|
||||||
}).rust.override {
|
}).rust.override {
|
||||||
inherit targets;
|
inherit targets;
|
||||||
extensions = ["rust-src"];
|
extensions = [ "rust-src" ];
|
||||||
};
|
};
|
||||||
rust = rustChannelOfTargets "stable" null targets;
|
rust = rustChannelOfTargets "stable" null targets;
|
||||||
rustPlatform = pkgs.recurseIntoAttrs (pkgs.makeRustPlatform {
|
rustPlatform = pkgs.recurseIntoAttrs (pkgs.makeRustPlatform {
|
||||||
|
@ -35,7 +40,8 @@
|
||||||
cargoLock = {
|
cargoLock = {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"stm32-eth-0.2.0" = "sha256-48RpZgagUqgVeKm7GXdk3Oo0v19ScF9Uby0nTFlve2o=";
|
"stm32-eth-0.2.0" =
|
||||||
|
"sha256-48RpZgagUqgVeKm7GXdk3Oo0v19ScF9Uby0nTFlve2o=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -98,7 +104,8 @@
|
||||||
src = "${self}/pytec";
|
src = "${self}/pytec";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.qt6.wrapQtAppsHook ];
|
nativeBuildInputs = [ pkgs.qt6.wrapQtAppsHook ];
|
||||||
propagatedBuildInputs = [ pkgs.qt6.qtbase ] ++ (with pkgs.python3Packages; [ pyqtgraph pyqt6 qasync pglive ]);
|
propagatedBuildInputs = [ pkgs.qt6.qtbase ]
|
||||||
|
++ (with pkgs.python3Packages; [ pyqtgraph pyqt6 qasync pglive ]);
|
||||||
|
|
||||||
dontWrapQtApps = true;
|
dontWrapQtApps = true;
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
|
@ -106,25 +113,28 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
packages.x86_64-linux = {
|
packages.x86_64-linux = { inherit thermostat thermostat_gui; };
|
||||||
inherit thermostat thermostat_gui;
|
|
||||||
};
|
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
|
||||||
|
|
||||||
apps.x86_64-linux.thermostat_gui = {
|
apps.x86_64-linux.thermostat_gui = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = "${self.packages.x86_64-linux.thermostat_gui}/bin/tec_qt";
|
program = "${self.packages.x86_64-linux.thermostat_gui}/bin/tec_qt";
|
||||||
};
|
};
|
||||||
|
|
||||||
hydraJobs = {
|
hydraJobs = { inherit thermostat; };
|
||||||
inherit thermostat;
|
|
||||||
};
|
|
||||||
|
|
||||||
devShell.x86_64-linux = pkgs.mkShell {
|
devShell.x86_64-linux = pkgs.mkShell {
|
||||||
name = "thermostat-dev-shell";
|
name = "thermostat-dev-shell";
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs;
|
||||||
rust openocd dfu-util
|
[ rust openocd dfu-util ] ++ (with python3Packages; [
|
||||||
] ++ (with python3Packages; [
|
numpy
|
||||||
numpy matplotlib pyqtgraph setuptools pyqt6 qasync pglive
|
matplotlib
|
||||||
|
pyqtgraph
|
||||||
|
setuptools
|
||||||
|
pyqt6
|
||||||
|
qasync
|
||||||
|
pglive
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
defaultPackage.x86_64-linux = thermostat;
|
defaultPackage.x86_64-linux = thermostat;
|
||||||
|
|
Loading…
Reference in New Issue