1{
2 inputs.parts.url = "github:hercules-ci/flake-parts";
3 inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
4 inputs.naked-shell.url = "github:90-008/mk-naked-shell";
5 inputs.nci.url = "github:90-008/nix-cargo-integration";
6 inputs.nci.inputs.nixpkgs.follows = "nixpkgs";
7
8 outputs = inp:
9 inp.parts.lib.mkFlake {inputs = inp;} {
10 systems = ["x86_64-linux"];
11 imports = [
12 inp.naked-shell.flakeModule
13 # inp.nci.flakeModule
14 ];
15 perSystem = {
16 config,
17 pkgs,
18 ...
19 }: {
20 devShells.default = pkgs.mkShell {
21 name = "eunomia-devshell";
22 packages = with pkgs; [
23 nodejs-slim_latest deno
24 nodePackages.svelte-language-server
25 nodePackages.typescript-language-server
26 rustc rust-analyzer cargo wasm-pack wasm-bindgen-cli lld rustfmt binaryen
27 ];
28 shellHook = ''
29 export PATH="$PATH:$PWD/node_modules/.bin"
30 '';
31 };
32 packages.eunomia-modules = pkgs.callPackage ./nix/modules.nix {};
33 packages.eunomia = pkgs.callPackage ./nix {
34 inherit (config.packages) eunomia-modules;
35 };
36 packages.default = config.packages.eunomia;
37 };
38 };
39}