Commit graph

973 commits

Author SHA1 Message Date
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
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
050b3aabaf fix(read-tree): Only add marker to imported attribute sets
Sometimes things that get imported are (intentionally) not attribute
sets, e.g. for build functions.

Those should not be merged with the marker because, well, that's not
possible.
2019-12-10 14:46:05 +00:00
Vincent Ambo
c93130c8c3 feat(aoc2019): Solve day 3 puzzles
Now this was quite something.
2019-12-10 14:45:28 +00:00
Vincent Ambo
da64d852ea refactor(read-tree): Simplify tree recursion logic
Rewrites the previous initial tick-tocking recursion into a more
straightforward style.

Every attribute set that is imported by readTree now also contains an
attribute called `__readTree` set to `true` which acts as a marker for
other types of tree traversals.

Unfortunately directories without any children or importable content
still result in empty attribute sets, but overall this might be the
better tradeoff vs. having to follow the recursion all the way at each
subtree level to determine which children exist.
2019-12-09 23:23:13 +00:00
Vincent Ambo
2b6b76570e feat(read-tree): Mark derivations that have children
Adds a `__treeChildren` attribute that is set to `true` on derivations
that have children, e.g. for cases where a folder contains a
`default.nix` but has subdirectories with additional things in them.
2019-12-09 19:51:15 +00:00
Vincent Ambo
c81be2f836 feat(aoc2019): Solve day 2 puzzles 2019-12-09 14:43:09 +00:00
Vincent Ambo
85fa12da33 feat(aoc2019): Solve day 1 puzzles 2019-12-09 14:43:01 +00:00
Vincent Ambo
ded10fbd83 feat(tools): Add auto-dispatch for Advent of Code solutions 2019-12-09 12:27:07 +00:00
Vincent Ambo
9fb24840ab chore: Remove old 'external' folder
What was the point of this? Noone knows!
2019-12-09 12:26:45 +00:00
Vincent Ambo
124e185628 fix(read-tree): Always import with locatedAt attribute 2019-12-09 12:22:33 +00:00
Vincent Ambo
514c48fdde feat(tools): Set up Advent of Code 2019 scaffolding 2019-12-09 11:44:21 +00:00
Vincent Ambo
e9431682b2 refactor: Move CI setup to separate Nix file
Instead of polluting the repository namespace with the list of CI
projects, move that to a separate file.

Currently the list of projects to be built by CI is still hardcoded,
but this will be fixed soon.
2019-12-09 10:58:09 +00:00
Vincent Ambo
a1ac598fa0 fix(overrides): Fix package importing for kontemplate 2019-12-09 04:27:40 +00:00
Vincent Ambo
b554b6274b fix(build): Install cachix from third_party 2019-12-09 03:46:19 +00:00
Vincent Ambo
7da979124f fix(third_party): Expose various other missing dependencies 2019-12-09 03:36:50 +00:00
Vincent Ambo
998a2ceb17 fix(third_party): Expose missing dependencies for Nixery 2019-12-09 03:19:03 +00:00
Vincent Ambo
97be9c1411 fix(third_party): Shuffle code around to be compatible with readTree
As per the previous commit these files were no longer being imported,
which is now fixed by moving them into separate subfolders.
2019-12-09 03:18:27 +00:00
Vincent Ambo
ff38ae6c5f fix(read-tree): Don't import default.nix sibling expression
If a folder contains a `default.nix`, Nix expressions contained in
adjacent files should not be imported (they might be things like a
`shell.nix` or a `deps.nix` which do not evaluate to derivations).

The tree traversal still continues for all children folders of a
folder with a `default.nix`.
2019-12-09 03:16:02 +00:00
Vincent Ambo
7044424f52 fix(writeElispBin): Add required nixpkgs attributes for elisp 2019-12-09 03:00:56 +00:00
Vincent Ambo
46e5a23937 fix: Amend import paths to use whitelisted nixpkgs 2019-12-09 02:55:22 +00:00
Vincent Ambo
39ba761663 feat(third_party): Explicitly expose packages from nixpkgs
Instead of exposing the entire package tree from nixpkgs, whitelist
individual packages explicitly so that they show up in
`pkgs.third_party`.

This makes it much easier to control external dependencies used by my
projects.

Bonus: It even includes a working `third_party.callPackage` with only
the whitelisted packages!
2019-12-09 02:55:04 +00:00