Write a Nix expression for building the binary
Update the tooling as well
This commit is contained in:
8
flake.lock
generated
8
flake.lock
generated
@@ -2,16 +2,16 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1611053426,
|
"lastModified": 1618886496,
|
||||||
"narHash": "sha256-ZYcn9Jz7S3Ib3PPcPsn6lE9HGtH5ofacOYsu/puZd9o=",
|
"narHash": "sha256-kbNz7N1/3L94Inco0F6avWd65pn1dcOX/xccNdVf+nY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "646f528cce6db1f89f6e635a7589bf1be6169ffb",
|
"rev": "b1476f41ec26c72f23fa617141a653484b319b89",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-20.09",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|||||||
16
flake.nix
16
flake.nix
@@ -1,15 +1,25 @@
|
|||||||
{
|
{
|
||||||
description = "Tinyquiz – an open source online quiz platform";
|
description = "Tinyquiz – an open source online quiz platform";
|
||||||
|
|
||||||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-20.09";
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
|
||||||
outputs = { self, nixpkgs }:
|
outputs = { self, nixpkgs }:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
buildCmd = name:
|
||||||
|
(pkgs.buildGoPackage {
|
||||||
|
pname = "tinyquiz-${name}";
|
||||||
|
version = "dev";
|
||||||
|
src = ./.;
|
||||||
|
goDeps = ./deps.nix;
|
||||||
|
preBuild = "go generate vkane.cz/tinyquiz/...";
|
||||||
|
goPackagePath = "vkane.cz/tinyquiz";
|
||||||
|
subPackages = [ "cmd/${name}" ];
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
defaultPackage.x86_64-linux = self.packages.x86_64-linux.tinyquiz;
|
defaultPackage.x86_64-linux = self.packages.x86_64-linux.tinyquiz-web;
|
||||||
packages.x86_64-linux.tinyquiz = pkgs.hello; # TODO
|
packages.x86_64-linux.tinyquiz-web = buildCmd "web";
|
||||||
packages.x86_64-linux.dev = pkgs.writeShellScriptBin "dev" ''
|
packages.x86_64-linux.dev = pkgs.writeShellScriptBin "dev" ''
|
||||||
echo "This dev script must be run from the project root, otherwise unexpected behavior might occur."
|
echo "This dev script must be run from the project root, otherwise unexpected behavior might occur."
|
||||||
read -p "Are you in the right directory and shall I continue? (y/n): " ack
|
read -p "Are you in the right directory and shall I continue? (y/n): " ack
|
||||||
|
|||||||
Reference in New Issue
Block a user