Commit graph

15619 commits

Author SHA1 Message Date
William Carroll
c187d89f27 Rename socrates/default.nix -> socrates/configuration.nix
readTree uses the output attribute set of default.nix as the value for
nixos.socrates, which disables me from resolving nixos.socrates.rebuild since
there is no rebuild attribute in the output attribute set from default.nix.

If I rename default.nix -> configuration.nix, I can resolve
nixos.socrates.{configuration,hardware,rebuild}.
2020-03-07 16:17:23 +00:00
William Carroll
694ca4a85f Ensure socrates/default.nix is a function
Nix complains that `nixos.socrates` is not a function but a set. By adding
`{ ... }:` to the top of the file, I'm hoping to change it from a set to a
function.
2020-03-07 16:17:23 +00:00
William Carroll
5ba3f2b572 Attempt to serve {learn,blog}.wpcarro.dev
Reading an Nginx tutorial and trying to port the information over to NixOS.
2020-03-07 16:17:22 +00:00
William Carroll
431b4980e4 Remove fix-point recursion from socrates/default.nix
The fixed-point recursion isn't necessary.
2020-03-07 15:07:32 +00:00
Abseil Team
40a0e58eb3 Export of internal Abseil changes
--
e6e6dacbde7e4f997e5c29f27c96f86d48e8d5d9 by Abseil Team <absl-team@google.com>:

Minor typo fix.

PiperOrigin-RevId: 299155812
GitOrigin-RevId: e6e6dacbde7e4f997e5c29f27c96f86d48e8d5d9
Change-Id: I900afc4fe7355e0b081588351160dbd600c84729
2020-03-06 15:14:07 -05:00
William Carroll
b04b1dafd2 Implement an in-place shuffling algorithm
I believe this may be the Fisher-Yates shuffle, but I'm not sure.
2020-03-06 18:45:55 +00:00
William Carroll
a9ac4f925b Support root directory and dirs like /tmp
Properly handle display the root directory and sub directories.
2020-03-06 18:45:55 +00:00
William Carroll
5d656b646f Include notmuch as an Emacs dependency
`(require 'notmuch)` in `email.el` broke my Emacs initialization. This should
fix that.
2020-03-06 18:45:55 +00:00
William Carroll
28af585f3d Include NIX_PATH settings in nix/rebuild-emacs function
I'm currently setting NIX_PATH in ~/briefcase/shell.nix. This means when I call
`nix/rebuild-emacs` from a buffer that is inside the briefcase directory, the
command succeeds because NIX_PATH is properly defined. When I call
`nix/rebuild-emacs` from any other location it fails.

I'm hard-coding the NIX_PATH in this command so that I can call
`nix/rebuild-emacs` from any buffer that is currently active.
2020-03-06 18:45:55 +00:00
William Carroll
96ff26e5ca Support nix/home-manager-switch
As a part of my plan to reduce my dependence on the shell, I defined an Elisp
function to call `home-manager switch` from `M-x`.
2020-03-06 18:45:55 +00:00
William Carroll
2eb9259a1b Manage fish with home-manager
I patched home-manager locally to support fzf keybindings for fish. I will PR
this into home-manager, but I haven't yet, which means that my home.nix file
depends on my local ~/home-manager.
2020-03-06 18:45:55 +00:00
William Carroll
fe61dee511 Splice configs/shared directory
- Move all children from configs/shared into configs.
- Delete "shared" directory.
2020-03-06 10:15:29 +00:00
William Carroll
137bd6dc0c Drop support for terminator
I've been consistently using vterm enough that I don't think I will change
shells anytime soon. Couple this with my previous commit where I hint that I'd
like to curb all terminal usage if possible, and it seems unlikely that I'll
want to keep this terminator configuration.
2020-03-06 10:15:29 +00:00
William Carroll
382ef0be55 Drop support for rofi
Rofi is a nicer alternative to dmenu, but I use neither dmenu nor rofi, so
farewell.
2020-03-06 10:15:29 +00:00
William Carroll
fd0595805f Drop support for mpd
If I'm being candid, I'm not even sure I remember what mpd does. My current
guess is that it's a music player daemon.
2020-03-06 10:15:29 +00:00
William Carroll
e31e8d7dcc Drop support for lf
While I like lf, I don't use it enough to maintain this configuration.
2020-03-06 10:15:29 +00:00
William Carroll
86850e9c61 Drop support for .g4d
I have an Elisp module that encodes these aliases mappings.
2020-03-06 10:15:29 +00:00
William Carroll
813c7f94de Drop support for desktop and laptop
As I pruned increasingly more dependencies, the few dependencies that desktop
and laptop hosted were too trivial for me to justify supporting. And so, I no
longer support them.
2020-03-06 10:15:29 +00:00
William Carroll
f2d9af2745 Support gpg-agent with home-manager
A previous commit supported gpg.conf; this commit supports gpg-agent.conf. I
still have other files in my .gnupg directory that I should audit.
2020-03-06 10:15:29 +00:00
William Carroll
19742e7790 Add programs to home-manager
Support commonly used programs like fd, exa, bat, etc.

