flake.nix: nixfmt-rfc-style

This commit is contained in:
atse 2024-07-08 12:34:33 +08:00
parent a531978d96
commit dcc4a4578a
1 changed files with 34 additions and 24 deletions

View File

@ -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;