Added flake

This commit is contained in:
Mysaa Java 2025-11-23 20:44:22 +01:00
parent 270025a1b4
commit 6de4e43f8d
No known key found for this signature in database
GPG Key ID: 4E77725580DA73CE
3 changed files with 2977 additions and 0 deletions

147
flake.lock generated Normal file
View File

@ -0,0 +1,147 @@
{
"nodes": {
"build-gradle-application": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1761837331,
"narHash": "sha256-uqmuTLq3VJfPqD1frbzIv9EcmlKcl7pRjNFwKkWIr6I=",
"ref": "refs/heads/main",
"rev": "411fff172011aafc7b2afc365ced450ffe7d729d",
"revCount": 98,
"type": "git",
"url": "file:/home/mysaa/Documents/Projets/buildGradleApplication"
},
"original": {
"type": "git",
"url": "file:/home/mysaa/Documents/Projets/buildGradleApplication"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"flake-utils": {
"locked": {
"lastModified": 1605370193,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gradle2nix": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1755902591,
"narHash": "sha256-mnPaPH9k6Mbr7O0KzBBdkiDDS88oB5NiFHVSFkCzswU=",
"owner": "tadfisher",
"repo": "gradle2nix",
"rev": "30cfe5889188524223364ee7919d94e83d6ee44a",
"type": "github"
},
"original": {
"owner": "tadfisher",
"ref": "v2",
"repo": "gradle2nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1758035966,
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1763678758,
"narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1763618868,
"narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"build-gradle-application": "build-gradle-application",
"gradle2nix": "gradle2nix",
"nixpkgs": "nixpkgs_3"
}
}
},
"root": "root",
"version": 7
}

84
flake.nix Normal file
View File

@ -0,0 +1,84 @@
{
description = "Misael server";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
build-gradle-application.url = "git+file:/home/mysaa/Documents/Projets/buildGradleApplication";#"github:raphiz/buildGradleApplication";
gradle2nix.url = "github:tadfisher/gradle2nix/v2";
};
outputs = { self, nixpkgs, build-gradle-application, gradle2nix, ... }@inputs:
let system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; overlays = [ build-gradle-application.overlays.default ]; };
lib = pkgs.lib;
jdk = pkgs.openjdk21;
gradle = pkgs.gradle;
misael = gradle2nix.builders.x86_64-linux.buildGradlePackage {
pname = "misael";
version = "1.0";
lockFile = ./gradle.lock;
gradleInstallFlags = [ "assemble" ];
inherit gradle;
buildJdk = jdk;
src = ./.;
buildPhase = ''
gradle assemble
'';
installPhase = ''
mkdir $out
cp ./build/libs/misael-beta.jar $out/misael.jar
cp -r ./build/resources/ $out/resources/
'';
};
misael-launcher = pkgs.writeShellScriptBin "misael" ''
echo "Checking Database Migration"
${pkgs.flyway}/bin/flyway "-url=$MISAEL_DATABASE" -user=misael "-password=$MISAEL_PASSWORD" -locations="filesystem:${misael}/resources/main/db/migration/" -schemas=misael migrate
echo "Launching misael"
${jdk}/bin/java -jar ${misael}/misael.jar --spring.datasource.url=$MISAEL_DATABASE --spring.datasource.password=$MISAEL_PASSWORD "$@"
'';
in {
packages.${system} = {
default = self.packages.${system}.misael;
misael = misael;
};
apps.${system} = {
default = self.apps.${system}.misael;
misael = { type = "app"; program = "${misael-launcher}/bin/misael"; };
};
devShells.${system} = {
default = pkgs.mkShell {
packages = [
jdk
gradle
(pkgs.vscode-with-extensions.override {
vscode = pkgs.vscodium;
vscodeExtensions = with pkgs.vscode-extensions; [
redhat.java
vscjava.vscode-java-debug
vscjava.vscode-java-test
vscjava.vscode-gradle
vscjava.vscode-java-dependency
sonarsource.sonarlint-vscode
bbenoist.nix
redhat.vscode-yaml
];
})
];
shellHook = ''
echo "Starting Gradle daemon ..."
gradle
echo "Gradle daemon started."
'';
};
};
formatter.${system} = pkgs.nixpkgs-fmt;
};
}

2746
gradle.lock Normal file

File diff suppressed because it is too large Load Diff