Commit graph

286 commits

Author SHA1 Message Date
William Carroll
e8e5ec5f40 Install prism for scope-highlighting > syntax highlighting
I've wanted a library like this ever since I saw Douglas Crockford's JS talk
about scope highlighting as a more useful alternative to syntax highlighting.
2020-01-17 10:56:21 +00:00
William Carroll
6e77fc7978 Revert Nixified Emacs configuration
I attempted to Nixify my Emacs over winter break. I made some meaningful
progress, but not enough progress to use my Nixified Emacs setup. Since Emacs is
my primary editor and my window manager at work and at home, having a partially
baked setup is untenable at the moment.

Reverting these changes so that I can get on with my work, but checking them in
so that I can pick up where I left off one day.
2020-01-17 10:56:21 +00:00
William Carroll
069ca63082 WIP: Nixify Emacs setup
The things that I dislike about this setup are:
1. `xref-find-definitions` takes me to `/nix/store`, which is a read-only
version of the source code, so I cannot edit it, which doesn't feel lispy.

2. I need to rebuild the derivation when I change something, which also doesn't
feel lispy.

There are ways to circumvent both of these drawbacks, but for now, I'm checking
this in only to later revert it.
2020-01-17 10:56:21 +00:00
William Carroll
7175d230c2 Nixify fish configuration
This isn't 100% usable, but it works. You can build it with `nix-env` and then
run it with `wpcarros-fish`.
2020-01-17 10:56:21 +00:00
William Carroll
73e988c298 Define nix_find command in fish
Defining a function for outputting the /nix/store path to a package built with
Nix.
2020-01-06 15:25:25 +00:00
William Carroll
8c667af902 Support Wall-E theme
Add Wall-E theme to consume the latest `doom-material` theme.
2020-01-06 15:25:25 +00:00
William Carroll
9f209f5ccd Support EXWM workspace for IRC
Supporting this since my chat workspace is already a bit populous.
2020-01-06 15:25:25 +00:00
William Carroll
74ed4b6b11 Debug lt ZSH function
Change `-all` to `--all`.
2020-01-06 15:25:25 +00:00
William Carroll
47d16e2512 Support lispyville KBDs
After deciding to support the `C-s-` prefix for lispyville KBDs, I'm
re-introducing support for:
  - `lispyville-drag-backward`
  - `lispyville-drag-forward`
  - `lispyville-end-of-defun`
  - `lispyville-beginning-of-defun`
2020-01-06 15:25:25 +00:00
William Carroll
6d87dcb710 Decrease default font size on laptop
See diff for more information.
2020-01-06 15:25:25 +00:00
William Carroll
f182410fd2 Support Freenode IRC
Previously my ERC setup just supported Google's internal IRC. Now I have
Freenode for things like #nixos, #emacs.

This complicated my KBDs for cycling through IRC channels since certain channels
only exist on certain servers. To remedy this, I introduced a temporary solution
that looks up the server given a particular channel. This isn't ideal, but it
works for now.
2020-01-06 15:25:25 +00:00
William Carroll
50f99976e0 Support set/{reduce,intersection,equal?,distinct?}
Adds additional functions for the set.el module. See the function documentation
and tests for more information.
2020-01-06 15:25:25 +00:00
William Carroll
d5cd2719e7 Support pasting in read-expression-map
This was something small that has been slightly bothering me for a *very* long
time. Now it's fixed!
2020-01-06 15:25:25 +00:00
William Carroll
d13e347b9f Prefer variadic cycle/new
TODO: Ensure all */new functions in my Elisp library share this API.
2020-01-06 15:25:25 +00:00
William Carroll
837a74f10f Support alist/{find,map-keys,map-values} and tests
Supporting iterable / enumerable functions for alists.
2020-01-06 15:25:25 +00:00
William Carroll
9d20c1b894 Prefer Telegram native over Telegram web
I installed nixpkgs.tdesktop to support dark-mode and access other useful
features of the native Telegram client.
2020-01-06 15:25:25 +00:00
William Carroll
5785a5d126 Support prelude/start-process
If you refer to the previous commit where I change shell-command usages to
start-process function calls, you'll see the rationale for why I prefer
start-process.

