diff options
author | Franck Cuny <franck@fcuny.net> | 2022-05-01 13:35:46 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-05-01 13:35:46 -0700 |
commit | 9611638734d9fa9742c399839c34a35164dd3ba4 (patch) | |
tree | 6d2f1b717ce6537ea68c9e28a8e7a110cebd2f23 | |
parent | layout: improve readability and remove /notes (diff) | |
download | fcuny.net-9611638734d9fa9742c399839c34a35164dd3ba4.tar.gz |
build: slowly moving to nix
Add a `flake.nix' configuration to pull the required dependencies and run the server. Remove a few targets from the Makefile and move the deployment part to a script.
-rw-r--r-- | .envrc | 1 | ||||
-rw-r--r-- | Makefile | 17 | ||||
-rw-r--r-- | flake.lock | 26 | ||||
-rw-r--r-- | flake.nix | 19 | ||||
-rwxr-xr-x | scripts/deploy.sh | 10 |
5 files changed, 57 insertions, 16 deletions
diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/Makefile b/Makefile index 5414dde..e2731d4 100644 --- a/Makefile +++ b/Makefile @@ -5,22 +5,7 @@ DOCKER_IMAGE_REF := $(shell git rev-parse HEAD) DOCKERFILE := Dockerfile PROJECT_DIR := $(realpath $(CURDIR)) -.PHONY: server deploy docker-build docker-run worktree-clean - -server: - @echo "Running hugo server ..." - hugo server - -worktree-clean: - git diff --exit-code - git diff --staged --exit-code - -deploy: worktree-clean docker-build - @echo "Deploying to fly ..." - flyctl deploy - @git tag -a --message $$(flyctl info -j |jq -r '.App | "fcuny.net/v\(.Version)"') $$(flyctl info -j |jq -r '.App | "fcuny.net/v\(.Version)"') - @git push origin --all - @git push origin --tags +.PHONY: docker-build docker-run docker-build: @echo "Building Docker image ..." diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..d7426e1 --- /dev/null +++ b/flake.lock @@ -0,0 +1,26 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1651345462, + "narHash": "sha256-4wf9sMUKGBjC2jWnUwG52ychtXRKlS3LfX/HEY6DjhM=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "870249df2cc640e2278cd0bc599ebbb246b00802", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..59ef578 --- /dev/null +++ b/flake.nix @@ -0,0 +1,19 @@ +{ + description = "Franck Cuny's personal website."; + + inputs = { nixpkgs.url = "github:nixos/nixpkgs"; }; + + outputs = { self, nixpkgs }: + let pkgs = nixpkgs.legacyPackages.x86_64-linux; + in { + defaultApp.x86_64-linux = self.apps.server; + apps.server = pkgs.writers.writeBashBin "server" '' + set -e + set -o pipefail + PATH=${pkgs.lib.makeBinPath [ pkgs.hugo pkgs.git ]} + hugo server + ''; + devShell.x86_64-linux = + pkgs.mkShell { buildInputs = with pkgs; [ hugo flyctl git ]; }; + }; +} diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 0000000..82919c6 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +git diff --exit-code +git diff --staged --exit-code + +VERSION=$(flyctl info -j |jq -r '.App | "fcuny.net/v\(.Version)"') + +git tag -a --message ${VERSION} ${VERSION} +git push origin --all +git push origin --tags |