nix-config/README.md
2023-05-03 01:15:17 -04:00

78 lines
3.8 KiB
Markdown

# .files
> NOTE: As of 2023, I am in the process of migrating from Arch Linux + bspwm to [NixOS](https://nixos.org/) + [Hyprland](https://hyprland.org/).
These are my dotfiles. As of 2022, my operating system of choice remains to be [Arch Linux](https://archlinux.org/). I also like [Fedora](https://getfedora.org/), but I don't use it for anything serious.
> NOTE: This readme is currently WIP and may change drastically. You are free to study and take whatever you want from these dotfiles, but avoid executing any commands that change a lot of stuff.
## History
I have been using GNU/Linux since 2012 and Arch Linux since 2017. My setup was originally [i3](https://i3wm.org/) before I switched to [bspwm](https://wiki.archlinux.org/title/Bspwm). In 2021, I added [Sway](https://swaywm.org/), although I like switching between GNOME and Plasma as well.
In 2022, I [installed Gentoo](https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation), but returned to Arch Linux shortly thereafter. For an explanation on why, as well as some other design choices, read the [Technical](#technical) section.
## Old Screenshots
Over time my tastes in desktop environments have changed. For nostalgic purposes, here is a collection of screenshots of my usage of GNU/Linux over time.
### 2018
![Screenshot of Tari, my Arch Linux setup.](./.archlinux/screenshots/01.jpg)
![Screenshot of Tari with Code and the wal color scheme.](./.archlinux/screenshots/code.jpg)
### 2022
## Features
The biggest advantage my dotfiles have is a consistent setup between GTK and Qt applications across multiple window managers. Making GUIs look nice on bspwm was a major task for me, and I'm satisfied with the result. Qt applications also work well under GNOME, with a consistent theme if you're using Arc for everything.
## Usage
Since these are my personal dotfiles, they are tailored specifically to my use case.
There are 3 different ways you can use this repository.
1. Use my dotfiles as inspiration and only install what you need
2. Install all my dotfiles on your computer, a server, or something else
3. Replicate my entire Arch Linux system with minimal effort
### 1. Use my dotfiles as inspiration, and only install what you need
My dotfiles are managed with [GNU Stow](https://www.gnu.org/software/stow/manual/stow.html). Dotfiles are separated based on program, and each directory contains relevant information about those dotfiles.
In the event that you want to try out some of my dotfiles, I wrote a [Makefile](./Makefile) that makes installing and uninstalling dotfiles easy. For example, to only install vim dotfiles use:
```
make install package=vim
```
Similarly, if you want to remove the vim dotfiles you just installed, use:
```
make uninstall package=vim
```
### 2. Install all my dotfiles on your computer, server, etc.
If you want to use all the dotfiles in this repository, use:
```
make install
```
Note that if a dotfile already exists then stow won't override it, so this works best on new user accounts that don't have any dotfiles on them yet.
### 3. Replicate my entire system with minimal effort
## Technical
Throughout my journey with GNU/Linux, I learned a lot about how computer systems work, including how to use systemd, networking, package management, filesystems, configuration files, and other cool stuff. I also had to deal with a lot of edge cases when it came to different versions of software, such as certain features not working due to conflicting library dependencies.
Previously I used media keys for media keybinds. Since I now use super for those commands, keybinds should work on any machine.
## Support and contributing
If you have any questions about my dotfiles, feel free to [open an issue](https://github.com/donovanglover/dotfiles/issues). You can also [contribute](./CONTRIBUTING.md) by submitting a pull request.