144 lines
3.6 KiB
Nix
144 lines
3.6 KiB
Nix
{
|
|
description = "TFC Website";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
cl-nix-lite.url = "github:hraban/cl-nix-lite";
|
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
|
naersk.url = "github:nix-community/naersk";
|
|
blowfish = {
|
|
url = "github:nunocoracao/blowfish?rev=b6744efbf2d76023084498552a916b49d5a764d8";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = inputs: with inputs;
|
|
flake-utils.lib.eachDefaultSystem
|
|
(system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
src = ./.;
|
|
|
|
naersk' = pkgs.callPackage naersk {};
|
|
|
|
# sbcl' = pkgs.sbcl.withPackages (ps: with ps; [
|
|
# hunchentoot
|
|
# dexador
|
|
# jzon
|
|
# serapeum
|
|
# deploy
|
|
# spinneret
|
|
# lass
|
|
# cl-smtp
|
|
# log4cl
|
|
# cl_plus_ssl
|
|
# fiveam
|
|
# slite
|
|
# clack
|
|
# jingle
|
|
# lack-middleware-static
|
|
# lack-middleware-session
|
|
# lack-middleware-mount
|
|
# lack
|
|
# lack-util
|
|
# lack-component
|
|
# woo
|
|
# ningle
|
|
# pkgs.openssl
|
|
# pkgs.openssl.out
|
|
# pkgs.openssl.dev
|
|
# ]);
|
|
nbi = with pkgs; [
|
|
gcc
|
|
stdenv
|
|
gnumake
|
|
gdb
|
|
pkg-config
|
|
makeWrapper
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
bi = with pkgs; [
|
|
git
|
|
hugo
|
|
go
|
|
nodejs
|
|
# sbcl'
|
|
clippy
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
rust-analyzer
|
|
just
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
blowfish = inputs.blowfish;
|
|
|
|
nativeLibs = with pkgs; [
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
site = pkgs.stdenv.mkDerivation rec {
|
|
name = "site";
|
|
version = "2.0.0";
|
|
src = ./.;
|
|
configurePhase = ''
|
|
ls
|
|
mkdir -p themes
|
|
ls themes
|
|
cp -r ${blowfish} themes/blowfish
|
|
ls themes/blowfish
|
|
'';
|
|
buildPhase = ''
|
|
NODE_ENV=production ./themes/blowfish/node_modules/tailwindcss/lib/cli.js -c ./themes/blowfish/tailwind.config.js -i ./themes/blowfish/assets/css/main.css -o ./assets/css/compiled/main.css --jit && hugo --gc --minify
|
|
${pkgs.hugo}/bin/hugo --minify
|
|
'';
|
|
installPhase = ''
|
|
cp -r public $out/
|
|
'';
|
|
buildInputs = bi;
|
|
nativeBuildInputs = nbi;
|
|
};
|
|
|
|
in
|
|
{
|
|
devShell = pkgs.mkShell {
|
|
name = "tfc-api";
|
|
version = "0.0.1";
|
|
src = src;
|
|
nativeBuildInputs = nbi;
|
|
buildInputs = bi;
|
|
nativeLibs = nativeLibs;
|
|
};
|
|
packages.default = naersk'.buildPackage {
|
|
pname = "tfcapi";
|
|
version = "0.0.1";
|
|
src = ./.;
|
|
cargoBuildFlags = "";
|
|
doCheck = false;
|
|
|
|
# cargoLock = {
|
|
# lockFile = ./Cargo.lock;
|
|
# };
|
|
nativeBuildInputs = nbi;
|
|
buildInputs = bi;
|
|
fixupPhase = ''
|
|
ls -l
|
|
ls -l $out
|
|
cp -r ${site}/public $out/
|
|
ls -l $out
|
|
'';
|
|
};
|
|
packages.site = site;
|
|
}
|
|
);
|
|
}
|