For now, I'm unsure how to manage the programs in my emacs/default.nix with my
home.nix. I'll wait until I have a stronger opinion to handle this.
2020-03-06 10:15:29 +00:00
William Carroll
f645b6dadf Support fzf with home-manager
Because (to my knowledge) home-manager doesn't support fish-shell, I need to
retain some fzf-specific configuration in my fish/config.fish file.
2020-03-06 10:15:29 +00:00
William Carroll
cb3d1da6c9 Support lorri with home-manager
Prefer starting lorri with home-manager.

Note: I could have removed the `systemctl --user start lorri.service` line
before switching to home-manager by calling `systemctl --user enable
lorri.service`. This would have made a symlink in
`~/.config/systemd/user/default.target.wants`.
2020-03-06 10:15:28 +00:00
Abseil Team
cf3a1998e9 Export of internal Abseil changes
--
44ccc0320ffaa2106ba3c6393b5a40c3b4f7b901 by Abseil Team <absl-team@google.com>:

Clarify span iterator documentation.

PiperOrigin-RevId: 299110584

--
80d016d8026b8d6904aa0ff2d5e1c3ae27f129bb by Greg Falcon <gfalcon@google.com>:

Add Cord::TryFlat().

PiperOrigin-RevId: 298889772

--
da6900203f1e4131d5693cbca157b6dba099bbed by Greg Falcon <gfalcon@google.com>:

clang-format cord_test.cc.

PiperOrigin-RevId: 298851425
GitOrigin-RevId: 44ccc0320ffaa2106ba3c6393b5a40c3b4f7b901
Change-Id: Ia5394f6fbb473d206726fdd48a00eb07a6acad6a
2020-03-05 20:52:21 +00:00
William Carroll
0045a0dd5a Drop support for Tmux
I haven't used Tmux for months.

