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";
|
||||
};
|
||||
|
||||
outputs = { self, flake-parts, treefmt-nix, pre-commit, ... }@inputs:
|
||||
let systems = [ "x86_64-linux" "aarch64-linux" ];
|
||||
in flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
outputs =
|
||||
{ self
|
||||
, flake-parts
|
||||
, treefmt-nix
|
||||
, pre-commit
|
||||
, ...
|
||||
}@inputs:
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
in
|
||||
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
inherit systems;
|
||||
|
||||
imports = [
|
||||
|
@ -22,23 +33,31 @@
|
|||
./nix/package.nix
|
||||
];
|
||||
|
||||
perSystem = { config, pkgs, self', ... }: {
|
||||
apps = {
|
||||
serve.program = "${pkgs.writeShellScript "serve" ''
|
||||
${pkgs.miniserve}/bin/miniserve -p 3001 --index index.html ${self'.packages.default}
|
||||
''}";
|
||||
perSystem =
|
||||
{ config
|
||||
, pkgs
|
||||
, 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;
|
||||
|
||||
treefmt.config = {
|
||||
projectRootFile = "flake.nix";
|
||||
programs.nixpkgs-fmt.enable = true;
|
||||
};
|
||||
|
||||
formatter = config.treefmt.build.wrapper;
|
||||
flake.hydraJobs = {
|
||||
inherit (self) checks packages;
|
||||
};
|
||||
|
||||
flake.hydraJobs = { inherit (self) packages; };
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,50 +1,52 @@
|
|||
{
|
||||
perSystem = { pkgs, config, ... }: {
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [ config.treefmt.build.devShell ];
|
||||
perSystem =
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
devShells.default = pkgs.mkShell {
|
||||
inputsFrom = [ config.treefmt.build.devShell ];
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
# ide
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions; [
|
||||
arrterian.nix-env-selector
|
||||
astro-build.astro-vscode
|
||||
bradlc.vscode-tailwindcss
|
||||
bbenoist.nix
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
ritwickdey.liveserver
|
||||
];
|
||||
})
|
||||
nativeBuildInputs = with pkgs; [
|
||||
# ide
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions; [
|
||||
arrterian.nix-env-selector
|
||||
astro-build.astro-vscode
|
||||
bradlc.vscode-tailwindcss
|
||||
bbenoist.nix
|
||||
jnoortheen.nix-ide
|
||||
mkhl.direnv
|
||||
ritwickdey.liveserver
|
||||
];
|
||||
})
|
||||
|
||||
# formater
|
||||
nixpkgs-fmt
|
||||
nodePackages_latest.prettier
|
||||
# formater
|
||||
nixpkgs-fmt
|
||||
nodePackages_latest.prettier
|
||||
|
||||
# lsp
|
||||
nil
|
||||
nodePackages_latest.typescript-language-server
|
||||
nodePackages_latest.vscode-css-languageserver-bin
|
||||
nodePackages_latest.vscode-html-languageserver-bin
|
||||
tailwindcss-language-server
|
||||
# lsp
|
||||
nil
|
||||
nodePackages_latest.typescript-language-server
|
||||
nodePackages_latest.vscode-css-languageserver-bin
|
||||
nodePackages_latest.vscode-html-languageserver-bin
|
||||
tailwindcss-language-server
|
||||
|
||||
# nix
|
||||
deadnix
|
||||
statix
|
||||
# nix
|
||||
deadnix
|
||||
statix
|
||||
|
||||
# node
|
||||
nodePackages_latest.nodejs
|
||||
nodePackages_latest.typescript
|
||||
nodePackages_latest.yarn
|
||||
yarn2nix
|
||||
# node
|
||||
nodePackages_latest.nodejs
|
||||
nodePackages_latest.typescript
|
||||
nodePackages_latest.yarn
|
||||
yarn2nix
|
||||
|
||||
# html
|
||||
html5validator
|
||||
];
|
||||
shellHook = ''
|
||||
${config.pre-commit.installationScript}
|
||||
'';
|
||||
# html
|
||||
html5validator
|
||||
];
|
||||
shellHook = ''
|
||||
${config.pre-commit.installationScript}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,58 +1,54 @@
|
|||
{ inputs, ... }:
|
||||
let inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
||||
in {
|
||||
perSystem = { pkgs, ... }: {
|
||||
packages.srx-digital = pkgs.mkYarnPackage rec {
|
||||
name = "srx-digital";
|
||||
{ lib, inputs, ... }:
|
||||
let
|
||||
inherit (inputs.nix-filter.lib) filter inDirectory matchExt;
|
||||
in
|
||||
{
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
packages.srx-digital = pkgs.mkYarnPackage {
|
||||
name = "srx-digital";
|
||||
|
||||
src = filter {
|
||||
root = ../.;
|
||||
include = [
|
||||
(inDirectory "public")
|
||||
(inDirectory "src")
|
||||
(matchExt "js")
|
||||
(matchExt "cjs")
|
||||
(matchExt "mjs")
|
||||
(matchExt "json")
|
||||
(matchExt "ts")
|
||||
../package.json
|
||||
../yarn.lock
|
||||
];
|
||||
};
|
||||
src = filter {
|
||||
root = ../.;
|
||||
include = [
|
||||
(inDirectory "public")
|
||||
(inDirectory "src")
|
||||
(matchExt "js")
|
||||
(matchExt "cjs")
|
||||
(matchExt "mjs")
|
||||
(matchExt "json")
|
||||
(matchExt "ts")
|
||||
../package.json
|
||||
../yarn.lock
|
||||
../yarn.nix
|
||||
];
|
||||
};
|
||||
|
||||
CI = "true";
|
||||
doDist = false;
|
||||
|
||||
packageJSON = ../package.json;
|
||||
yarnLock = ../yarn.lock;
|
||||
yarnFlags = [ "--offline" "--production=true" ];
|
||||
|
||||
pkgConfig.sharp = {
|
||||
nativeBuildInputs = with pkgs; [
|
||||
pkg-config
|
||||
python3
|
||||
nodePackages.node-gyp
|
||||
packageJSON = ../package.json;
|
||||
yarnLock = ../yarn.lock;
|
||||
yarnNix = ../yarn.nix;
|
||||
yarnFlags = [
|
||||
"--offline"
|
||||
"--production=true"
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [ vips.dev ];
|
||||
CI = "true";
|
||||
|
||||
postInstall = ''
|
||||
${pkgs.nodePackages.node-gyp}/bin/node-gyp --node-dir=${pkgs.nodePackages.nodejs}/include/node rebuild
|
||||
'';
|
||||
pkgConfig.sharp = {
|
||||
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