pywal (also known as wal) lets us change color schemes with a cache
directory instead of editing config files directly. This helps us
separate the dotfiles from the color schemes.
This commit removes explicit color settings from my dotfiles, which are
now managed by pywal. Dunst has been added to show any notifications
that I may want to use in the future. The colors.Xresources file is used
to prevent urxvt from using a depth of 32.
My custom colors.vim file has been removed in favor of wal.vim, which
solves some problems I had to manually resolve myself and should make
things easier to maintain in the long term.
Note that pywal also supports base16 color schemes, as well as any other
color scheme you can think of.
Lots of changes here. SXHKD_SHELL is used to specify bash as the shell
to use for sxhkd. This is required since we use bash-specific syntax in
our sxhkdrc. Many commands that once ran through .xinitrc are now
executed by bspwmrc instead, and additional rules have been added to
support KDE applications.
Here I finally figure out how icons work in Arch Linux (and probably
other distributions as well). Other changes include a smaller font size,
more gaps, and less line size.
Manually overriding fonts caused problems in some applications. With
DejaVu and other common fonts installed, there *shouldn't* be a need to
use fontconfig anymore, although I haven't extensively tested this.
Instead of stowing dotfiles individually by software, and instead of
stowing dotfiles based on working environment, I now just stow all
dotfiles at once, so the extra hierarchy isn't needed.
I am back to using a PKGBUILD to manage my packages. This makes it easy
to manage packages on multiple machines with pacman and keep track of
which packages were installed.
I have decided to dedicate this repository solely to my dotfiles, which
for the most part should work on any GNU/Linux distribution, not just
Arch Linux. Separating the scripts from the dots should make things a
lot easier to manage.
Although incomplete (since I haven't figured out all the package names
yet), these packages are enough to get a decent working environment on
Fedora with both GNOME and Xfce.
This commit adds a post-install bootstrap script meant to be run on a
user's local account in order to install packages, configure dotfiles,
and perform other setup tasks.
It may be ideal to use one universal bootstrap script instead of two
unique ones since both share many similar characteristics.
It is only now that I realize that the Arch Wiki is divided into four
steps: Pre-installation, Installation, Configuration, and
Post-installation. This commit changes my install scripts to follow that
same structure, overall making things a lot easier to both understand
and maintain as a whole.
Done migrating all the post-install scripts. Haven't decided how I want
to deal with the installation scripts yet.
The code package is now a part of [community], so we don't have to
compile it by hand anymore!
Now that I've gone through the stage of trying various browser
derivatives, I've migrated to Firefox and Chromium again, primarily due
to the lack of consistent updates, and partially due to the need to
check upstream a bit more for reported issues. In other words, using
what's in the official repos saves me a lot of time and hassle.
This commit gets rid of unused aliases and in general makes everything a
lot cleaner. Since we use abbreviations to memorize the actual commands,
making an .aliases.sh file that supports multiple shells is no longer
needed. If you aren't using fish yet, I highly recommend it.
I had some problems setting up iwd, so I decided to not include it here.
Additionally, lightdm and xfce have been removed in favor of using a
different distribution when such a setup is needed.
This commit puts all the common packages, that is, packages used with
any desktop environment or window manager, in one file. Although this
list is still a work in progress, this commit covers the majority of
shared packages.
This simplifies maintenance by installing everything at once instead of
having to worry about individual scripts. SDDM is dropped for now, due
to how some themes handled the HiDPI option. LibreOffice has once again
been dropped in favor of easier to use file formats. KDE's juk has been
removed in favor of the classic ncmpcpp.
"tput reset" isn't needed anymore now that we use tmux. Vim aliases have
been removed since they weren't being used (at all). tree aliases have
been simplified in attempt to memorize the options used instead of
relying on the alias.
Since "where" is not common to all shells, aliasing it instead of simply
using type does more harm than good, since any other machines you work
with will not have this alias.
Aliasing rm to "rm -i" and mkdir to "mkdir -p" is dangerous because
these same safeguards may not be present on the other machines you ssh
into. Using pwd instead of simply p (and showing the $HOME directory
as ~) is a way to reinforce the idea that the current directory is just
one part of a complete system, even if that directory so happens to be
in $HOME.
This commit puts all the KDE stuff together in one directory. There are
a lot of extra packages that I may remove in the future, but this works
just fine for now.
As much as I *not* want to use ranger, it is still very much useful for
easily seeing the structure of your files at a glance. To make
maintenance simpler for me, I removed some of the config settings I
never used and removed image previews since I can just use a proper
desktop environment for that.
Went from termite to urxvt and back to termite again. Now the circle is
complete! Joking aside, the reason urxvt was chosen over termite in the
first place was because of better image support and less memory usage
with multiple terminals open (due to urxvtc and urxvtd).
Along the way, some things like emojis and other features only worked in
termite. Since termite still works exceptionally well, and since image
support isn't really an issue, termite should be more than good enough
here. Plus, my config files work pretty well across both bspwm and
Plasma. The extra memory saved from urxvtcd isn't needed on modern
hardware, and even if it was, I could just use tmux. Getting rid of this
extra dependency helps make my dotfiles cleaner.
This commit adds fish support for the other functions I used to use in
zsh. Since my dotfiles are now separated by environment, it's easy to
see which environment depends on which dotfiles, instead of stowing them
one by one based on software name.
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
-
It doesn't make sense to manage an entire neofetch config file since the
majority of the settings required to produce a decent output can be
achieved by just passing options at runtime.
This commit puts all common dotfiles in the same directory. This makes
it really easy to stow all my dotfiles that are common across all the
setups I use, and also makes it easy for me to verify that all the
dotfiles I need are already stowed with one simple command.
This helps separate the installation process from the other scripts that
are usually ran after a reboot, although this may change in the future
if chroot is preferred over executing the commands later.
Now that I've read the man pages for `stow` and actually know how to use
it properly, I can organize my repositiory by using a separate dots
directory specifically for my dotfiles.
Additionally, similar dotfiles are now grouped together. This means less
stow work for me with files that would otherwise only be used in one
environment (e.g. bspwm).
As much as one would like to show off browsing the internet with w3m,
such a setup is highly impractical for daily use. Remembering the
keybindings I set up was also becoming an issue, so I simply removed
them in favor of the defaults, assuming I ever need to use w3m at a
later date (probably not).