This commit introduces a more ergonomic API for start-process that fits most of
my current use-cases of it. This cleans up the code. I have introduced a bug in
the way that I'm tokenizing the COMMAND value. I've tracked that with a
TODO. For now it only affects the `xmodmap -e '<command-string>'` calls, which
isn't too disruptive.
2020-01-06 15:25:25 +00:00
William Carroll
c078f04526 Change &keys -> &key in cl-defun
These were latent bugs.
2020-01-06 15:25:25 +00:00
William Carroll
15d889fa0e Prefer start-process to shell-command for pulse-audio module
Continuing the series of easy-win commits that increase the speed of commands
that I was previously using `shell-command` to run by using `start-process`
instead.
2020-01-06 15:25:25 +00:00
William Carroll
7ec4dca723 Reduce latency of screen-brightness/{increase,decrease}
As promised in the previous commit, I'm refactoring usages of `shell-command` to
prefer the faster alternative `start-process`. So far, I'm pleased with the
results.
2020-01-06 15:25:25 +00:00
William Carroll
5fbe860b95 Prefer start-process to shell-command
Without doing any benchmarking (break this naughty habit), I'm preferring to
call `start-process` instead of `shell-command` in my `wallpaper/set`
function. I noticed that the `shell-command` call was unnecessarily polluting my
`pstree` call when I debugging my randomly changing wallpaper bug.

I'm mostly likely going to change a few more `shell-command` calls to prefer
`start-process`.
2020-01-06 15:25:25 +00:00
William Carroll
4e454f0466 Define new Emacs theme
Defining "Shapely Patterns" theme... surely I can come up with better names than
this... :/
2020-01-06 15:25:25 +00:00
William Carroll
7ae17daa98 Drop support for i3
While I first switched to EXWM warily and thinking it would only be temporary,
it seems like this switch is here to stay. It turns out that EXWM was exactly
the integration I've been looking for. How serendipitous it that I found it when
I did.

Thank you, @tazjin.
2020-01-06 15:25:25 +00:00
William Carroll
25ce422abd Support microphone toggling
Use pactl and exwm KBDs to support toggling my microphone setting from Emacs.
2020-01-06 15:25:25 +00:00
William Carroll
ba1034a9c8 Begin the Emacs email journey
While this commit isn't much (i.e. notmuch), it represents one brave step
forward in the quest for supporting email in Emacs -- something I'm estimating
to be somewhere between a 1.5x and 2x workflow booster.
2020-01-06 15:25:25 +00:00
William Carroll
67f060d6f9 Temporarily disable flycheck
TL;DR:
Problem: I ran into a bug where my computer wallpaper was changing every five
seconds whenever my init.el file was open and I was typing in it.

Short-term solution: Disable flycheck.

Long-term solution: Disable flycheck just for Elisp or just for init.el in
Elisp.

Post Mortem:
Warning: If you have flycheck-emacs-lisp-initialize-packages set to auto or
really anything other than nil, than the emacs-lisp flycheck-checker will spin
up a new Emacs instance, and evaluate all of the Elisp in init.el.

Why does this matter? Well, if like me, you have code anywhere in your
init.el (and any files downstream from init.el), that code will get evaluated
not just twice. But countless times... tens, hundreds, w/e. So... while you
might think you have code that is just running at startup this code will be
called incessantly.

As a dramatic, contrived example, if you had something like...

```elisp
(bank/send :amount 100 :to "wpcarro@gmail.com")
```

...anywhere in that your init.el would evaluate, you may end up sending
wpcarro@gmail.com millions of dollars. To make debugging this problem a bit more
complicated is that because this runs in a separate Emacs instance, you can't do
something like...

```elisp
(defvar already-evaluated? nil)
(unless already-evaluated? (bank/send :amount 100 :to "wpcarro@gmail.com"))
(setq already-evaluated? t)
```

