diff --git a/content/about.md b/content/about.md index abd7701..c2bf190 100644 --- a/content/about.md +++ b/content/about.md @@ -7,9 +7,10 @@ date: 2020-07-16T21:42:33-07:00 This is a static site generated using [Hugo](https://gohugo.io/). There's a public repo for this site -[here](https://github.com/alejandro-angulo/alejandr0angul0.dev). Nothing fancy -going on. I'm planning on using this site as a sort of personal documentation. -Hopefully what I write here will be useful to whoever stumbles upon it. +[here](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev). +Nothing fancy going on. I'm planning on using this site as a sort of personal +documentation. Hopefully what I write here will be useful to whoever stumbles +upon it. For you vim fans, this site supports scrolling vertically with vim bindings (as long as you allow this site to run javascript). As of now the following are @@ -24,7 +25,8 @@ supported: I'm Alejandro Angulo, a code monkey living in the Los Angeles area. When I'm not ~~introducting bugs~~ writing beautiful, performant code I like [working on -random personal projects](https://github.com/alejandro-angulo/qmk_firmware/), +random personal +projects](https://git.alejandr0angul0.dev/alejandro-angulo/qmk_firmware/), going to the gym, and hanging out with my wife and our chihuahua. ## Contact diff --git a/content/posts/dotfiles.md b/content/posts/dotfiles.md index 32ed969..4aafbe8 100644 --- a/content/posts/dotfiles.md +++ b/content/posts/dotfiles.md @@ -7,25 +7,32 @@ keywords = ["dotfiles"] showFullContent = false +++ -Not too long ago I had completely different configurations across different computers. Terminal color schemes between computers -weren't consistent. Git was configured slightly differently between all computers. Lucky for me, there's a program that's well -suited for this task: [stow](https://www.gnu.org/software/stow/). +Not too long ago I had completely different configurations across different +computers. Terminal color schemes between computers weren't consistent. Git was +configured slightly differently between all computers. Lucky for me, there's a +program that's well suited for this task: +[stow](https://www.gnu.org/software/stow/). -Special thanks to [Brandon Invergo](http://brandon.invergo.net/) for -[his blog post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html) documenting how he uses -stow to manage dotfiles. +Special thanks to [Brandon Invergo](http://brandon.invergo.net/) for [his blog +post](http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html) +documenting how he uses stow to manage dotfiles. ## Git & Stow -Before I found stow I was using a [purely git-based workflow](https://github.com/alejandro-angulo/dotfiles-bak). It worked but it -was a little clunky keeping a git repo at the root of my home directory. One minor annoyance was that the repo's README would show -up in my home directory whenever I ran `ls` (minor, I know, but it didn't feel _right_ to me). I was always a little paranoid that -I would accidentally commit some secret inside of `~/.cache` too. +Before I found stow I was using a [purely git-based +workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles-bak). It +worked but it was a little clunky keeping a git repo at the root of my home +directory. One minor annoyance was that the repo's README would show up in my +home directory whenever I ran `ls` (minor, I know, but it didn't feel _right_ to +me). I was always a little paranoid that I would accidentally commit some secret +inside of `~/.cache` too. -My [updated workflow](https://github.com/alejandro-angulo/dotfiles/tree/0af75c92fdbf908f9445bfbaf5e07b0e223db97d) still uses git -but I no longer maintain a repo at the root of my home folder. Instead, I use stow to manage symlinks for me. My directory -structure is cleaner now with a directory for each set of configuration files (below are my git and [terminal -emulator](https://alacritty.org/) configurations). +My [updated +workflow](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles/tree/0af75c92fdbf908f9445bfbaf5e07b0e223db97d) +still uses git but I no longer maintain a repo at the root of my home folder. +Instead, I use stow to manage symlinks for me. My directory structure is cleaner +now with a directory for each set of configuration files (below are my git and +[terminal emulator](https://alacritty.org/) configurations). ```zsh ❯ tree -a git alacritty @@ -42,20 +49,22 @@ alacritty 4 directories, 3 files ``` -Installing the configurations for those two programs is as easy as running `stow -t ~ alacritty && stow -t ~ git`. +Installing the configurations for those two programs is as easy as running `stow +-t ~ alacritty && stow -t ~ git`. ## Handling Plugins (and Plugin Managers) There are some utilities ([vundle](https://github.com/VundleVim/Vundle.vim), -[base16-shell](https://github.com/chriskempson/base16-shell), [Oh My ZSH](https://github.com/ohmyzsh/ohmyzsh), etc) that I want to -have available regardless of my underlying system's environment. I set up submodules in my git repo for these utilities so that I -have those utilities available without having to go through my system's package manager (brew, apt, yay, etc). +[base16-shell](https://github.com/chriskempson/base16-shell), [Oh My +ZSH](https://github.com/ohmyzsh/ohmyzsh), etc) that I want to have available +regardless of my underlying system's environment. I set up submodules in my git +repo for these utilities so that I have those utilities available without having +to go through my system's package manager (brew, apt, yay, etc). -As an added bonus, I can rely on plugin managers to pull in the bulk of my dependencies without cluttering up my git repo with a -bunch of submodules. +As an added bonus, I can rely on plugin managers to pull in the bulk of my +dependencies without cluttering up my git repo with a bunch of submodules. -```zsh -❯ tree -a -L 3 vim +```zsh ❯ tree -a -L 3 vim vim ├── .vim │   ├── bundle @@ -91,22 +100,26 @@ vim vim/.vim/bundle/Vundle.vim ``` -Instead of setting up submodules for each individual vim plugin I only have a submodule for vundle (a vim plugin manager) and then -I run `vim +PluginInstall +qall` to pull in my vim plugins. +Instead of setting up submodules for each individual vim plugin I only have a +submodule for vundle (a vim plugin manager) and then I run `vim +PluginInstall ++qall` to pull in my vim plugins. ## Special Snowflake Configurations -There are some cases where I don't want to use the exact same configuration across all my devices. I've found that this situation -comes up in one of two cases: +There are some cases where I don't want to use the exact same configuration +across all my devices. I've found that this situation comes up in one of two +cases: - device-specific configuration - environment-specific configuration ### Device-Specific Configurations -I have certain configurations that are device-specific. For example, I have a `sway` configuration but there are slight -differences between my laptop and desktop because the output configuration isn't the same (one display vs multiple displays). To -handle this I have `sway-carbon` and `sway-gospel` directories in my dotfiles repo. +I have certain configurations that are device-specific. For example, I have a +`sway` configuration but there are slight differences between my laptop and +desktop because the output configuration isn't the same (one display vs multiple +displays). To handle this I have `sway-carbon` and `sway-gospel` directories in +my dotfiles repo. ```zsh ❯ tree -a sway* @@ -132,20 +145,23 @@ sway-gospel 9 directories, 6 files ``` -My main sway configuration has this line `include ~/.config/sway/includes/*` which loads all files inside of -`~/.config/sway/includes/`. My `sway-carbon` and `sway-gospel` configurations will place the correct device-specific configuration -once stowed. +My main sway configuration has this line `include ~/.config/sway/includes/*` +which loads all files inside of `~/.config/sway/includes/`. My `sway-carbon` and +`sway-gospel` configurations will place the correct device-specific +configuration once stowed. ### Environment-Specific Configurations -I don't use the same set of programs on all my devices. Sometimes there's no need to install something everywhere (I wouldn't use -my sway configuration on a device running OS X). Sometimes I just want to play around with a new program first before deciding -it's something that I want to install everywhere. +I don't use the same set of programs on all my devices. Sometimes there's no +need to install something everywhere (I wouldn't use my sway configuration on a +device running OS X). Sometimes I just want to play around with a new program +first before deciding it's something that I want to install everywhere. -For example, I wanted to try out [delta](https://github.com/dandavison/delta) for pretty git output on a personal device. The -configuration for delta requires changes to git's configuration file which depend on having `delta` in `$PATH`. To prevent -breaking things on devices, like my work computer or one of my raspberry pi's, I updated git's configuration so that there would -be fallback. +For example, I wanted to try out [delta](https://github.com/dandavison/delta) +for pretty git output on a personal device. The configuration for delta requires +changes to git's configuration file which depend on having `delta` in `$PATH`. +To prevent breaking things on devices, like my work computer or one of my +raspberry pi's, I updated git's configuration so that there would be fallback. ```ini [pager] @@ -155,4 +171,5 @@ be fallback. show = "$(which delta 2>/dev/null) | less" ``` -So now on devices with delta installed that'll be used, otherwise less will be used. +So now on devices with delta installed that'll be used, otherwise less will be +used. diff --git a/content/posts/now-with-more-nix.md b/content/posts/now-with-more-nix.md index e86ba6c..22f6d02 100644 --- a/content/posts/now-with-more-nix.md +++ b/content/posts/now-with-more-nix.md @@ -12,7 +12,7 @@ showFullContent = false It's been about a year since my last post into the void. Since [my last post](/posts/dotfiles) I've completely overhauled how my computers are configured. I now have [a nix -flake](https://github.com/alejandro-angulo/dotfiles) to manage my personal +flake](https://git.alejandr0angul0.dev/alejandro-angulo/dotfiles) to manage my personal machines. I'm going all in on nix and wanted to update the deployment process for this site to use nix flakes as well. @@ -22,7 +22,7 @@ It's been a while since I touched anything on this site and I didn't have any of the right packages installed to work on this. I could have installed programs like [hugo](https://gohugo.io/) system-wide. But, since I have been tinkering with nix, I wanted to use [a flake to manage all the -things](https://github.com/alejandro-angulo/alejandr0angul0.dev/blob/b8174db2150f3ac9925f8450bc75264678cf06c9/flake.nix) +things](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev/blob/b8174db2150f3ac9925f8450bc75264678cf06c9/flake.nix) needed for development (including writing posts). Here's what the devenv configuration looked like at the time I was writing this @@ -166,7 +166,7 @@ into `$out`. This site is deployed to an S3 bucket just like before switching over to using nix. However, I don't need to use docker containers anymore and can use nix fully. Here's the [github actions -configuration](https://github.com/alejandro-angulo/alejandr0angul0.dev/blob/97a655bc0c3e18f8c8921b90f14f87f5a07ae837/.github/workflows/ci.yml) +configuration](https://git.alejandr0angul0.dev/alejandro-angulo/alejandr0angul0.dev/blob/97a655bc0c3e18f8c8921b90f14f87f5a07ae837/.github/workflows/ci.yml) at the time of writing. ```yaml