Note that this will affect the output of `env` since color codes are
used. Using a function to invoke man is not ideal since fish uses its
own function for its man pages.
If I stayed on zsh instead of switch to fish, I would've probably never
known how easy it is to add certain information to the prompt. Since
the prompt itself is just a function, you can run any commands you want
inside it to get information, including git commands.
This commit adds the current branch you're on only when inside a git
repository, and only when you're not in a tty.
Now that I know how to use terminal multiplexers, and now that I
understand more about how shells and terminals work, the launch
dependency is no longer necessary.
Additionally, *too many* abbreviations is difficult to use in the long
term, no matter how short the commands are. Since I don't need to launch
programs from the terminal as often anymore (now that I use rofi and
other programs), this change makes sense.
Typing git repositories in the format 'hub' and 'lab' accepted actually
took more time than simply copy/pasting the URL for `git clone`. Sometimes
we didn't even *want* to change our current directory, which made these
functions impractical.
Having to use `git clone` directly helps us remember what we're actually
doing when we clone a repository, and should be preferred over aliases
and other functions that try to do the same.
Instead of relying on a fish function to configure neofetch,
we can use config.conf instead.
Since neofetch is an independent program, we also make a new stow
package for it, instead of relying on the fish config being present.
Made dependency lists a bit more consistent and reverted some of the
Arch Linux wording since it felt a bit off. Even the official website
refers to Arch Linux as Arch from time to time.
Since I'd like other people to try my dotfiles, I will be writing
READMEs for each package directory, which should hopefully cover
anything a user needs to do in order to use the package.
Really, there is no reason to use zsh when fish exists, at least not for
my use case. Maintaining one set of shell config files is easier than
two, so I'm removing the zsh files.
Some other changes in this commit include:
- The addition of the current user and hostname to the fish prompt
- The addition of some zsh functions I re-implemented in fish
- The removal of the dircolors file (not needed with exa anyway)
- The removal of some aliases I never used
-
In reality, zsh is not needed here and shouldn't be supported. Many
defaults of fish require hacky solutions to work in zsh; the investment
and maintenance needed is not worth it.
Eventually, zsh will be removed completely. This is the first step
towards accomplishing that goal.
Unused files and other commands will be simplified in attempt to make my
dotfiles more minimal and use the defaults, which helps a lot when using
a shell without my settings.
As much as I enjoyed using Waterfox, the update to Firefox (and its
developer tools) is pretty nice. Since many add-ons now support this
new version of Firefox, I think it's now time to make the switch.
This commit:
- Moves aliases to .aliases.sh. Aliases can now be used with
both zsh and fish.
- Adds the ability to automatically create an upstream remote
with the hub function.
- Finalizes the fish prompt to be consistent with zsh.