diff --git a/default.nix b/default.nix index 076881624..e13afcdb3 100644 --- a/default.nix +++ b/default.nix @@ -1,7 +1,6 @@ { pkgs ? import { } }: let - f = (path: type: ! builtins.elem (baseNameOf path) [ ".git" "node_modules" "result" ]); - src = builtins.filterSource f ./.; + src = import ./source.nix; in pkgs.mastodon.override { pname = "mastodon-queer-af"; diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..e806251eb --- /dev/null +++ b/shell.nix @@ -0,0 +1,24 @@ +{ pkgs ? import { } }: +let + src = import ./source.nix; + gems = pkgs.bundlerEnv { + name = "mastodon-gems"; + gemdir = ./.; + }; + yarns = pkgs.mkYarnPackage { + pname = "mastodon-yarns"; + yarnNix = ./yarn.nix; + packageJSON = ./package.json; + version = "0.0.0"; + inherit src; + }; +in +pkgs.mkShell { + packages = [ gems gems.wrappedRuby pkgs.yarn pkgs.nodejs pkgs.foreman ]; + + RAILS_ENV = "development"; + + # The rails bits default to this, but the node bits don't, which cause weird + # errors trying to run the streaming component without sourcing a .envrc. + DB_HOST = "/var/run/postgresql"; +} diff --git a/source.nix b/source.nix new file mode 100644 index 000000000..973aad486 --- /dev/null +++ b/source.nix @@ -0,0 +1,4 @@ +let + f = (path: type: ! builtins.elem (baseNameOf path) [ ".git" "node_modules" "result" ]); +in +builtins.filterSource f ./.