Files
navidrome_client/flake.nix
2026-01-02 20:54:53 +01:00

61 lines
1.6 KiB
Nix

{
description = "Navidrome Client Dev Environment";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
initClangScript = pkgs.writeShellScriptBin "init-clang" ''
if [ -f .clang-format ]; then
echo "Fehler: .clang-format existiert bereits."
else
${pkgs.clang-tools}/bin/clang-format -style=Google -dump-config > .clang-format
echo "Erfolg: .clang-format (Google Style) wurde erstellt!"
fi
'';
in
{
devShells.default = pkgs.mkShell {
name = "Qt-Navidrome-Dev";
buildInputs = with pkgs; [
qtcreator
cmake
ninja
gdb
pkg-config
# Tools
clang-tools
initClangScript
# Qt Module
qt6.qtbase
qt6.qtdeclarative
qt6.qtmultimedia
qt6.qtsvg
];
shellHook = ''
export name="Qt-Navidrome-Dev"
export CC=gcc
export CXX=g++
echo "Qt Creator: $(qtcreator -version 2>&1 | head -n 1 | cut -d ' ' -f 1-4)"
echo "CMake: $(cmake --version | head -n 1)"
echo "GDB: $(gdb --version | head -n 1)"
echo "Compiler: $(c++ --version | head -n 1)"
'';
};
}
);
}