Commit graph

569 commits

Author SHA1 Message Date
William Carroll
3b2fffe954 Consume utils.builder in home.nix
Consuming my newly defined Nix utilities.
2020-09-01 12:17:44 +01:00
William Carroll
59f7481411 Revise previous opinions about absolute paths GT <bracket-notation>
Unforeseen problem: `buildkite-agent` runs its builds in a separate directory,
so if I want the `nix-build` command to build the newly checked out code, I need
to set <briefcase> to the CWD.
2020-08-20 11:26:31 +01:00
William Carroll
869a20f482 Define alias for cd-ing to ~/briefcase
Small but useful alias.
2020-08-12 14:24:24 +01:00
William Carroll
cf6d181f7c Add .sqliterc to //configs
Prefer these more human-readable defaults to SQLite.
2020-07-26 10:32:16 +01:00
William Carroll
3e33382675 Don't start ssh-agent in .profile
Problem: My SSH is behaving strangely.
Reason: I'm not sure. What I do know, however, is that Google handles SSH
differently. So I think that's enough for me to know I should keep my hands off
and not wrestle with it.
2020-06-16 11:50:47 +01:00
William Carroll
a500171fd8 Remove unnecessary rec { .. }
In Nix, rec mean "recursive" and for attribute sets, this allows
attributes to refer to other attributes in the same attribute set. This
is useful, but I'm not using it here, so I'm removing it.
2020-04-05 15:29:59 +01:00
William Carroll
3f5cea53b0 Prefer ~/.local/share/static to ~/Dropbox/static
I would like to remove all dependencies on Dropbox.
2020-04-05 15:29:14 +01:00
William Carroll
6b224a9e31 Drop support for lorri
Lorri does not cleanly integrate with my corporate device, which cannot run
NixOS. To expose dependencies to Emacs buffers, I will use nix-buffer.el, which
reads its values from dir-locals.nix. To easily expose dependencies from my
existing shell.nix files into dir-locals.nix, I wrote a Nix utility function.
2020-03-27 10:59:50 +00:00
William Carroll
166aed6e80 Disable redshift's fading animation
I originally passed the options `[ "-o" "-P" ]` to disable redshift's fading
animation, but what I wanted originally was the `[ "-r" ]` option.
2020-03-17 18:29:08 +00:00
William Carroll
ebf0ef7e34 Delete .xsessionrc
Nix home-manager generates an .xsession file for me. I believe there are a few
files for managing X-sessions:
- .xinitrc
- .xsession
- .xsessionrc: Only exists on Debian systems, which is why home-manager
  generates an .xsession file instead. gLinux is a Debian system.

Whenever I close Emacs, another Emacs initializes. I believe this is because
after I allowed home-manager to manage my X-sessions, I unintentionally
supported two X-session configuration files: .xsession and .xsessionrc; both of
these files initialize Emacs.

I'm deleting my .xsessionrc, and I'm hoping that will remove the issue.
2020-03-16 15:28:24 +00:00
William Carroll
1487d06660 Support autorandr
Enable autorandr with Nix home-manager. I discovered autorandr when looking
through the home-manager source code. I was hoping it would automatically
enable/disable my external monitor when I connect/disconnect my HDMI cable, but
it doesn't.

With autorandr, I run...

```shell
> autorandr --load mobile
```

...to load my randr settings for just my laptop without the external monitor,
and I run...

```shell
> autorandr --load docked
```

...to load my randr settings for my external monitor.

I'm not sure if this brings much more value than my existing display.el module,
but I'm willing to try it for now.
2020-03-16 13:59:20 +00:00
William Carroll
aa9b81fe21 Move wrapNonNixProgram to utils module
Define the wrapNonNixProgram in my Nix utils module.
2020-03-13 23:03:57 +00:00
William Carroll
c46fd5ee14 Define wrapNonNixProgram as a helper utility
Write a simple Nix expression to DRY up my writeShellScriptBin wrapper pattern.
2020-03-13 17:25:05 +00:00
William Carroll
beeed2baa2 Prefer locally installed /usr/bin/git
From what I understand, gLinux and Nix are sometimes compatible and sometimes
incompatible.

Some nix-installed programs rely on system state that differs from gLinux's
system state. In other cases, Google wraps existing programs (e.g. git) to
provide Google-specific configuration.

Ever since I switched to home-manager and set `programs.git.enable = true`,
magit, which uses the git that PATH exposes hasn't been able to push, fetch, and
a few other commands.

