When instantiating a Nix package via Bazel, the package set is called
with an empty map as the argument. From the Nix REPL or the dispatch
script, however, the package set is called without arguments.
This change adds a catch-all optional argument in the package set
which ensures that both use-cases are supported (similar to what
nixpkgs itself does).
Initial version of tool provider via Nix. This requires two separate
steps for adding a new tool:
1. New symlink in tools/bin to point at the dispatch script.
2. Mapping of tool to Nix package set attribute in dispatch script.
This updates some old code that makes assumptions via pattern matching
to instead make assumptions via a Prelude function.
This is known to be safe as it has been running fine for almost a
decade now, but the recent MonadFail changes broke the build.
Note that this does not actually build right now because Elm has done
a thing again to break the universe and it requires massive changes to
the application to make it work again.
For some reason that I can not be bothered to debug this mode will
only work correctly if initialised from inside this hook function (or
manually, after startup).
Adds a workaround for commercialhaskell/intero#569 by adding a
function that disables the offending GHCi flag in the Intero REPL, and
advising the `intero-repl` and `intero-repl-load` commands to always
execute it.
I did not manage to locate a common entrypoint to the REPL, but it's
probably not worth spending more time on as this will be fixed
properly in a future GHC release.
This is the first in a series of commits for refactoring my
configuration to make use of jwiegley's use-package.
In the previous layout of the configuration there were some questions
around what settings go into which file, but in the end it is all just
related to which packages are being configured (besides settings
related to global Emacs behaviour).
This commit introduces use-package forms for all currently used
packages (which are still installed via Nix, not via package.el) but
does not yet clean up the rest of the configuration in a suitable way.
Note that this version introduces a bug in which the configuration of
telephone line is not correctly initialised after package setup.
Adds a home-manager configuration that can be used in a Crostini
container running Nix. There isn't any truly ChromeOS-specific stuff
in this yet, as I've set up the interoperability with garcon etc.
manually for now.