Commit graph

1155 commits

Author SHA1 Message Date
Vincent Ambo
fe243d32fe feat(direnv): Add REPO_ROOT variable in workspace
Makes it quick & easy to do things from the root.
2019-07-04 16:05:32 +01:00
Vincent Ambo
407a65b9ba refactor(tazblog): Move required GHC extensions into source
Necessary because Cabal is going away.
2019-07-04 16:05:14 +01:00
Vincent Ambo
d26cf3d806 fix(build): Work around rules_nixpkgs repository setup
Specifying a local repository from a Nix file is expected to be
referencing an external nixpkgs source.

However, in this monorepo setup the root of the repository itself is
the Nix package set and a workaround in the `external` folder is
required to import it into Bazel.
2019-07-04 15:59:42 +01:00
Vincent Ambo
81a0a96225 fix(bazel): Always use Haskell toolchain from Nix 2019-07-04 15:57:29 +01:00
Vincent Ambo
27c3e77d2f feat(tools): Add custom GHC with dependencies to env 2019-07-04 15:57:12 +01:00
Vincent Ambo
6fbdf41b05 feat(build): Introduce pre-packaged GHC with dependencies via Nix
This uses the Nix infrastructure's Haskell setup to create a GHC
derivation that comes with all required Haskell packages, fetched &
built via Nix.