...since the `already-evaluated?` variable will be local to the Emacs
instance. So if you needed a mechanism to ensure code like this runs only once,
you would need a way to share this semaphore across Emacs instances --
e.g. writing to and reading from disk.
2020-01-06 15:25:25 +00:00
William Carroll
852783827c Ensure git yday alias formats commits like git today
Prefer the --oneline flag for `git yday` so that it is formatted like the
`git today` command.
2020-01-06 15:25:25 +00:00
William Carroll
7bb4201905 Support more fish abbr's for git
I'm sure that there is a fish package that supports git aliases or
abbreviations. This time, I'm preferring to write my own.

Side note: The more that I use fish's abbreviations, the less that I like them
-- at least for the way in which I'm using them.
2020-01-06 15:25:25 +00:00
William Carroll
6cf8517cab Combine google-{stuff,tooling}
Google-related files should eventually be moved out of GitHub hosting and onto
Google infrastructure (e.g. Git on Borg).

When I do this, I should run:

```fish
> git grep --ignore-case google (git rev-list --all)
```

To assess the reference I've introduced into this repository.

Other tools that should come in handy when I do this are:
- git filter-branch
- BFG repo-cleaner
2019-12-24 15:21:34 +00:00
William Carroll
96032dbeb0 Support JS-style header in web-mode
Yasnippet supports a way to share snippets between related modes. I should do
this instead of just defining a new snippet here. Well... until then.
2019-12-24 15:21:34 +00:00
William Carroll
27c57a1f16 Drop support for purpose.el
For now, my lack of understanding of purpose results in purpose getting in my
way. One day, I may reinvestigate this. For now, I'm attempting to learn Prolog
and Nix, which is occupying most of my tolerance for new technology.
2019-12-24 15:21:34 +00:00
William Carroll
0cd3b44ce3 Support evil-magit, refine
It took me awhile to install evil-magit because I believed that evil-collection
supported it. My grasp of Emacs bindings was enough to tolerate the strangely
"inconsistent" KBD support of in magit. Eventually though my tolerance waned,
and I verified that evil-collection does *not* support magit, and suggests that
users seek evil-magit. I did that. I do not regret it.

