init
This commit is contained in:
60
flake.nix
Normal file
60
flake.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
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)"
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user