added yarnNix to prevent idf when called on hydraJobs
This commit is contained in:
parent
1698f39d70
commit
296fd0f30d
55
flake.nix
55
flake.nix
|
@ -9,9 +9,20 @@
|
||||||
pre-commit.url = "github:cachix/pre-commit-hooks.nix";
|
pre-commit.url = "github:cachix/pre-commit-hooks.nix";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, flake-parts, treefmt-nix, pre-commit, ... }@inputs:
|
outputs =
|
||||||
let systems = [ "x86_64-linux" "aarch64-linux" ];
|
{ self
|
||||||
in flake-parts.lib.mkFlake { inherit inputs; } {
|
, flake-parts
|
||||||
|
, treefmt-nix
|
||||||
|
, pre-commit
|
||||||
|
, ...
|
||||||
|
}@inputs:
|
||||||
|
let
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
inherit systems;
|
inherit systems;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -22,23 +33,31 @@
|
||||||
./nix/package.nix
|
./nix/package.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem = { config, pkgs, self', ... }: {
|
perSystem =
|
||||||
apps = {
|
{ config
|
||||||
serve.program = "${pkgs.writeShellScript "serve" ''
|
, pkgs
|
||||||
${pkgs.miniserve}/bin/miniserve -p 3001 --index index.html ${self'.packages.default}
|
, self'
|
||||||
''}";
|
, ...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
apps = {
|
||||||
|
serve.program = "${pkgs.writeShellScript "serve" ''
|
||||||
|
${pkgs.miniserve}/bin/miniserve -p 3001 --index index.html ${self'.packages.default}
|
||||||
|
''}";
|
||||||
|
};
|
||||||
|
|
||||||
|
packages.default = self'.packages.srx-digital;
|
||||||
|
|
||||||
|
treefmt.config = {
|
||||||
|
projectRootFile = "flake.nix";
|
||||||
|
programs.nixpkgs-fmt.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
formatter = config.treefmt.build.wrapper;
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.default = self'.packages.srx-digital;
|
flake.hydraJobs = {
|
||||||
|
inherit (self) checks packages;
|
||||||
treefmt.config = {
|
|
||||||
projectRootFile = "flake.nix";
|
|
||||||
programs.nixpkgs-fmt.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
formatter = config.treefmt.build.wrapper;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
flake.hydraJobs = { inherit (self) packages; };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,50 +1,52 @@
|
||||||
{
|
{
|
||||||
perSystem = { pkgs, config, ... }: {
|
perSystem =
|
||||||
devShells.default = pkgs.mkShell {
|
{ pkgs, config, ... }:
|
||||||
inputsFrom = [ config.treefmt.build.devShell ];
|
{
|
||||||
|
devShells.default = pkgs.mkShell {
|
||||||
|
inputsFrom = [ config.treefmt.build.devShell ];
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
nativeBuildInputs = with pkgs; [
|
||||||
# ide
|
# ide
|
||||||
(vscode-with-extensions.override {
|
(vscode-with-extensions.override {
|
||||||
vscode = vscodium;
|
vscode = vscodium;
|
||||||
vscodeExtensions = with vscode-extensions; [
|
vscodeExtensions = with vscode-extensions; [
|
||||||
arrterian.nix-env-selector
|
arrterian.nix-env-selector
|
||||||
astro-build.astro-vscode
|
astro-build.astro-vscode
|
||||||
bradlc.vscode-tailwindcss
|
bradlc.vscode-tailwindcss
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
jnoortheen.nix-ide
|
jnoortheen.nix-ide
|
||||||
mkhl.direnv
|
mkhl.direnv
|
||||||
ritwickdey.liveserver
|
ritwickdey.liveserver
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
# formater
|
# formater
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
nodePackages_latest.prettier
|
nodePackages_latest.prettier
|
||||||
|
|
||||||
# lsp
|
# lsp
|
||||||
nil
|
nil
|
||||||
nodePackages_latest.typescript-language-server
|
nodePackages_latest.typescript-language-server
|
||||||
nodePackages_latest.vscode-css-languageserver-bin
|
nodePackages_latest.vscode-css-languageserver-bin
|
||||||
nodePackages_latest.vscode-html-languageserver-bin
|
nodePackages_latest.vscode-html-languageserver-bin
|
||||||
tailwindcss-language-server
|
tailwindcss-language-server
|
||||||
|
|
||||||
# nix
|
# nix
|
||||||
deadnix
|
deadnix
|
||||||
statix
|
statix
|
||||||
|
|
||||||
# node
|
# node
|
||||||
nodePackages_latest.nodejs
|
nodePackages_latest.nodejs
|
||||||
nodePackages_latest.typescript
|
nodePackages_latest.typescript
|
||||||
nodePackages_latest.yarn
|
nodePackages_latest.yarn
|
||||||
yarn2nix
|
yarn2nix
|
||||||
|
|
||||||
# html
|
# html
|
||||||
html5validator
|
html5validator
|
||||||
];
|
];
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
${config.pre-commit.installationScript}
|
${config.pre-commit.installationScript}
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,58 +1,54 @@
|
||||||
{ inputs, ... }:
|
{ lib, inputs, ... }:
|
||||||
let inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
let
|
||||||
in {
|
inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
||||||
perSystem = { pkgs, ... }: {
|
in
|
||||||
packages.srx-digital = pkgs.mkYarnPackage rec {
|
{
|
||||||
name = "srx-digital";
|
perSystem =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
packages.srx-digital = pkgs.mkYarnPackage {
|
||||||
|
name = "srx-digital";
|
||||||
|
|
||||||
src = filter {
|
src = filter {
|
||||||
root = ../.;
|
root = ../.;
|
||||||
include = [
|
include = [
|
||||||
(inDirectory "public")
|
(inDirectory "public")
|
||||||
(inDirectory "src")
|
(inDirectory "src")
|
||||||
(matchExt "js")
|
(matchExt "js")
|
||||||
(matchExt "cjs")
|
(matchExt "cjs")
|
||||||
(matchExt "mjs")
|
(matchExt "mjs")
|
||||||
(matchExt "json")
|
(matchExt "json")
|
||||||
(matchExt "ts")
|
(matchExt "ts")
|
||||||
../package.json
|
../package.json
|
||||||
../yarn.lock
|
../yarn.lock
|
||||||
];
|
../yarn.nix
|
||||||
};
|
];
|
||||||
|
};
|
||||||
|
|
||||||
CI = "true";
|
packageJSON = ../package.json;
|
||||||
doDist = false;
|
yarnLock = ../yarn.lock;
|
||||||
|
yarnNix = ../yarn.nix;
|
||||||
packageJSON = ../package.json;
|
yarnFlags = [
|
||||||
yarnLock = ../yarn.lock;
|
"--offline"
|
||||||
yarnFlags = [ "--offline" "--production=true" ];
|
"--production=true"
|
||||||
|
|
||||||
pkgConfig.sharp = {
|
|
||||||
nativeBuildInputs = with pkgs; [
|
|
||||||
pkg-config
|
|
||||||
python3
|
|
||||||
nodePackages.node-gyp
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = with pkgs; [ vips.dev ];
|
CI = "true";
|
||||||
|
|
||||||
postInstall = ''
|
pkgConfig.sharp = {
|
||||||
${pkgs.nodePackages.node-gyp}/bin/node-gyp --node-dir=${pkgs.nodePackages.nodejs}/include/node rebuild
|
nativeBuildInputs = builtins.attrValues {
|
||||||
'';
|
inherit (pkgs.nodePackages) node-gyp;
|
||||||
|
inherit (pkgs) python3 pkg-config;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = with pkgs; [ vips.dev ];
|
||||||
|
postInstall = "node-gyp --node-dir=${pkgs.nodePackages.nodejs} rebuild";
|
||||||
|
};
|
||||||
|
|
||||||
|
postConfigure = "export HOME=$(mktemp -d)";
|
||||||
|
buildPhase = "yarn build";
|
||||||
|
installPhase = "mv -v deps/blog/public \${out}";
|
||||||
|
distPhase = "true";
|
||||||
};
|
};
|
||||||
|
|
||||||
postConfigure = "export HOME=$(mktemp -d)";
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
(
|
|
||||||
shopt -s dotglob
|
|
||||||
yarn --offline build
|
|
||||||
)
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = "mv -v deps/${name}/dist \${out}";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue