aux-search/frontend/default.nix

46 lines
1.1 KiB
Nix
Raw Normal View History

2020-06-18 22:41:01 +00:00
{ pkgs ? import <nixpkgs> { }
Feat/dynamic import (#473) * Make the channel importer versions dynamic * few things fromt he list 1. add nixos-org-configurations as input to flake.nix 2. evaluate channels.nix file and export channels via environment variable. that environment variable (lets call it NIXOS_CHANNELS) should be present during the build and inside the nix shell. the content of the variable can be JSON. 3. we pickup the NIXOS_CHANNELS environment variable in frontend/webpack.config.js and pass it further to webpack process, just like we do with ELASTICSEARCH_MAPPING_SCHEMA_VERSION. 4. we forward NIXOS_CHANNELS to Elm via frontend/src/index.js as an Elm application flag. Just like we do with other variables there. * Decode nixosChannels in Elm * Use nixosChannels that came via application flag * read nixos channels in github action * defaultNixOSChannel should be calculated * add two pointers where the check should be added * pass nixosChannels to flake-info and remove title, rather calculate it * Add NixosChannels struct validation and validation Error * Read NIXOS_CHANNEL variable * Check channel * Add channel struct to fix parsing NIXOS_CHANNELS * Use `eachDefaultSystem` instead of listing them manually * Add individual dev shells for frontend and backend * Update .github/workflows/import-to-elasticsearch.yml Co-authored-by: Naïm Favier <n@monade.li> * use both development environments by default (as it was) but still provide devShells for each of the subprojects * pkgs.lib → lib everywhere and define lib = nixpkgs.lib before the call to eachDefaultSystem Also, version = lib.fileContents ./VERSION; * Update flake.nix Co-authored-by: Naïm Favier <n@monade.li> * typo * bumping version to test the changes to import-to-elasticsearch github action * some invisibile characters needed to be removed * typo * will this work * typo * forgot the checkout step * add some debugging * typo * read NIXOS_CHANNELS from environment not via argument * fix for the NIXOS_CHANNELS variable Co-authored-by: Janne Heß <janne@hess.ooo> Co-authored-by: ysndr <me@ysndr.de> Co-authored-by: Naïm Favier <n@monade.li>
2022-04-24 21:48:01 +00:00
, nixosChannels
, version
2020-03-28 04:09:01 +00:00
}:
pkgs.npmlock2nix.build {
src = ./.;
installPhase = ''
mkdir $out
cp -R dist/* $out/
cp netlify.toml $out/
'';
postConfigure = pkgs.elmPackages.fetchElmDeps {
elmPackages = import ./elm-srcs.nix;
elmVersion = pkgs.elmPackages.elm.version;
registryDat = ./registry.dat;
};
ELASTICSEARCH_MAPPING_SCHEMA_VERSION = version;
NIXOS_CHANNELS = builtins.toJSON nixosChannels;
buildCommands = [
"HOME=$PWD npm run prod"
];
buildInputs =
2020-03-28 04:09:01 +00:00
(with pkgs; [
nodejs
elm2nix
2020-03-28 04:09:01 +00:00
]) ++
(with pkgs.elmPackages; [
elm
elm-format
2020-03-30 07:27:22 +00:00
elm-language-server
elm-test
2020-03-28 04:09:01 +00:00
]);
node_modules_attrs = {
sourceOverrides = {
elm = sourceIngo: drv: drv.overrideAttrs (old: {
postPatch = ''
sed -i -e "s|download(|//download(|" install.js
sed -i -e "s|request(|//request(|" download.js
sed -i -e "s|var version|return; var version|" download.js
cp ${pkgs.elmPackages.elm}/bin/elm bin/elm
'';
});
};
};
2020-03-28 04:09:01 +00:00
}