This is handy for pasting a git commit SHA in magit's checkout minibuffer.
I also removed the dependency on clipboard.el because clipboard-yank is defined
elsewhere.
Change-Id: I6872bf63e4ba9c2b186466d083e6798123d417cc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5286
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Thankfully CI caught this bug by evaluating my Emacs init script; however, this
could've been caught even earlier if each of my Elisp modules were packaged with
Nix and be individually evaluated.
That change will come soon enough...
Change-Id: I987bab22a388c43183f79ace41ed97be83578ba6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5285
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
TODO:
- import this into SQL
- support ST-like query syntax to simplify SELECT statements
- add server and web app to query the table
- deploy web app
- add URLs to table
- extend web app to track how often users hit these techniques in rolls
Change-Id: Icecfbbc5e457a1dddad7b37fc1c0752d6e4b62e1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5284
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
It turns out that the netencode spec requiring to ignore *later*
entries meant that every parser has to do an extra check for each
element, instead of just overriding the key in the hash map.
This leads to a situation where the simple implementation is the wrong
one, which would lead to very subtle problems in parsers (see also the
infamous “json duplicate record entry” problem which has been used for
various exploits in the past).
To be fair, exploits are still possible, but at least a `Map.fromList`
will be the right implementation (provided it folds from the left) now
instead of the wrong one.
Examples of the trivial implementation being now right:
Python:
> dict([("foo", 1), ("foo", 2)])
{'foo': 2}
Rust:
> println!("{:?}", HashMap::from([
("foo", 1),
("foo", 2)
]));
{"foo": 2}
Haskell:
> Data.Map.fromList [ ("foo", 1), ("foo", 2) ]
fromList [("foo",2)]
Change-Id: Ife9593956f4718e5e720f4f348c227e4f3a71e2d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5108
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: Profpatsch <mail@profpatsch.de>
Trying out this workflow for awhile to see if I save some keystrokes.
Change-Id: I28532be04b1de971559c8df5a3717facbdfc4f00
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5278
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This will make sure that the db is updated regularly (on every channel
bump). This is fine, because an advisory no longer implies a build
failure.
Change-Id: I1dc0b335e0881b5c58015da63c3c47f1ab1e645f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4554
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Instead of the strict check-all-our-crates, generate a fake Cargo.lock
and add it to the report generated by check-all-our-lock-files.
check-all-our-crates was a reimplementation of cargo-audit anyways and
prevented us from updating the advisory db due to its strict
model (failing on any advisory).
Change-Id: I264a7f1a5058a527cbc46d26225352ecd437a22b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5230
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Rename check-all-our-lock-files to tree-lock-file-report and pull out
all the buildkite-specific code which makes the code less awkward.
check-all-our-lock-files is then only executed in extraSteps and runs
tree-lock-file-report on depot, adding it as a warning to the pipeline
if it is non-empty.
Change-Id: If6bd236d90cc680cba0ed4e988f2f28ddb8012d6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5229
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
This script is somewhat usable by humans (it even has a help screen!)
and can be reused in //users/sterni/nixpkgs-crate-holes. We are using
bash since that allows us to exit with the actual exit code of
cargo-audit - something that's not possible in execline.
Change-Id: I3331ae8222a20e23b8e30dc920ab48af78f0247c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5228
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
With this change it becomes possible to push back to code.tvl.fyi
through josh views.
We probably want to change this patch so that it can be upstreamed,
but for now I just want to get this to work.
Change-Id: I7cdacf384e38da6ba9621e5818cfaf7c5d5c99a2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5273
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
Instead of managing Postgres connections on our own, use the
`with-connection` postmodern function with pooling enabled as a route
decorator.
This should resolve at least some of the issues from b/113 with
leaking connections, and an unreported issue with connections being
reused while transactions are in progress.
Change-Id: I1ed68667a3240900de1ae69df37d2d3018caf204
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5198
Tested-by: BuildkiteCI
Reviewed-by: eta <tvl@eta.st>
Autosubmit: tazjin <tazjin@tvl.su>
I want to add a shortcut to build and run e.g. scripts that are depot
targets - for which it would be useful to not have stdout polluted by
magrathea itself.
Change-Id: Ic58fe28eafb4d0715e53beae041bfaa5d1745812
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5276
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
* //nix/buildLisp: re-enable CCL, as the crash has been fixed upstream,
although it is unclear what exactly caused / fixed it.
* //ops/whitby: the kitty build broke upstream, so we can't install the
terminfo on whitby for a bit.
Change-Id: I5710acbe837fbc936e334b2e81f9cf00ed6ae280
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5274
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
TL;DR:
- remove stale entries
- add entry for buying TSLA for 401k
- (partially) normalize habits.org by referencing ./first-of-the-month.org
Background:
Earlier today I automated as much of my investments as I can...
- crypto account auto-buys crypto 2x/mo
- Fidelity doesn't support auto-purchases of individual stocks, so I opened a
Robinhood account to auto-purchase stock 2x/mo
The only remaining thing that AFAIK I *cannot* automate is auto-stock-purchases
for TD Ameritrade (my SDBO 401k account). I don't think I can transfer this to
Robinhood because Vanguard controls which brokerages they're compatible
with. This should still be a big time-saver.
As such, it's time to rely on playbooks for this, so I'm dusting-off the
first-of-the-month.org playbook.
Change-Id: I545f8de20a0a30cac597400c4114b4549671a91d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5267
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
josh adds all of the contents from the directory that hosts the `workspace.josh`
file.
Change-Id: I7564454df88886f72d02a9be88640c42cee60fc5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5266
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Reuse the same buffer from which magit was invoked.
Change-Id: I20f661c8414cd6482d9374f9412186c66b736b94
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5265
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
🚨 This is just a test 🚨
I'm experimenting with exporting some of my work from depot to Github using
josh.
I tried testing this locally, but it was a bit of a pain because I need to run:
1. git server locally
2. josh server as a proxy
Step 2 is easy, but I'm not sure how quickly I can setup a git server, and I
decided that just committing this work might be faster.
Next up (pseudocode):
```
$ git clone https://code.tvl.fyi/depot.git:workspace=users/wpcarro/emacs.git ~/github/emacs
$ cd ~/github/emacs
$ git remote add github git@github.com:wpcarro/emacs
$ git push github
$ # ...something like that
```
Note to self: figure out how to easily setup a git server locally, so that I can
test these changes more easily without spamming depot with test commits.
Change-Id: I0f198e00c60e06941b69f35ef389b936cf3ff659
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5263
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
Instead of using a python interpreter for quick calculations, try using `rink`.
Change-Id: I95271a394a183e5e7645873f781ed0051c86988a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5262
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
We really need target list diffing, would have caught this earlier.
Change-Id: Ifc064400b3115c6e2242d0b503cde4216b2ee787
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5257
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
We're now using the upstream versions of all of these with minor
overrides, no separate nonsense required.
Change-Id: I61ace7ccf7ff807ef3c7219b36e08629a2251699
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5246
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
The rustfmt configuration of the depot is moved to `rustfmt.toml` (it
is recognised more reliably from this path than from the hidden
.rustfmt.toml).
Nested configuration is theoretically possible, but detection of
nested config files is flaky. Paths with nested config files need to
be disabled in the top-level check (I've excluded my user directory).
Change-Id: I385ce3ef529bda28fac03bfba86fc204c81b8a61
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5241
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Also move prompt.fish out of configs, which is a deprecated location.
Change-Id: I95360bc24b0b147a611881ed53e70bf1f9e5deea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5256
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
... and build //third_party/nix with the one from nixpkgs.
Change-Id: Iae7f1772a31286f2c22955cdc1fe61ee82d112aa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3016
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
apparently the cache can get out-of-sync or something; either way we
had a build where it missed a file that was misformated.
Change-Id: I2967aec99ee1c7c8b978a3dfdfed4ff213bb6591
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5249
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
In some cases we want to be able to "emergency approve" something on
behalf of a different user.
Example cases:
* clean up of abandoned directories with restrictive OWNERS
* security fixes blocked on people in different timezones
This script can be used to perform these approvals if the user is a
member of depot-interventions. Note that access to depot-interventions
is audit logged.
The user on behalf of whom approval is performed is always added to
the attention set to ensure that they are made aware of the CRFO
approval.
Note: This depends on nixpkgs#156466. Keeping WIP until we have a
channel with that patch.
Change-Id: I16e5f9d7baa9daab49c88b629bb8f024aad9d94c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5085
Tested-by: BuildkiteCI
Reviewed-by: kn <klemens@posteo.de>
Reviewed-by: sterni <sternenseemann@systemli.org>
this feature makes it so that if you jump to a workspace by index, and
then ask to jump that same index again, you end up where you started.
this is useful for quickly jumping to something to look at it, and
then back.
Change-Id: I12f5bba88c0d5b3ae5956d2b6a606f49146551f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5244
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI