This was broken in my blog for way too long.
Change-Id: I03c45c666d67006a4608a4b19d6167ab692e321d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5905
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Instead of waiting for nixpkgs to [update home-manager], we can track
the upstream repository directly (using master as a channel seems to
be common practice) and overlay the up to date source into our nixpkgs
instance.
For //users/tazjin/home and //users/wpcarro/nixos/marcus, we need to
set `home.stateVersion`, since the default value for this option was
removed some time this summer.
[update home-manager]: https://github.com/NixOS/nixpkgs/issues/197907
Change-Id: I8c153fb7d3b55a4040652a5d619761b640119105
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7098
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
See blog post
Change-Id: I4b7dcdc85e5125876441b2f157e3d6ddc3cd3140
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7103
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Another note to Future Me
Change-Id: Icf2edbbc6118b2b689ff403c38e91a69089a27a2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7099
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Support an array that dynamically resizes itself, and replace usages of `List`,
`Array`, and `Queue` with `Vec`.
Change-Id: I910b140b7c1bdddae40e08f8191986dccbc6fddf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7080
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
I've been wanting to grok Haskell-style type inference for awhile, so instead of
just watching conference talks and reading papers about it, I've decided to
attempt to implement it to more readily test my understanding of it.
Change-Id: I69261202a3d74d55c6e38763d7ddfec73c392465
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6988
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This is useful when first setting up a device. Call `passwd` afterwards to
imperatively change the password.
Change-Id: I070f1cfaf05a38844ee363be4d511035e77096d6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7013
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Just to see how productive I could be in OCaml with little familiarity. Overall
I really like it.
Change-Id: I8affc65a5ee86a29d4f8c01426529ae9948660f9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6934
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I heard that register VMs might be slightly faster than stack VMs, and then it
occurred to me that I wouldn't know how to write a register VM if I tried. So I
wrote one (sort of).
Change-Id: I15309bca88f4b43f6e04957acedc90d9adf16673
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6902
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Mostly good, but I'm not sure it works with `git diff --patch`. Not a big deal
though if true.
Change-Id: I268c52dd253f5b0f9dd462a1825206da5dd86dd2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6889
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
i always seem to get this wrong
Change-Id: Ib6f31523aba1d9f9a32d9af95b96b8d75e0ec16e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6863
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Not sure why/how I ended-up with both dotfiles *and* configs, but I don't really
like working with `stow`, so I'm preferring dotfiles.
Change-Id: Id00566ea8206eef65b9a27dd4765c2d17f3d2317
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6865
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Upstream nixpkgs removed a lot of aliases this time, so we needed to do
the following transformations. It's a real shame that aliases only
really become discoverable easily when they are removed.
* runCommandNoCC -> runCommand
* gmailieer -> lieer
We also need to work around the fact that home-manager hasn't catched
on to this rename.
* mysql -> mariadb
* pkgconfig -> pkg-config
This also affects our Nix fork which needs to be bumped.
* prometheus_client -> prometheus-client
* rxvt_unicode -> rxvt-unicode-unwrapped
* nix-review -> nixpkgs-review
* oauth2_proxy -> oauth2-proxy
Additionally, some Go-related builders decided to drop support for
passing the sha256 hash in directly, so we need to use the generic hash
arguments.
Change-Id: I84aaa225ef18962937f8616a9ff064822f0d5dc3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6792
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
* //users/wpcarro/emacs: rls was removed from nixpkgs and is hopefully
no longer necessary in this emacs setup.
Change-Id: Ib8371da652c434e74eb67a2030b212a6423a1891
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6577
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Work machines should prefer `/hadrian` and personal machines should prefer
`/depot`.
Change-Id: I03b605cc5ce233767146d83f14f368863897cf8b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6368
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
There might be a better way to do this using `direnv`'s `use_nix` and shlevy's
`nix-buffer` Elisp package, but I'm doing this for now.
Change-Id: I4246c519f39eea1bde3191762b184b37d30fbeed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6049
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
I wonder if there's an Elisp linter that can catch these errors at nix-build
time.
Change-Id: Ib54e1e57e46ef81021fc373ceecab5a729646472
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6048
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This only somewhat works, and I don't really need it.
Change-Id: I4e78e5fd49ec07e6cb90a3feef8a4c87cb7b7707
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6047
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
CI couldn't catch this because the dependency is discovered at runtime, and
there were no tests consuming `list-concat`. Added the tests and removed the
usage of `-concat`.
Change-Id: I5bcce9aa8170001a9d35c104da09374ab30ffbc5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6043
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
new functions:
- duplicate
- last
- delete
- wrap
also:
- drop support for `list-head` (in favor of `list-first`)
- add optional arg to first
Change-Id: If3c48d4749a3bc5a853995996fa02a65a4076a10
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6041
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Let's just roll with the TVL conventions
Change-Id: I1b90421ca7d9ad0d1ebbe922afdc62f80f0d5e97
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6033
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Include asciinema, which is only valid for 7d because their email authentication
appears broken at the moment:
https: //github.com/asciinema/asciinema-server/issues/347#issuecomment-1203063694
Change-Id: I33a38586a6660cd8c89bd9aff2d2a452e3c61a0b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6032
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Support mutable variant of `struct-update`. Also remove the `dash` dependency in
`tests.el`.
Change-Id: I76fc809e96b7cbbd3b39fd16db339cb62eab002c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6027
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Restore `clipmenu.el` functionality!
After running `sudo rebuild-system` I still needed to
`systemctl --user start clipmenu`, which I didn't expect. Maybe this will DWIM
after a reboot.
Change-Id: I51550561c5b6d253cd52790749d07a2e3e72aecc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6024
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Would be nice to remove the top-level `if` statement, but I can't be bothered to
debug the first unit test without that workaround.
Change-Id: I4ba576bda915eeb11f9fbfeb5d95d8e5668fd0bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6022
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
These have passed the test of time.
Change-Id: I9ae2cfe0b29b0e63f9e98f158840bd0e5ba53bed
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6019
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Pretty useful (but still needs some polishing) library for working with `vterm`,
which I use on a daily basis.
Change-Id: Ic6693f52ad9b16b0b4dd1338aedeeccd6ff15379
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6017
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
According to SourceGraph, this is unused, but I'm checking it in for historical
purposes.
Change-Id: I24bcb1c71a9f6de527bb54057cf13d01493c45bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6016
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Another Elisp library that I wrote during my manic experience of switching to
EXWM.
Change-Id: I652f5c7228332a7f5822bd408a0c0be8f7bc4b4f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6018
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This was one of my original dumping grounds for Elisp functions. Nice to
demolish it.
Change-Id: I18102f04690131e66ec0d4362f8305e56e7a6ed7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6015
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Not sure how useful this package is, *but* I'm packaging everything I have now,
and then in a separate CL I can refactor and remove various libs.
Change-Id: Id106539b19244ea1586198992c7ce0d65a0a242b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6014
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
More fixes along the way
Change-Id: I6b62eb0545981c2792d6c70089fe81324ba2dbf0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6010
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I miss this mode (especially when writing lisp).
Change-Id: I4ebcd5011fd1abb67270214f292a3b883b8c0ca8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6007
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Attempting to use `depot.tools.releases.filteredGitPush` for the first
time. Exciting!
Change-Id: I620140b0454128ea2ca51496a7d653ee4219104e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6006
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This feature can be pretty annoying. I'm still not sure why when I have two
side-by-side dired buffers both close when I visit the parent
directory (pressing my "-" kbd).
Change-Id: I31419a975efb8dd08198febf1a442324c5947446
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6005
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This will likely break a few things since I've changed the names of a few
functions to reflect their mutative APIs.
Change-Id: If6279999fba50813b68e66d7713c12afd209eb90
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6004
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
I was getting false-positive ERT test results because I forgot to use the
`should` macro in my assertions. I discovered this when debugging a subtle bug
in cycle.el that depends on `list-contains?` return `t` or `nil` instead of
truthy or falsy values.
Change-Id: Ibbf89fd1c4f50f86d5efcaa4cd87280b97e111ce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6003
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Mostly just a wrapper around s.el (for now?). Eventually I'd like to prune the
dependency on dash.el (and maybe s.el).
Change-Id: I5c2ba256524bedd93fcd13933fdbd95b1ddff6f8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6002
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Originally I set-out to package `al.el`, but as I started traversing the
dependencies, I needed to package increasingly more packages. I refactored some
of these to prune their dependencies to slay this hydra before it turned into a
never-ending project. I have mixed feelings about this.
I also introduced `ert` and unit tests into my Elisp packaging, so it'll be nice
to have build-time tests that run when Emacs updates land in depot.
Change-Id: I2756dc60888b80255a495e08ae61bd547e6b3db2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5998
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
The end-goal is to package all of my Elisp libraries. Why?
- More granular builds/tests
- More explicitly defined dependencies
- Separate personal configuration from library code
- Ease distribution
Change-Id: I2507d129d3a0b3bf0cfe70b9790536a8b2093b96
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5969
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Another short post about strange encounters in sysadmin-land.
Change-Id: Ie71ca36553440d706ff808af91bed8e09008f909
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5944
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Shared between `ava` and `tarasco`. Also define `lib/default.nix` to share
utility functions like `usermod` between NixOS configurations.
Change-Id: I65b8d37520426e164c9d5f722bee4731a3c6e641
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5942
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
See post for more information :)
Change-Id: I1e2c1e3997d895fd64f225b5f0bc91f5b26d3e96
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5940
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
The overflow-x was a bit embarrassing. I also touched-up other things while I
was getting my hands dirty in the CSS.
Change-Id: I7bfdbb0ab05c67f35fb11672b3dfc29b6c5a53d1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5927
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Read the blog post for more information :)
Change-Id: I46a2f8ec9dc0a6546062e645f34186aa9195c70f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5907
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
The blog functions render the title from `posts.nix` already.
Change-Id: I68b35039d6fbf3bc342cfe772e919d126f3ac08e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5906
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This has been sloppy for awhile...
While I'm at it modularize some of my Nginx configuration.
Side note: might be time to decouple the Terraform provisioning stuffs from the
NixOS configuration, and this feels *too* tightly coupled.
Change-Id: Ida0da5462d938b956571321a67ba1f026fb0a7de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5902
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI