116 lines
2.9 KiB
Nix
116 lines
2.9 KiB
Nix
{
|
|
description = "TFC Website";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
|
naersk.url = "github:nix-community/naersk";
|
|
};
|
|
|
|
outputs = inputs: with inputs;
|
|
flake-utils.lib.eachDefaultSystem
|
|
(system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
src = ./.;
|
|
|
|
naersk' = pkgs.callPackage naersk {};
|
|
|
|
nbi = with pkgs; [
|
|
gcc
|
|
stdenv
|
|
gnumake
|
|
gdb
|
|
pkg-config
|
|
makeWrapper
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
bi = with pkgs; [
|
|
git
|
|
clippy
|
|
rustc
|
|
cargo
|
|
rustfmt
|
|
rust-analyzer
|
|
just
|
|
zola
|
|
|
|
# web lang tweaks
|
|
tailwindcss_4
|
|
# postcss-cli
|
|
uglify-js
|
|
|
|
openssl
|
|
openssl.out
|
|
openssl.dev
|
|
];
|
|
|
|
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 = ''
|
|
# ls -l
|
|
# cp -r public $out/
|
|
# ls -l $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
|
|
mkdir -p $out/public
|
|
ls -l $out
|
|
cp -r ${site}/* $out/public/
|
|
ls -l $out
|
|
'';
|
|
};
|
|
packages.site = site;
|
|
}
|
|
);
|
|
}
|