a811/flake.nix
2024-08-30 23:13:26 +02:00

67 lines
1.6 KiB
Nix

{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs = {
self,
nixpkgs,
}: let
pkgs = import nixpkgs {
system = "x86_64-linux";
};
in {
packages.x86_64-linux = {
# Define the default package, which will build the C++ app
default = pkgs.stdenv.mkDerivation {
pname = "cli";
version = "0.1.0";
# Source directory containing the C++ code
src = ./.;
# Build dependencies (e.g., compilers)
buildInputs = [ pkgs.gcc pkgs.libusb1 ];
# Build commands
buildPhase = ''
mkdir -p $out/bin
g++ -o $out/bin/cli src/cli.cpp src/usb_thingy.cpp -lusb-1.0
'';
# Optional: installation phase, if additional steps are needed
#installPhase = ''
# # Nothing extra needed here; the binary is already in $out/bin
#'';
};
};
devShells.x86_64-linux = {
default = pkgs.mkShell {
propagatedBuildInputs = with pkgs; [
bashInteractive
cmake
gcc
gdb
kdePackages.extra-cmake-modules
kdePackages.kcoreaddons
kdePackages.ki18n
kdePackages.kiconthemes
kdePackages.kirigami-addons.dev
kdePackages.kirigami
kdePackages.qqc2-desktop-style
kdePackages.qtbase.dev
kdePackages.qtdeclarative
kdePackages.qttools.dev
makeWrapper
pkg-config
qt6.wrapQtAppsHook
qtcreator
qt6.full
qt6.qtbase
libusb1
hidapi
ninja
];
};
};
};
}