Vincent Ambo
431610e420
chore(overrides): Bump buildGo.nix
...
The new version correctly builds external binaries at package roots.
2019-12-15 15:58:15 +00:00
Vincent Ambo
53630e3b15
fix(external): Correctly determine binary name if locator is empty
...
If the root of a project is a binary, the previous logic would
generate invalid names.
This ensure that the last path component of the name is used.
2019-12-15 15:57:10 +00:00
Vincent Ambo
c16d9bb9b8
chore(tools): Add 'rink'
2019-12-14 17:53:33 +00:00
Vincent Ambo
cbe7b47a96
refactor(tools): __dispatch.sh now uses relative paths
...
This enables usage of __dispatch.sh from anywhere, even outside of the
depot.
Specifically this means I can add `~/depot/bin` to my $PATH and all
the registered tools work from anywhere.
2019-12-14 17:40:21 +00:00
Vincent Ambo
f69dfbc40e
fix(emacs.d): Fix loading of custom.el
2019-12-14 17:15:47 +00:00
Vincent Ambo
c8bf0f9008
feat(emacs.d): Add function to open depot in magit
2019-12-14 17:07:25 +00:00
Vincent Ambo
fea2191d15
chore(build): Build tools.emacs in CI
2019-12-14 16:00:04 +00:00
Vincent Ambo
7315ca331e
chore(emacs.d): Clean up <tab> bindings
...
One simple rule to rule them all: In prog-mode, <tab> tries to invoke
company.
2019-12-14 15:59:20 +00:00
Vincent Ambo
9df9fafd82
fix(emacs.d): Let emacs write to customize configuration
...
Configures Emacs' `customize` to write directly to my Emacs
configuration. This comes with the caveat that the new config will
only be loaded if my Emacs is rebuilt.
2019-12-14 15:38:03 +00:00
Vincent Ambo
fadf0619eb
feat(tools/emacs): Build fully pre-configured Emacs
...
Builds an Emacs that is not only configured with the required packages
but with the entire Emacs configuration for my personal setup.
This means that `nix-env -iA tools.emacs` will install a
fully-configured Emacs that can be launched as the window manager from
my ~/.xsession.
2019-12-14 15:25:04 +00:00
Vincent Ambo
7d03ab7140
chore(emacs.d): Move init/* to config/*
2019-12-14 15:24:53 +00:00
Vincent Ambo
1584607fb9
chore: Remove some configuration from a previous life
2019-12-14 14:56:13 +00:00
Vincent Ambo
bd7903815d
feat(emacs.d): Load local Emacs configuration if present
...
This allows me to have local Emacs configuration that is tracked
separately from the rest.
2019-12-14 13:35:03 +00:00
Vincent Ambo
c490bbf4b3
chore(emacs.d): Import several months of privately tracked changes
...
These changes were made in a fork of my configuration that is not
publicly available and detailed history will not be included in this
public commit.
2019-12-14 13:23:20 +00:00
Vincent Ambo
1f204f2891
feat(emacs.d): Display modeline time in dottime
...
See dotti.me for more information about dottime.
<3 edef
2019-12-14 13:22:28 +00:00
Vincent Ambo
c1ba41a62d
feat(emacs.d): Generalise counsel terminal selector
...
This makes it possible to use my terminal selector with any X11
terminal, configurable via two simple variables.
2019-12-14 13:21:12 +00:00
Vincent Ambo
bd7c9e4b5a
fix(writeElispBin): Use emacsPackagesNg
...
Ng is used by my Emacs derivation. I don't actually know what they do
differently, but it seems sensible to use the same one in both places.
2019-12-14 12:49:18 +00:00
Vincent Ambo
2b80265a1f
refactor(emacs): Rewrite derivation to match depot layout
2019-12-14 12:47:07 +00:00
Vincent Ambo
863f5b146d
chore(emacs): Move Nix derivation for building Emacs over from infra
2019-12-14 11:57:11 +00:00
Vincent Ambo
b4f835e21c
chore(infra/nixos): Remove deprecated local packages
2019-12-14 11:56:48 +00:00
Vincent Ambo
0a8aa95c73
chore(infra/nixos): Mark folder as "not to be evaluated"
2019-12-14 11:55:31 +00:00
Vincent Ambo
85be796407
fix(build): Import package set correctly for CI builds
2019-12-14 11:52:27 +00:00
Vincent Ambo
74b5054a43
merge(nixos): Merge (unrelated) NixOS config history into infra/
2019-12-14 11:45:21 +00:00
Vincent Ambo
3f199f9650
chore(nixos): Move NixOS config to infra/nixos
2019-12-14 11:44:01 +00:00
Vincent Ambo
3071ffdc8a
chore(third_party): Add derivation for gopkgs/golang/groupcache
2019-12-14 11:37:48 +00:00
Vincent Ambo
a80ebfb067
docs(emacs): Update README file
2019-12-14 11:32:54 +00:00
Vincent Ambo
b938d716ff
merge(emacs): Merge (unrelated) emacs.d history into tools/emacs
2019-12-14 11:31:25 +00:00
Vincent Ambo
15c61c0bee
chore(emacs): Move emacs config to tools/emacs
2019-12-14 11:30:56 +00:00
Vincent Ambo
00129e06b2
fix(build): Make repository callable in Nix
...
This is required for some things that expect package sets to be
callable, e.g. Nixery.
2019-12-13 21:32:35 +00:00
Vincent Ambo
dc6e0e86ad
chore(third_party): Bump nixpkgs channel
...
This channel is nixos-unstable on 2019-12-13.
2019-12-13 21:32:02 +00:00
Vincent Ambo
97e25e4dab
chore(overrides): Bump buildGo.nix to add ASM support
...
This is required to build `x/sys`, which is required by the blog_cli
2019-12-13 21:31:37 +00:00
Vincent Ambo
fe01b82c5d
refactor(tools/blog_cli): Build with buildGo.nix
...
This is the first Go package properly built with external dependencies
using buildGo.nix
2019-12-13 21:31:01 +00:00
Vincent Ambo
6220294f94
chore(third_party): Bump gopkgs needed for Google Cloud
2019-12-13 21:30:14 +00:00
Vincent Ambo
7f74980457
feat(external): Compile Go assembly and include it in pkg archive
...
This was the final step required to add support for packages that make
use of Go assembly, such as golang.org/x/sys.
2019-12-13 21:23:41 +00:00
Vincent Ambo
859c429b2f
feat(external): Include *.s (ASM) files in external builds
2019-12-13 15:15:53 +00:00
Vincent Ambo
cfae527cc1
feat(buildGo): Support linking of symabi files for ASM sources
2019-12-13 15:15:22 +00:00
Vincent Ambo
9594203e07
feat(third_party/gopkgs): Import external packages for Google Cloud
...
These packages contain the Cloud SDK for Go. There is currently a
linker issue (presumably due to something in `buildGo.nix`) that means
that projects using them can not actually be built.
2019-12-13 12:12:06 +00:00
Vincent Ambo
8b10c8d0f3
chore(overrides): Upgrade buildGo.nix
2019-12-13 12:11:50 +00:00
Vincent Ambo
5649c75d01
fix(external): Fix "inverted" local dependencies
...
Usually in large packages the root depends on one or more
sub-packages (or there is no root), but some projects (e.g.
golang.org/x/oauth2) do it the other way around.
This fix adds compatibility for both ways.
2019-12-13 12:10:32 +00:00
Vincent Ambo
9d5417501b
docs(README): Update description of buildGo.external
2019-12-13 00:39:53 +00:00
Vincent Ambo
369c86e0ef
fix(proto): Refactor gRPC dependencies to match new external layout
...
This is now a lot more fine-grained than before, but it actually works
fine.
This stuff is a bit annoying to write by hand. There are multiple
different options available (e.g. carrying an attribute set of all
subpackages in each `external` and only passing that, having a tool
generate this, etc.).
2019-12-13 00:39:53 +00:00
Vincent Ambo
41c28cf60e
fix(buildGo): Correctly refer to goGrpc package
2019-12-13 00:39:53 +00:00
Vincent Ambo
d8ef203f78
feat(external): Support foreign dependencies in external packages
...
Users can supply a list of foreign dependencies in calls to
buildGo.external. These are now appropriately inserted into packages
that *need them* and no further, resolving issues with complex
internal recursion in some repositories!
2019-12-13 00:39:53 +00:00
Vincent Ambo
218b81c709
fix(external): Skip folders with "no buildable Go files"
...
This error is returned by the build analysis logic if the target
package does not have any relevant Go files, which might be the case
if `+build` flags and such are used.
2019-12-13 00:39:53 +00:00
Vincent Ambo
39e73f42b2
style(external): Minor formatting fixes
2019-12-13 00:39:53 +00:00
Vincent Ambo
0dfa5d15fa
fix(buildGo): Update buildGo.proto for compatibility with external
...
Changes in the structure of buildGo.external meant that the package
layout for the protobuf library is now slightly different.
`proto` has been amended to work with the new structure. Callers of
buildGo.proto do not need to be updated (i.e. the example still
works).
2019-12-13 00:39:53 +00:00
Vincent Ambo
875628a097
feat(external): Switch between packages & programs automatically
2019-12-13 00:39:53 +00:00
Vincent Ambo
f5e3183de1
feat(buildGo): Expose new external builder
2019-12-13 00:39:53 +00:00
Vincent Ambo
c5373a69fe
feat(external): Implement builder function for externals
...
Implements a builder function that calls the analysis tool on the
provided source and builds up the required attribute set, including
local dependencies.
2019-12-13 00:39:53 +00:00
Vincent Ambo
bbf3a418a5
feat(external): Add fully qualified import path to analyser output
...
This is used by Nix to build the derivation names for individual
packages.
2019-12-13 00:39:53 +00:00