diff --git a/flake.nix b/flake.nix index 9056fa9..f25bba4 100644 --- a/flake.nix +++ b/flake.nix @@ -1,26 +1,31 @@ { description = "Firmware for the Sinara 8451 Thermostat"; - inputs.nixpkgs.url = github:NixOS/nixpkgs/nixos-23.05; - inputs.mozilla-overlay = { url = github:mozilla/nixpkgs-mozilla; flake = false; }; + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + inputs.mozilla-overlay = { + url = "github:mozilla/nixpkgs-mozilla"; + flake = false; + }; - outputs = { self, nixpkgs, mozilla-overlay }: + outputs = { self, nixpkgs, mozilla-overlay, }: 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 { - 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="; }; - targets = [ - "thumbv7em-none-eabihf" - ]; + targets = [ "thumbv7em-none-eabihf" ]; rustChannelOfTargets = _channel: _date: targets: (pkgs.lib.rustLib.fromManifestFile rustManifest { inherit (pkgs) stdenv lib fetchurl patchelf; - }).rust.override { + }).rust.override { inherit targets; - extensions = ["rust-src"]; + extensions = [ "rust-src" ]; }; rust = rustChannelOfTargets "stable" null targets; rustPlatform = pkgs.recurseIntoAttrs (pkgs.makeRustPlatform { @@ -32,10 +37,11 @@ version = "0.0.0"; src = self; - cargoLock = { + cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "stm32-eth-0.2.0" = "sha256-48RpZgagUqgVeKm7GXdk3Oo0v19ScF9Uby0nTFlve2o="; + "stm32-eth-0.2.0" = + "sha256-48RpZgagUqgVeKm7GXdk3Oo0v19ScF9Uby0nTFlve2o="; }; }; @@ -98,7 +104,8 @@ src = "${self}/pytec"; 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; postFixup = '' @@ -106,27 +113,30 @@ ''; }; in { - packages.x86_64-linux = { - inherit thermostat thermostat_gui; - }; + packages.x86_64-linux = { inherit thermostat thermostat_gui; }; + + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt; apps.x86_64-linux.thermostat_gui = { type = "app"; program = "${self.packages.x86_64-linux.thermostat_gui}/bin/tec_qt"; }; - hydraJobs = { - inherit thermostat; - }; + hydraJobs = { inherit thermostat; }; devShell.x86_64-linux = pkgs.mkShell { name = "thermostat-dev-shell"; - buildInputs = with pkgs; [ - rust openocd dfu-util - ] ++ (with python3Packages; [ - numpy matplotlib pyqtgraph setuptools pyqt6 qasync pglive + buildInputs = with pkgs; + [ rust openocd dfu-util ] ++ (with python3Packages; [ + numpy + matplotlib + pyqtgraph + setuptools + pyqt6 + qasync + pglive ]); }; defaultPackage.x86_64-linux = thermostat; }; -} \ No newline at end of file +}