From 917c10737d02a53cc369a07d34f1c84ebc54aae2 Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 20 Mar 2025 23:34:10 +0100 Subject: [PATCH] improve readme and nix file --- Makefile | 19 ------------------- README.md | 18 ++++++++++++++++-- flake.nix | 11 ++++++++++- 3 files changed, 26 insertions(+), 22 deletions(-) delete mode 100644 Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index e42acb7..0000000 --- a/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -BIN=guichet -SRC=main.go ssha.go profile.go admin.go invite.go directory.go picture.go -DOCKER=lxpz/guichet_amd64 - -all: $(BIN) - -$(BIN): $(SRC) - go get -d -v - go build -v -o $(BIN) - -$(BIN).static: $(SRC) - go get -d -v - CGO_ENABLED=0 GOOS=linux go build -a -v -o $(BIN).static - -docker: $(BIN).static - docker build -t $(DOCKER):$(TAG) . - docker push $(DOCKER):$(TAG) - docker tag $(DOCKER):$(TAG) $(DOCKER):latest - docker push $(DOCKER):latest diff --git a/README.md b/README.md index 483ea71..a21ca32 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,23 @@ Guichet is licensed under the terms of the GPLv3. Guichet requires go 1.13 or later. -To build Guichet, clone this repository outside of your `$GOPATH`. -Then, run `make` in the root of the repo. +Development build: +``` +go build +``` + +Production build: + +``` +nix build +``` + +Production container: + +``` +docker run .#docker +``` ## Configuration of Guichet diff --git a/flake.nix b/flake.nix index 3b6ad3b..20b42b1 100644 --- a/flake.nix +++ b/flake.nix @@ -47,11 +47,20 @@ Entrypoint = "/bin/guichet"; }; }; + + docker = pkgs.writeScriptBin "guichet-docker" '' + #!/usr/bin/env bash + + set -euxo pipefail + docker load <$(nix build --print-out-paths .#container) + ''; + in { packages.x86_64-linux.guichet = guichet; packages.x86_64-linux.container = container; + packages.x86_64-linux.docker = docker; packages.x86_64-linux.default = guichet; - + devShell.x86_64-linux = pkgs.mkShell { nativeBuildInputs = [ pkgs.go pkgs.gomod2nix ]; }; }; }