diff --git a/flake.nix b/flake.nix index c62c66987..917d19fb5 100644 --- a/flake.nix +++ b/flake.nix @@ -27,195 +27,195 @@ debugBuild.url = "github:boolean-option/false/d06b4794a134686c70a1325df88a6e6768c6b212"; }; outputs = - { - self, - devenv, - flake-utils, - nixpkgs, - rust-overlay, - crane, - ... + { self + , devenv + , flake-utils + , nixpkgs + , rust-overlay + , crane + , ... }@inputs: ( - flake-utils.lib.eachDefaultSystem ( - system: - let - features = "--all-features"; - overlays = [ (import rust-overlay) ]; - pkgs = import nixpkgs { inherit overlays system; }; - stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv; - rustPlatform = pkgs.makeRustPlatform { - cargo = pkgs.rust-bin.stable.latest.minimal; - rustc = pkgs.rust-bin.stable.latest.minimal; - inherit stdenv; - }; - - craneLib = (crane.mkLib pkgs).overrideToolchain pkgs.rust-bin.stable.latest.minimal; - buildInputs = with pkgs; [ - openssl - sqlite - zlib - ]; - - nativeBuildInputs = with pkgs; [ - protobuf - pkg-config - rustPlatform.bindgenHook - ]; - - src = pkgs.lib.cleanSourceWith { - src = pkgs.lib.cleanSource ./.; - filter = - name: type: - let - baseName = baseNameOf (toString name); - in - !(baseName == "flake.lock" || pkgs.lib.hasSuffix ".nix" baseName); - }; - - commonArgs = - { - inherit - src - stdenv - buildInputs - nativeBuildInputs - ; - - strictDeps = true; - - meta = { - description = "ActivityPub-federated microblogging"; - homepage = "https://joinkitsune.org"; - }; + flake-utils.lib.eachDefaultSystem + ( + system: + let + features = "--all-features"; + overlays = [ (import rust-overlay) ]; + pkgs = import nixpkgs { inherit overlays system; }; + stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv; + rustPlatform = pkgs.makeRustPlatform { + cargo = pkgs.rust-bin.stable.latest.minimal; + rustc = pkgs.rust-bin.stable.latest.minimal; + inherit stdenv; + }; - OPENSSL_NO_VENDOR = 1; - NIX_OUTPATH_USED_AS_RANDOM_SEED = "aaaaaaaaaa"; - cargoExtraArgs = "--locked ${features}"; - } - // (pkgs.lib.optionalAttrs inputs.debugBuild.value { - # do a debug build, as `dev` is the default debug profile - CARGO_PROFILE = "dev"; - }); - - cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml); - version = cargoToml.workspace.package.version; - - cargoArtifacts = craneLib.buildDepsOnly ( - commonArgs - // { - pname = "kitsune-workspace"; - src = craneLib.cleanCargoSource src; - } - ); - in - { - formatter = pkgs.nixpkgs-fmt; - packages = rec { - default = main; - - cli = craneLib.buildPackage ( - commonArgs - // { - pname = "kitsune-cli"; - cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin kitsune-cli"; - inherit cargoArtifacts; - doCheck = false; - } - ); + craneLib = (crane.mkLib pkgs).overrideToolchain pkgs.rust-bin.stable.latest.minimal; + buildInputs = with pkgs; [ + openssl + sqlite + zlib + ]; + + nativeBuildInputs = with pkgs; [ + protobuf + pkg-config + rustPlatform.bindgenHook + ]; + + src = pkgs.lib.cleanSourceWith { + src = pkgs.lib.cleanSource ./.; + filter = + name: type: + let + baseName = baseNameOf (toString name); + in + !(baseName == "flake.lock" || pkgs.lib.hasSuffix ".nix" baseName); + }; - mrf-tool = craneLib.buildPackage ( - commonArgs - // { - pname = "mrf-tool"; - cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin mrf-tool"; - inherit cargoArtifacts; - doCheck = false; + commonArgs = + { + inherit + src + stdenv + buildInputs + nativeBuildInputs + ; + + strictDeps = true; + + meta = { + description = "ActivityPub-federated microblogging"; + homepage = "https://joinkitsune.org"; + }; + + OPENSSL_NO_VENDOR = 1; + NIX_OUTPATH_USED_AS_RANDOM_SEED = "aaaaaaaaaa"; + cargoExtraArgs = "--locked ${features}"; } - ); + // (pkgs.lib.optionalAttrs inputs.debugBuild.value { + # do a debug build, as `dev` is the default debug profile + CARGO_PROFILE = "dev"; + }); - main = craneLib.buildPackage ( + cargoToml = builtins.fromTOML (builtins.readFile ./Cargo.toml); + version = cargoToml.workspace.package.version; + + cargoArtifacts = craneLib.buildDepsOnly ( commonArgs // { - pname = "kitsune"; - cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin kitsune --bin kitsune-job-runner"; - inherit cargoArtifacts; - doCheck = false; + pname = "kitsune-workspace"; + src = craneLib.cleanCargoSource src; } ); - - frontend = pkgs.mkYarnPackage { - inherit version; - packageJSON = "${src}/kitsune-fe/package.json"; - yarnLock = "${src}/kitsune-fe/yarn.lock"; - src = "${src}/kitsune-fe"; - - buildPhase = '' - export HOME=$(mktemp -d) - yarn --offline build - ''; - - installPhase = '' - mkdir -p $out - cp -R deps/kitsune-fe/dist $out - ''; - - distPhase = "true"; + in + { + formatter = pkgs.nixpkgs-fmt; + packages = rec { + default = main; + + cli = craneLib.buildPackage ( + commonArgs + // { + pname = "kitsune-cli"; + cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin kitsune-cli"; + inherit cargoArtifacts; + doCheck = false; + } + ); + + mrf-tool = craneLib.buildPackage ( + commonArgs + // { + pname = "mrf-tool"; + cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin mrf-tool"; + inherit cargoArtifacts; + doCheck = false; + } + ); + + main = craneLib.buildPackage ( + commonArgs + // { + pname = "kitsune"; + cargoExtraArgs = commonArgs.cargoExtraArgs + " --bin kitsune --bin kitsune-job-runner"; + inherit cargoArtifacts; + doCheck = false; + } + ); + + frontend = pkgs.mkYarnPackage { + inherit version; + packageJSON = "${src}/kitsune-fe/package.json"; + yarnLock = "${src}/kitsune-fe/yarn.lock"; + src = "${src}/kitsune-fe"; + + buildPhase = '' + export HOME=$(mktemp -d) + yarn --offline build + ''; + + installPhase = '' + mkdir -p $out + cp -R deps/kitsune-fe/dist $out + ''; + + distPhase = "true"; + }; }; - }; - - devShells = rec { - default = backend; - - backend = devenv.lib.mkShell { - inherit pkgs inputs; - - modules = [ - ( - { pkgs, ... }: - { - packages = - with pkgs; - [ - cargo-insta - diesel-cli - rust-bin.stable.latest.default - ] - ++ buildInputs - ++ nativeBuildInputs; - - enterShell = '' - export PG_HOST=127.0.0.1 - export PG_PORT=5432 - [ -z "$DATABASE_URL" ] && export DATABASE_URL=postgres://$USER@$PG_HOST:$PG_PORT/$USER - - export REDIS_PORT=6379 - [ -z "$REDIS_URL" ] && export REDIS_URL="redis://127.0.0.1:$REDIS_PORT" - ''; - - services = { - postgres = { - enable = true; - listen_addresses = "127.0.0.1"; + + devShells = rec { + default = backend; + + backend = devenv.lib.mkShell { + inherit pkgs inputs; + + modules = [ + ( + { pkgs, ... }: + { + packages = + with pkgs; + [ + cargo-insta + diesel-cli + rust-bin.stable.latest.default + ] + ++ buildInputs + ++ nativeBuildInputs; + + enterShell = '' + export PG_HOST=127.0.0.1 + export PG_PORT=5432 + [ -z "$DATABASE_URL" ] && export DATABASE_URL=postgres://$USER@$PG_HOST:$PG_PORT/$USER + + export REDIS_PORT=6379 + [ -z "$REDIS_URL" ] && export REDIS_URL="redis://127.0.0.1:$REDIS_PORT" + ''; + + services = { + postgres = { + enable = true; + listen_addresses = "127.0.0.1"; + }; + redis.enable = true; }; - redis.enable = true; - }; - } - ) - ]; - }; + } + ) + ]; + }; - frontend = pkgs.mkShell { - buildInputs = with pkgs; [ - nodejs - yarn - nodePackages.svelte-language-server - nodePackages.typescript-language-server - ]; + frontend = pkgs.mkShell { + buildInputs = with pkgs; [ + nodejs + yarn + nodePackages.svelte-language-server + nodePackages.typescript-language-server + ]; + }; }; - }; - } - ) + } + ) // { overlays = rec { default = kitsune; diff --git a/kitsune-fe/src/routes/+page.svelte b/kitsune-fe/src/routes/+page.svelte index bb9e871f5..41cbdcc8e 100644 --- a/kitsune-fe/src/routes/+page.svelte +++ b/kitsune-fe/src/routes/+page.svelte @@ -103,7 +103,6 @@ -