Downstream packages that want to make use of Haskell dependencies need
them to be added to this list.
2019-07-04 15:55:13 +01:00
Vincent Ambo
ca549e4edc fix(bazel): Ensure that CC toolchain from Nix is used 2019-07-04 15:54:53 +01:00
Vincent Ambo
0bc731ee1b feat(build): Add WORKSPACE configuration for Bazel
This sets up Haskell & Nix rules in the workspace.
2019-07-04 11:19:40 +01:00
Vincent Ambo
64275e446e feat(third_party/bazel): Check in rules_nixpkgs from Tweag 2019-07-04 11:18:37 +01:00
Vincent Ambo
f723b8b878 feat(third_party/bazel): Check in rules_haskell from Tweag 2019-07-04 11:18:12 +01:00
Vincent Ambo
2eb1dc26e4 feat(tools): Add symlinks for bazel & stylish-haskell 2019-07-04 11:17:34 +01:00
Vincent Ambo
2b31921c3e fix(nix): Ensure package set is callable with/without args
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).
2019-07-04 11:15:59 +01:00
Vincent Ambo
af7cbf64e5 feat(dotenv): Set NIX_PATH for entire workspace 2019-07-04 11:15:31 +01:00
Vincent Ambo
b2f40b6ed8 fix(tools): Ensure dispatch script passes arguments correctly 2019-07-04 11:15:15 +01:00
Vincent Ambo
892493a478 feat(tools): Add dispatcher script to transparently access tools
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.
2019-07-02 16:40:51 +01:00
Vincent Ambo
c31a0b552b feat(git-appraise): Add Nix build configuration 2019-07-02 14:39:49 +01:00
Vincent Ambo
fe642c30f0 feat(third_party): Check in git-appraise 2019-07-02 14:19:12 +01:00
Vincent Ambo
e03f063052 merge(infra): Embed infrastructure configuration into monorepo
This contains DNS and NixOS module configuration.
2019-07-02 12:48:14 +01:00
Vincent Ambo
a131b30514 refactor(infra): Move infrastructure into monorepo structure 2019-07-02 12:48:05 +01:00
Vincent Ambo
915a2f8464 fix(tazblog): Ensure build works with MonadFail changes
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.
2019-07-02 12:42:28 +01:00
Vincent Ambo
b51a53c936 chore(build): Add Gemma to package set
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.
2019-06-29 14:28:41 +01:00
Vincent Ambo
e2951dc9f5 merge(gemma): Integrate Gemma into monorepo 2019-06-29 14:14:35 +01:00
Vincent Ambo
60532a541b refactor(gemma): Move Gemma source into monorepo stucture 2019-06-29 14:13:58 +01:00
Vincent Ambo
545d9a2db9 docs(third_party): Add README 2019-06-29 14:12:38 +01:00
Vincent Ambo
4cefb9256a feat(build): Add top-level package index file 2019-06-29 14:12:24 +01:00
Vincent Ambo
5c3ac08fcf feat(tazblog): Add Nix build configuration 2019-06-29 14:11:56 +01:00
Vincent Ambo
207c6dac0c merge(tazblog): Integrate blog into monorepo 2019-06-29 14:02:28 +01:00
Vincent Ambo
47f2145b5b chore(tazblog): Remove files from ye olde times 2019-06-29 14:01:28 +01:00
Vincent Ambo
85dbb4cc23 chore: Keep project root under MIT license
To comply with Google's open-source patching rules :)
2019-06-28 22:56:48 +01:00
Vincent Ambo
2373c925e1 refactor: Move tazblog into monorepo structure
It's happening!
2019-06-28 22:55:39 +01:00
Vincent Ambo
b681368217 chore: Initialize tazj.in monorepo 2019-06-28 22:50:53 +01:00
Vincent Ambo
83f1b769fb feat(adho): Add Kulturhuset and Forest & Brown wifis 2019-02-11 14:54:24 +01:00
Vincent Ambo
9b35db823f chore(init): Remove adjust-parens configuration
This package is actually kind of annoying.
2019-02-10 21:43:54 +01:00
Vincent Ambo
09daca2fea fix(init): Move ace-window-display-mode into hook function
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).
2019-02-10 21:43:54 +01:00
Vincent Ambo
bdff24f52b fix(init): Initialise ace-window-display-mode on launch 2019-02-10 21:43:54 +01:00
Vincent Ambo
4a53a084a5 feat(mail): Refresh unread mail count more often
Decreases the interval from 90 seconds to 30 seconds.
2019-02-10 21:43:54 +01:00
Vincent Ambo
dd5c880138 chore(nixos): Reshuffle EXWM screen assignment on adho 2019-02-10 21:43:54 +01:00
Vincent Ambo
5b5f051b13 refactor: Reutilise multi-term commands for Alacritty buffers
In practice I never use multi-term, but it's nice to have the same
buffer selection functionality for Alacritty buffers.
2019-02-10 21:43:54 +01:00
Vincent Ambo
2c5946163c fix(nix-mode): Use nix-indent-line as indentation function 2019-02-10 21:43:54 +01:00
Vincent Ambo
0f9136ab88 feat(custom): Enable intero-global-mode 2019-02-10 21:43:54 +01:00
Vincent Ambo
dd2ba5aafc fix: Use indent-relative in Kotlin buffers 2019-02-10 21:43:54 +01:00
Vincent Ambo
ee143eaf14 fix: Run GHCi-workaround /after/ switching to REPL buffer
This simply changes the advice position. This way around makes more
sense in case that the REPL is just being started up.
2019-02-10 21:43:54 +01:00
Vincent Ambo
bab9f15a33 fix: Add temporary workaround for Intero + GHC 8.4 bug
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.
2019-02-10 21:43:54 +01:00
Vincent Ambo
0cf7af4403 fix(cargo): Disable keybinding for 'cargo clean' 2019-02-10 21:43:54 +01:00
Vincent Ambo
d74692acf2 chore(custom): Configure Intero to use 0.1.31 backend 2019-02-10 21:43:54 +01:00
Vincent Ambo
e0a8a6f35f feat(functions): Add function to start inferior Erlang via Nix 2019-02-10 21:43:54 +01:00
Vincent Ambo
5b32cd74c6 feat(mail): Add counsel-notmuch support 2019-02-10 21:43:54 +01:00
Vincent Ambo
dea6ece741 chore(init): Comment out multi-term configuration
Multi-term is currently broken, I think this may be related to Emacs
26, but as I don't actively use it much I haven't investigated more.
2019-02-10 21:43:54 +01:00
Vincent Ambo
660fc549f4 feat(init): Reintroduce sly configuration
Sly is back!
2019-02-10 21:43:54 +01:00
Vincent Ambo
47ba177c00 fix(init): Fix setup of lisp modes 2019-02-10 21:43:54 +01:00