I also suspect that using the terminal in general may be a crutch. Ideally I
could replace everything I do in the terminal with Emacs analogues. Perhaps one
month I'll force myself to work without a terminal to see what happens.
2020-03-05 15:04:04 +00:00
William Carroll
c6dac53b72 Drop support for cloudtop
While I do still technically own a Google cloudtop device, I haven't used it in
at least six months. In the interest of pruning non-critical dependencies, I'm
deleting it. I can alway restore it thanks to Git.
2020-03-05 15:04:04 +00:00
William Carroll
77633d22ae Drop support for personal_laptop
My former Manjaro device is now a NixOS device called "socrates", which hosts
this git repo and a few other projects.
2020-03-05 15:04:04 +00:00
William Carroll
df035ca832 Use home-manager to support SSH
I didn't port everything from .ssh/config to home-manager. I omitted a few hosts
that I don't connect to anymore. I also omitted the `corp-ssh-helper`
configuration.
2020-03-05 15:04:04 +00:00
William Carroll
86e1b82d2d Drop support for ncmpcpp
I don't think I ever fully setup ncmpcpp. This configuration has been collecting
dust in my monorepo for awhile.
2020-03-05 14:20:08 +00:00
William Carroll
bfa1aea14f Drop support for irssi
I've been using ERC for awhile, and I haven't switched back to irssi.
2020-03-05 14:19:44 +00:00
William Carroll
87f592750d Drop support for gvcci
I supported gvcci before I switched to EXWM. Now that I'm using EXWM, I prefer
keeping things simple and using Doom's solarized-light theme.
2020-03-05 14:15:52 +00:00
William Carroll
32fb5b9a1b Move gpg.conf to home-manager
- Migrate gpg.conf settings to home-manager
- Delete gpg.conf
2020-03-05 14:14:03 +00:00
William Carroll
28745c5f84 Drop support for Docker
I don't use Docker shells enough to justify maintaining this.
2020-03-05 14:10:23 +00:00
William Carroll
3b689f03de Support gitconfig with home-manager
- Migrate configuration from .gitconfig to home-manager.
- Delete .gitconfig.
- Delete .gitignore because I'm not using OSX anymore.
2020-03-05 14:09:21 +00:00
William Carroll
0cb1086adc Support Nix home-manager
Last night @adisbladis convinced me to try home manager. I'm growing weary of
wrestling with symlinks, so I'm willing to give this a try.
2020-03-05 13:18:17 +00:00
Daniel Høyer Iversen
af95fa2446
Add --joinwifi option to configure the device with Wifi details (#296) 2020-03-04 22:27:55 +01:00
Daniel Høyer Iversen
e151a14a7b
decode is not needed for python3 (#298) 2020-03-04 22:27:22 +01:00
Daniel Høyer Iversen
654db0935b
Fix new RM mini3 (#305)
* Fix new RM mini3

Some little change

* Fix new RM mini3

Some little change

Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
2020-03-04 22:26:23 +01:00
Daniel Høyer Iversen
e84becd05b
Add support for specifying destination IP address to use in discovery (#313)
Co-authored-by: Kja64 <Ken@lkv20.dk>
2020-03-04 22:25:00 +01:00
Daniel Høyer Iversen
ec4df39665
Add 27de RM Mini 3 (C) (#314)
I have a 0x27de RM Mini 3, as inspired by https://github.com/lprhodes/broadlinkjs-rm/blob/master/index.js, I added the identification and python-broadlink would handle it properly.
2020-03-04 22:24:33 +01:00
Daniel Høyer Iversen
8e7446f410
Fix CBC mode padding and use adler32 for checksums (#315)
* Fix CBC mode padding and use adler32 for checksums

* Change line order

This change comes to improve the readability of the code.

* Use zero-padding for CBC mode
2020-03-04 22:24:09 +01:00
William Carroll
26c340bfd2 Drop support for functions.fish
I'm not using the functions defined in this file, and it is causing me in
trouble.
2020-03-04 20:43:31 +00:00
William Carroll
8695b5b1d1 Drop support for hub
I'm not using hub much lately and it's causing me trouble.
2020-03-04 20:39:37 +00:00
William Carroll
4a1523caba Ensure fish config is compatible with Tramp
Ensure that my config.fish does not interfere with Tramp.
2020-03-04 20:16:53 +00:00
William Carroll
dec005ea34 Consume top-level emacs attribute
Refactor `nix/rebuild-emacs` to consume newly defined top-level emacs
attribute.
2020-03-04 19:49:45 +00:00
William Carroll
b0dfa088a5 Move emacs to top-level nix expression
When I run `nix-build -f '<briefcase>' -iA emacs`, readTree will define...
- pkgs
- depot
- briefcase
...and whatever else I choose to define.
2020-03-04 19:49:45 +00:00
William Carroll
11d8336733 Support custom fish prompt
Today I wrote myself a custom fish prompt. It's mostly what I'd like, but I'd
like to finely tune it a bit. I'd like to create a separate repository to
release this. In that repository, I'll explain why I wrote this.
2020-03-04 19:49:45 +00:00
Abseil Team
b19ba96766 Export of internal Abseil changes
--
a3e58c1870a9626039f4d178d2d599319bd9f8a8 by Matt Kulukundis <kfm@google.com>:

Allow MakeCordFromExternal to take a zero arg releaser.

PiperOrigin-RevId: 298650274

--
01897c4a9bb99f3dc329a794019498ad345ddebd by Samuel Benzaquen <sbenza@google.com>:

Reduce library bloat for absl::Flag by moving the definition of base virtual functions to a .cc file.
This removes the duplicate symbols in user translation units and  has the side effect of moving the vtable definition too (re key function)

PiperOrigin-RevId: 298617920

--
190f0d3782c63aed01046886d7fbc1be5bca2de9 by Derek Mauro <dmauro@google.com>:

Import GitHub #596: Unbreak stacktrace code for UWP apps

PiperOrigin-RevId: 298600834

--
cd5cf6f8c87b35b85a9584e94da2a99057345b73 by Gennadiy Rozental <rogeeff@google.com>:

Use union of heap allocated pointer, one word atomic and two word atomic to represent flags value.

Any type T, which is trivially copy-able and with with sizeof(T) <= 8, will be stored in atomic int64_t.
Any type T, which is trivially copy-able and with with 8 < sizeof(T) <= 16, will be stored in atomic AlignedTwoWords.

We also introducing value storage type to distinguish these cases.

PiperOrigin-RevId: 298497200

--
f8fe7bd53bfed601f002f521e34ab4bc083fc28b by Matthew Brown <matthewbr@google.com>:

Ensure a deep copy and proper equality on absl::Status::ErasePayload

PiperOrigin-RevId: 298482742

--
a5c9ccddf4b04f444e3f7e27dbc14faf1fcb5373 by Gennadiy Rozental <rogeeff@google.com>:

Change ChunkIterator implementation to use fixed capacity collection of CordRep*. We can now assume that depth never exceeds 91. That makes comparison operator exception safe.

I've tested that with this CL we do not observe an overhead of chunk_end. Compiler optimized this iterator completely.

PiperOrigin-RevId: 298458472

--
327ea5e8910bc388b03389c730763f9823abfce5 by Abseil Team <absl-team@google.com>:

Minor cleanups in b-tree code:
- Rename some variables: fix issues of different param names between definition/declaration, move away from `x` as a default meaningless variable name.
- Make init_leaf/init_internal be non-static methods (they already take the node as the first parameter).
- In internal_emplace/try_shrink, update root/rightmost the same way as in insert_unique/insert_multi.
- Replace a TODO with a comment.

PiperOrigin-RevId: 298432836

--
8020ce9ec8558ee712d9733ae3d660ac1d3ffe1a by Abseil Team <absl-team@google.com>:

Guard against unnecessary copy in case the buffer is empty. This is important in cases were the user is explicitly tuning their chunks to match PiecewiseChunkSize().

PiperOrigin-RevId: 298366044

--
89324441d1c0c697c90ba7d8fc63639805fcaa9d by Abseil Team <absl-team@google.com>:

Internal change

PiperOrigin-RevId: 298219363
GitOrigin-RevId: a3e58c1870a9626039f4d178d2d599319bd9f8a8
Change-Id: I28dffc684b6fd0292b94807b88ec6664d5d0e183
2020-03-03 17:32:55 -05:00
Augusto Righetto
06f0e767d1
BuildBreak: UWP apps can't call GetModuleHandle (#596)
* BuildBreak: UWP apps can't call GetModuleHandle

It is not possible to load RtlCaptureStackBackTrace at static init time in UWP.
CaptureStackBackTrace is the public version of RtlCaptureStackBackTrace.

* Using WINAPI_FAMILY_PARTITION family of macros

Using WINAPI_FAMILY_PARTITION family of macros for detecting when building for UWP or Desktop.

* Simplifying comment to please lint tool.
2020-03-03 10:26:59 -05:00
William Carroll
549e56186b Solve InterviewCake's product-of-other-numbers
This problem challenged me: without using division, write a function that maps a
list of integers into a list of the product of every integer in the list except
for the integer at that index.

This was another greedy algorithm. The take-away is to first solve the problem
using brute force; this yields an algorithm with O(n*(n-1)) time
complexity. Instead of a quadratic time complexity, a linear time complexity can
be achieved my iterating over the list of integers twice:
1. Compute the products of every number to the left of the current number.
2. Compute the products of every number to the right of the current number.

Finally, iterate over each of these and compute lhs * rhs. Even though I've
solved this problem before, I used InterviewCake's hints because I was stuck
without them.

I should revisit this problem in a few weeks.
2020-03-02 16:45:15 +00:00
William Carroll
22d70b52c9 Read Paul Graham article "Taste for Makers"
I'm considering this essay one of my favorites from Paul Graham. The essay
argues that good taste and bad taste exist. Graham argues against relativism in
design and cites a variety of examples of architecture, typography, writing,
sketching, painting, aircraft design, and others that bolster his opinion.

TL;DR - Design should strive to be:
- Simple: Prefer simplicity to complexity when possible.
- Timeless: Design today for tomorrow by pleasing yesterday.
- Pointed: Focus always on the problem; don't work for work's sake.
- Suggestive: Constrain usage without suffocating the user.
- Humorous: Prefer light-heartedness to sobriety.
- Difficult: "Good design" is takes time, effort, and tremendous skill.
- Ostensibly effortless: Solutions should look obviously correct.
- Symmetric Appreciate symmetry.
- Natural: In nature, form ever follows function.
- Iterative: Write; rewrite; rewrite; rewrite; throw away; write; publish.
- Imitative: Be confident enough to copy others' existing, beautiful ideas.
- Communal: Pay attention to "Schelling points" and join the party. Don't be the
  Milanese Da Vinci.
- Fearless: Question the status quo; expect others to challenge your solution.
2020-03-02 13:09:07 +00:00