Installing Wilfred's refine.el, which is a lovely package for interactively
editing data structures. Go LISP!
2019-12-24 15:21:34 +00:00
William Carroll
7bd668ee8f Defensively install all-the-icons assets
Wrap installation call with a predicate that checks on the file-system for the
icon assets. Along the way, document other parts of the wpc-ui package.
2019-12-24 15:21:34 +00:00
William Carroll
d1566dd0e6 Refactor strings.el tests
Ensure that string.el follows the latest whim in my Elisp testing circus.
2019-12-24 15:21:34 +00:00
William Carroll
90955a3c02 Support ensure_{file,dir} in zsh
Support functions for ensuring the existence of directories and files. These
functions represent the type of small ergonomic wins that I believe libraries
should support.
2019-12-24 15:21:34 +00:00
William Carroll
82717e3f22 Support rainbow-delimiters-mode
Why did I ever remove this? Perhaps git can help me answer that.
2019-12-24 15:21:34 +00:00
William Carroll
998646995f Support Typescript
I had previously only worked with Facebook's Flow. Typescript support in Emacs
is excellent!
2019-12-24 15:21:34 +00:00
William Carroll
3a204cec24 Update Tramp configuration
I'm unsure if this file should be included in my dotfiles, but it doesn't seem
to contain sensitive information.
2019-12-24 15:21:34 +00:00
William Carroll
274219cc63 Prefer somes? to some? in math.el
In a moment of strong opinions against variadic functions, I defined
maybe/somes? and redefined maybe/some? to be non-variadic. I'm not sure if I
feel as strongly about that change as I did when I made it. Either way, the
change remains and math.el is broken unless it consumes maybe/somes?, so... this
does that!
2019-12-24 15:21:34 +00:00
William Carroll
56692b3833 Update docs for macros/support-file-extension
I provided the wrong usage example in my documentation. This goes to show how
critical generated documentation is to the goal of documentation reliability,
which itself bolsters the goal of documentation in general.
2019-12-24 15:21:34 +00:00
William Carroll
afcd663c7c Fix typo in keyboard configuration
I was missing a trailing comma in my xmodmap call. This rectifies that mistake.
2019-12-24 15:21:34 +00:00
William Carroll
ebe67fc73d Remove aliases for personal project
I believe that I defined these aliases when I was optimistic about using them. I
never ended up habituating that usage, so these are covered in dust.
2019-12-24 15:21:34 +00:00
William Carroll
8fc68d8edb Update OCaml support
After attempting to run OCaml on a separate machine, I realized that I needed to
update the documentation in my wpc-ocaml package.
2019-12-24 15:21:34 +00:00
William Carroll
3dc1bc4f84 Delete "conflicted copy" files
TODO: It may be preferable to augment my git history to remove the traces of
these files ever existing. For now, since I value a precise git history over a
pristine git history and my tendancy to maintain the former is sometimes at odds
with my goal of the latter, I'm saving this work for a later date.
2019-12-24 15:21:34 +00:00
William Carroll
7adb776927 Support Prolog
Register the .pl file extension with `prolog-mode'. This is useful because I'm
reading the "Learn Prolog Now!" book at the moment.
2019-12-24 15:21:34 +00:00
William Carroll
f739534203 Support fish shell!
After some back-and-forth, I'm trialing fish shell instead of zsh as my default
shell. For now, I'm porting the aliases.zsh into config.fish -- defining them as
abbreviations instead of aliases; this preference may change. See the commentary
in config.fish for more information.

A spent a lot of time in zsh and built much configuration, so supporting fish
may take considerable time. Here's some work that remains:

TODO:
- Port functions.zsh
- Port variables.zsh
- Port zle.zsh
2019-12-24 15:21:34 +00:00
William Carroll
b3342afbfa Temporarily disable code that creates circular deps
After attempting to package some of my Elisp libraries using Nix, I exposed
circular dependencies between modules that has existed for awhile.

I'm temporarily disabling this code since I do not have time to refactor
everything. When I get around to packaging everything, I'll need to resolve
these issues.

For now, I must carry on.
2019-12-24 15:21:34 +00:00
William Carroll
6b456c1b7a Massive configuration overhaul
Currently paying the price of months of non-diligent git usage.

Here's what has changed.

- Theming support in Gvcci and wpgtk
- Dropping support for i3
- Supporting EXWM
- Many Elisp modules
- Collapsed redundant directories in ./configs
2019-12-24 15:21:34 +00:00
William Carroll
a7c72adb2e Support functions for navigating Google3
I had `tbz`, which toggles between a project directory and it's associated
blaze-bin.

I added three functions which support navigating to blaze-bin, blaze-genfiles,
and to the project root.
2019-05-14 17:00:28 +01:00
William Carroll
6fba42e306 Support hardware-based aliases
Hibernating, sleeping, WiFi configuration...
2019-05-13 16:39:48 +01:00
William Carroll
c41e9fe49c Support additional mercurial aliases
More analogue to git for mercurial.
2019-05-13 16:39:22 +01:00
William Carroll
940ea173f6 Delete duplicate Google3 alias
Whoops...
2019-05-13 16:38:59 +01:00
William Carroll
dac7e40a43 Prefer floating lf window
Ensures that the lf instances are floating windows when created.
2019-05-13 16:38:34 +01:00
William Carroll
5cb0aebbd3 Support sandboxes for Elixir, Haskell, Clojure
The dream is to create an offline version of something like repl.it.
2019-05-13 16:37:47 +01:00
William Carroll
011d302b9e Supports home_theater function
Helpful reminder for how to setup bluetooth, TV streaming, etc.

Sadly I need this because I still have a lot of trouble working with Linux.
2019-05-13 16:36:24 +01:00
William Carroll
a59605c756 Support alternative lock screen
Also adds some rules for the Compton configuration so, that the lock screen
isn't transparent.
2019-05-13 16:35:38 +01:00
William Carroll
aafc240c16 Support g4d for Google repositories
Support aliases to quickly navigate the Google3 source code tree.
2019-05-13 16:34:43 +01:00
William Carroll
1e84900ac9 Support alias for tput reset
Useful command to run instead of `clear` - especially after printing sensitive
information to STDOUT. E.g. after running - `pass show misc/secret`.
2019-04-15 13:25:14 +01:00
William Carroll
4e39998671 Support compton
Compton helps composite windows in X. This supports shadows, transparency, and
some other effects of which I'm unaware at the moment.
2019-04-15 13:24:28 +01:00
William Carroll
0faa588ae1 Support i3-gaps
Re-enabling support for i3-gaps after successfully installing it from source.
2019-04-15 13:23:24 +01:00
William Carroll
119ea8b6ad Don't log DONE time in org-mode
At the moment, I don't find these timestamps useful.
2019-04-15 13:21:41 +01:00
William Carroll
ef08e2228c Support directory alias for google3 experimental
I intend on using my experimental folder more regularly for Java, Blaze,
etc. tests.
2019-04-09 18:38:53 +01:00
William Carroll
748e880762 Support align KBD for evil-leader
<leader>= should align a selected region. This should have been added awhile
ago, but it's great to have now!
2019-04-09 18:38:16 +01:00
William Carroll
d26abe7edb Support Java snippet for main function
Should output: `public static void main(String[] args)`. More of these Java
snippets to come.
2019-04-09 18:37:37 +01:00
William Carroll
5144384bec Support Google IRC in irssi
Also changes a few config settings for auto{connect,join}ing. This is still a
WIP.
2019-04-08 17:19:37 +01:00
William Carroll
9bc3cbece2 Drop i3 support for spawning apps in horizontal or vertical mode
Prefer using i3's "active edge" to control where apps are spawned.
2019-04-08 17:18:47 +01:00
William Carroll
79ef9e0c63 Drop support for extending Emacs's default word regex
This was causing problems with my Emacs initialization. I don't have time to
troubleshoot, so I'm removing this for now.
2019-04-08 17:17:41 +01:00
William Carroll
7d2bfc8a28 Support alias for Google's Intellij path
Hardlink paths are hard for me to remember.

NOTE: It's now more reliable with the DISPLAY fix
2019-04-03 17:22:09 +01:00
William Carroll
a414fefa03 Reintroduce nohup to browse function
Updates the implementation to ensure that the nohup.txt file isn't
created.
2019-04-03 17:21:23 +01:00
William Carroll
c492c8f4bf Update regexp used with evil-mode's * and # KBDs
I'd bet that there is a better way to achieve this, but I couldn't find
it, and I need this experience to be better.
2019-04-03 17:20:33 +01:00
William Carroll
4c1fbe01f6 Fix $DISPLAY issues with Tmux
Ensure that DISPLAY is set correctly so that commands executed in Tmux
that require X windows don't disappear.
2019-04-03 17:19:46 +01:00
William Carroll
10aef4e40d Support dmenu integration for Chrome bookmarks
I'd like to regain control of my browsing bookmarks with a simpler solution
using `dmenu`, `i3`, and a text file.

TODO: drop support for Chrome bookmarks by porting all remaining bookmarks to
bookmarks.txt

NOTE: maybe change bookmarks.txt to bookmarks.json to support nesting. Could be
simply with `jq`.
2019-04-03 13:12:52 +01:00
William Carroll
8220336205 Support sandboxing languages like Elixir, Haskell
The previous commit foreshadows this change. This also introduces so changes for
the Docker tooling.
2019-04-02 21:29:46 +01:00
William Carroll
c88f3da4ac Augment clipmenu KBD to paste-in-place
Introduces the `xdotool` dependency, which is a way to simulate X window events
from the CLI.
2019-04-02 21:27:47 +01:00
William Carroll
7646143843 Support .docker/config file
Useful since helpful aliases and functions around creating sandboxed REPL
environments for languages like, Elixir, Haskell are on the way. Other languages
that might be interesting to support would be Clojure.
2019-04-02 21:26:01 +01:00
William Carroll
698cff169a Augment i3statusbar
- support battery indicator
- format indentation
2019-04-01 18:28:03 +01:00
William Carroll
9ef4b5bb0a Support run_java
I probably won't need this as I become more familiar with Java.
2019-04-01 18:27:20 +01:00
William Carroll
6a2d7ef035 Support dmenu clipboard manager
Still needs a bit of fine-tuning to be ideal, but it's already pretty useful.
2019-04-01 18:26:40 +01:00
William Carroll
cc3aecb1e3 Support Java alias for jshell
The `jshell` alias currently imports libs like guava and jOOL into the `jshell`,
which is nice for experimenting.

Experimenting with keeping some helpful `.jars` in `~/programming/jars`. This
may be a bad idea, and there may exist a more idiomatic way to do this instead
of wrapping `jshell` in an alias, but for now, I need to move on.

Also documents some abbreviations for applications. `jv` will be necessary so
that I don't conflict with `j` or `js` for javascript. Eventually I'll need to
be more organized to avoid naming collisions, but this is okay for now.
2019-03-29 17:19:29 +00:00
William Carroll
54c13a8848 Update Cider KBD to use google-chrome
This allows me to take advantage of the --app=<URL> flag that google-chrome
supports, which is nice for a version of cider that bleeds all the way to the
window's edges. It makes Cider feel more like a native application experience.
2019-03-28 17:32:21 +00:00
William Carroll
653ffd381a Support $mod+Return for starting up a terminal
This comes with the default configuration on i3. I removed this KBD originally
because I was hoping to use the $mod+{,Shift+}t KBDs frequently. I still do, but
as I get more comfortable with i3, splits, parent containers, etc. I may prefer
to create terminals this way. We'll see...
2019-03-28 17:30:32 +00:00
William Carroll
d69d6421b2 Support KBD to unfocus parent container
Been missing this for awhile. Useful since I'm using $mod+a more often.
2019-03-28 17:29:43 +00:00
William Carroll
97c156be88 Support SpeWall in bash variables
NOTE: consider migrating from GH private repo to Google's Git on Borg. This is
preferable since GH gets hacked and private repos can be exposed. While a path
to a Google 3 repo like SpeWall may not pose a large security risk, it certainly
isn't optimal. Imagine a path to a repository whose name leaked a secret
project. Two options:

1. embrace encryption options like Mozilla's `sops` and remain on GH private
2. switch wholesale from private GH to GoB
3. classify "sensitve" parts of dotfiles as such and move those to GoB and keep
   everything else on private GH

One added perk of switching to GoB is saving the $7 monthly fee to support
private GH repos.
2019-03-28 17:29:24 +00:00
William Carroll
79387acb96 Create generic loop fn
Might be useful for things like:

```
loop 'PAGER="" hgst' 1 y
```

```
loop 'du -hs .'
```

```
loop ll
```
2019-03-27 18:27:49 +00:00
William Carroll
370f0346de Augment browse function
The nohup.out file was creating a bunch of noise and polluting my FS. It may
have been the correct thing to add, but if it was, I'm unsure why. Removing it
for now since it's been bothering me quite a bit.
2019-03-27 18:26:58 +00:00
William Carroll
ac34df2372 Add daily Google ENG tips to prodaccess
Wraps the existing `prodaccess` executable and displays a quote from Google
ENG's fortune db.

Fortune is a GNU tool intended to support random quote compilation, display,
etc. It's pretty interesting.

NOTE: the `prodcertstatus` executable that this function is using as a guard
looks like it might be useful moving forward.
2019-03-27 18:25:11 +00:00
William Carroll
2b34daf50a Support's flagpick alias
flagpick will interactively allow users to add CLI flags. Should work for any
executable that supports a `--help` flag.
2019-03-27 18:24:00 +00:00
William Carroll
f4e3e98594 Support gca
We already have `gcan`... looks like `gca` was already defined by some ZSH git
extension. This further weakens my dependency on that extension, which I think
is a good things.
2019-03-27 18:22:59 +00:00
William Carroll
161a09e6df Adjust i3 colors, update KBDs, remove icons from i3statusbar
May need to find a better KBD for `snip_it`, since I really enjoy Tmux's M-s to
switch sessions.

Learned about i3's "edge" concept. Re-supported KBDs for settings split
directions. Also adjusted theme colors.

Also adjusts the formatting of the timezone information to show GMT as LON, EST
as NYC, and Pacific as MTV.
2019-03-27 18:21:00 +00:00
William Carroll
01ff37824d Start lf from i3 in the ~/Downloads dir
This is a pretty common directory and has proven useful.
2019-03-25 17:33:21 +00:00
William Carroll
3c96944855 Drop OSX config from .gitconfig
This is a relic from the OSX support days. It's incompatible with the Linux
setup.
2019-03-25 17:32:30 +00:00
William Carroll
72a5510dbf Support KBDs for existing fns; support size fn
- Supports `size`
- Adds KBDs for encrypt/decrypt, archive/unarchive, tar/untar, etc.
- Adds explanation behind KBDs
2019-03-24 16:28:56 +00:00
William Carroll
e1d42452b5 Resupport mod+Shift+{3,4} KBDs in i3
I originally dropped support for these because I wanted to imitate OSX's
screenshot KBDs, which were mod+Shift+{3,4}. I'm not sure I want to imitate OSX
now that I don't have any Apple hardware besides my iPhone. I'm getting more
forgetting those KBDs. At the moment, however, I cannot find a better KBD for my
snip_it function. Stay tuned...
2019-03-24 16:13:09 +00:00
William Carroll
06bf69085e Ensure GPG import.sh script is executable
I must not have tested this before adding it to the repository; otherwise, I
would have found this. Oh well... it worked like a charm when copying the GPG
information from my desktop to my laptop.
2019-03-24 16:12:03 +00:00
William Carroll
7b46b6bfe1 Adds emoji font and function to test emoji support
In my quest to learn more about terminals, I added a function to output ten
emojis. Technically this tests the same thing as test_unicode.

Unfortunately I couldn't get `st` to output any colored emojis. This is a bit of
a buzzkill for my grand plans to create a terminal-based chat client that
supports emojis.
2019-03-24 16:09:51 +00:00
William Carroll
362a623a0a Define functions, KBDs for lf
Defines functions for creating, deleting, renaming files.
Defines functions for encrypting/decrypting files.
Defines functions for archiving/unarchiving files.
Adds TODOs for wishlist items.
Adds `help` function to view `lf` documentation.

TODO: write generic explanation of desire to share KBDs between Emacs, Vim,
other programs that I can link to in documentation to avoid repeating myself.
2019-03-24 16:05:34 +00:00
William Carroll
f5ace0b0a9 Prefer $(pwd) to $PWD
I'm unsure if this is idiomatic POSIX shell scripting or not, but I generally
prefer function calls to variables. Thankfully things like Haskell don't
differentiate between the two. In other cold and hostile environments like shell
scripting, us programmers must take care to prefer functions to variables where
it makes sense.
2019-03-23 16:38:19 +00:00
William Carroll
7167764622 Support aptitude removals
If you're going to install things and support that with an aliases, might as
well support the removals of packages with an aliases. Better to keep systems
lean -- especially if entropy is the tendancy.
2019-03-23 16:36:34 +00:00
William Carroll
7bcfa26f51 Support shared, device-specific i3 configurations
Separated i3/configuration since some of my devices support XFree86 keysyms
while others do not. This introduced some cascading changes.

- Removed ~/.config/i3/config from this repo. Since I will be switching between
  devices semi-regularly and that file will be generated each time I switch to a
  different device running an X session, I don't want the i3/config to spam my
  `gst` and `gd` when I haven't changed configuration in either config.shared or
  config.device.
- Update aliases, variables, etc. to point to config.shared instead of the
  generated file.
- Ensure that X sessions generate the i3/config file.
- Ensure that i3 reload and restart command generate the i3/config file.
2019-03-23 16:31:59 +00:00
William Carroll
ef8621e7da Fixes Emacs's scroll-bar display issues
Prefer (scroll-bar-mode -1) to (toggle-scroll-bar -1).
2019-03-21 18:15:41 +00:00