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).
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.
There are many dotfiles that we don't have to worry about when using a
desktop environment like Plasma or Xfce. These dotfiles are bspwm
specific and should all be stowed at the same time when stowing bspwm.
Since this repository has diverged once again in attempt to make
something maintainable, the README has been re-written once more.
It would be amazing if this turns out to be the final iteration of
things, and all that's left is stripping out the unnecessary.