TODO(wpcarro): Define a base home.nix that my gLinux and NixOS machines can
extend.
2020-03-13 16:54:51 +00:00
William Carroll
2695eae15d Define fish function, ptree
Get all pstree outputs for a given process name.

Usage:
```fish
> ptree ssh-agent
```

I'm unsure if I like home-managers; I'd prefer defining this functions in a
functions.fish file for a few reasons:
- I like syntax highlighting.
- home-manager compiles this into poorly formatted fish code.
2020-03-13 12:21:43 +00:00
William Carroll
c2522a1b7a Extend default-cache-ttl and max-cache-ttl for gpg-agent
Preferring eight hours for each of these values.
2020-03-13 12:21:01 +00:00
William Carroll
4509fb5e50 Restore ssh-agent initialize in ~/.profile
For two days I tried using gpg-agent to emulate ssh-agent, but it did not work
the same way as ssh-agent. For example, gcert stopped working. Also, when I
tried adding keys to ~/.gnupg/sshcontrol using `ssh-add ~/.ssh/id_rsa`, the
command failed.

While the concept of reusing gpg-agent for ssh-agent appeals to me...
- Fewer agent processes
- pinentry support
...in practice, it fell short of my expectations. Some or all of this may be
because I tried running this on a gLinux machine.
2020-03-13 12:17:58 +00:00
William Carroll
73db632090 Support unclutter with home-manager
I removed the code that initializes unclutter from .profile - preferring to
start it with home-manager.
2020-03-10 23:07:30 +00:00
William Carroll
d784c1d157 Support keynav with home-manager
I removed the startup code from .profile. I also depend on a fork of
home-manager until I submit my PR from wpcarro/home-manager into
rycee/home-manager.
2020-03-10 23:07:30 +00:00
William Carroll
405be98069 Manage xsession with home-manager
redshift didn't properly work because it couldn't read the DISPLAY environment
variable. I can fix this ad-hoc with `systemctl --user import-environment
DISPLAY`, but home-manager will do this automatically if I allow it to manage my
xsession.
2020-03-10 23:07:30 +00:00
William Carroll
a7ad2e3712 Support redshift
redshift is the f.lux of Linux; it filters blue light from your screen.
2020-03-10 23:07:30 +00:00
William Carroll
921e6c2905 Remove dockerd startup from .profile
1. I haven't used docker in awhile.
2. If I need to restore the docker daemon, I will reach for a home-manager
   solution.
2020-03-10 23:07:30 +00:00
William Carroll
8e5152cd84 Remove PATH additions from .profile
I'd like to remove this and prefer using Nix-based solutions for PATH
maintenance.
2020-03-10 23:07:30 +00:00
William Carroll
0239f92d30 Remove RUST_SRC_PATH from .profile
I'm not doing enough Rust development to justify supporting this. I'm also in
the midst of a cleaning frenzy, so it's possible that this is just collateral
damage. I don't think it is because I can always use lorri to set this value
when I'm writing Rust (hopefully the second 1/2 of this year).
2020-03-10 23:07:30 +00:00
William Carroll
57fbee288b Define additional systemctl fish abbreviations
I often run `systemctl --user status <some-unit>`
2020-03-10 23:07:30 +00:00
William Carroll
3ae100e468 Manage session variables with home-manager
If you haven't noticed, home-manager is managing increasingly more of my
configuration.

- Migrate session variables to home.nix
- Drop support for unused session variables like TERMINAL, VISUAL
2020-03-10 23:07:30 +00:00
William Carroll
82b2c8c27c Remove ssh-agent code from .profile
TIL: gpg-agent sets the SSH_AUTH_SOCK and other values. Since I already use
home-manager to start gpg-agent and SSH has been functioning without issues, I'm
removing the obsolete ssh-agent code.
2020-03-10 23:07:30 +00:00
William Carroll
ad77311c94 Configure keyboard preference with home-manager
Preferring home-manager to reduce some of the clutter I've created.
2020-03-10 23:07:30 +00:00
William Carroll
b6a803d99d Configure bat to use a different theme
Whatever bat's default theme for syntax highlight is, I cannot read it with my
current theme.
2020-03-10 23:07:30 +00:00
William Carroll
94c0081241 Temporarily disable docker and rust from .profile
Attempting to debug nginx.
2020-03-07 16:17:23 +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
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
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