paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit dc16473cdae57625e6620c791ee82493f91dc11d
parent d23ef600844fa17ddf5e84e6adf788527f9d2687
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Thu,  5 Sep 2019 21:43:02 -0400

Create toolset page

Diffstat:
Mpages/toolset.md | 216++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 209 insertions(+), 7 deletions(-)

diff --git a/pages/toolset.md b/pages/toolset.md @@ -1,13 +1,215 @@ ## My Toolset -[//]: # "Which tools do I consider part of my toolset and why? What do I find useful versus not useful?" +[//]: # "This page is for those whom are curious about the programs and equipment I use to get work done. In general, I only list software that I use extensively and which I consider to be essential parts of my workflow." [//]: # "base.min.css" -On this page will be details about my toolset. Particularily: +This page is for those whom are curious about the programs and equipment I use +to get work done. In general, I only list software that I use extensively and +which I consider to be essential parts of my workflow. -* My chosen shell and configuration details -* My chosen desktop environment/window manager and configuration details -* My chosen editor and software development tools and configuration details -* My chosen Linux distribution(s) and why -* And more! +### Computers/Equipment + +#### Development Machines + +I own two computers on which I do most of my work. The first, and the one that +gets most used, is a custom-built desktop with the following specifications: + +* **CPU:** Ryzen 5 1600 w/ Stock Cooler +* **RAM:** 16GB DDR4-3200 +* **GPU:** RX 580 4GB +* **PSU:** EVGA G2 Gold 650W +* **Motherboard:** AsRock AB350M Pro4 +* **Storage:** +* - **Boot Drive:** Samsung 970 Evo 250GB NVMe SSD +* - **Extra Storage:** Crucial MX300 275GB SATA SSD +* - **Windows Boot:** Seagate 7200RPM 750GB SATA-II HDD +* - **Windows Games:** Samsung 860 Evo 250GB SATA SSD + +The other computer I own is a ThinkPad T440s laptop for doing work on the go. I +managed to find one with a 1080p screen already installed for approximately $160 +USD. I've found it to be an excellent productivity-focused laptop with a really +nice screen, great keyboard (though not as good as those on the older models) +and a great level of performance for the things that I need to get done. I have +it upgraded to 8GB of RAM with a 250GB Crucial SSD inside. + +#### Server Equipment + +I also own a few other computers which I primarily use as servers. The first is +an older HP SFF desktop computer which I use as my home router running OPNSense. +It is technically quite a bit more powerful than a router needs to be for my +purposes but it draws only 20W at idle and stays nice and cool. Plus, I got it +for free. + +I have also repurposed two older laptops of about the same generation as the HP +for use as small servers. I have one acting as a monitoring server and the +other currently sits unused as I am unsure what to do with it. + +The "Big Iron" of my homelab is my Dell PowerEdge R415 which I managed to +purchase for less than $100 USD, shipping included. It has two power-hungry AMD +Opteron 4130s inside which aren't what you think of when you think "powerful" +but, for the price, it was a deal I couldn't pass up especially since it came +with a Dell Perc H700 storage controller. This server has 2x4TB 7200RPM HGST NAS +drives in it configured in RAID-1 as well as a second 4TB 5900RPM HGST drive +used as a local backup for the contents of the RAID-1 array. The server has 16GB +of DDR3 ECC RAM which, while low for a server, is more than enough for my uses +as I haven't even come close to using a quarter of it yet. + +I also have a smattering of other hard drives, USB sticks and a couple of SD +cards though these get used as either backup media or as needed for transferring +files. + +### Software + +As far as software goes, I try to stay as far away from proprietary applications +as I possibly can. I typically use terminal-based applications over GUI ones as +terminal ones are typically lighter, faster, and I feel more "at home" and in +control on the command line. + +#### Operating System(s) + +My operating system of choice is Debian GNU/Linux. I run the stable variant +(which is Debian 10 Buster at the time of writing) on all of my machines as I +love the rock-solid stable nature of it. Debian Stable sees a new major release +once every two or so years but, despite that, I don't find myself missing newer +software as the backports repository brings in newer versions of most of the big +software such as Firefox-ESR and LibreOffice. Any other changes to most software +are minor or inconsequential enough that I don't feel a pressing need to +upgrade. I don't need the latest-and-greatest shiny-new-stuff in most software +and haven't yet found myself needing to run the bleeding edge Debian Sid. + +Here are 7 main reasons why I run Debian: + +* I am very comfortable in the Debian ecosystem as far as administrating systems + and understanding how it works. +* Arch/Gentoo aren't distributions suited for servers and I like the fact that I + am running the exact same operating system on both my development machines and + my servers (what works here will also work there). +* Debian is backed by volunteers instead of a commercial organization like + Ubuntu is by Canonical. +* I strongly agree with the Debian philosophy and the way they do things. (See + the Debian Social Contract, Debian Constitution, and the Debian Policy Manual + in particular). +* Debian comes with a high degree of polish as technical excellence and "doing + things right" is a core value of the organization. +* Debian has a minimal installation option just like Arch which allows me to + install the distribution without a desktop environment and then build up my + own as many who run Arch do. +* I hope to one day become at least a Debian Maintainer if not a Debian + Developer. + +Just because I run Debian doesn't necessarily mean I think everyone should. My +philosophy on distributions is to use whichever one you like and are most +comfortable in. If you like Arch, use Arch and so on. The only major difference +between most distributions is typically the package manager and the community +behind it so choose what you like the most. Remember, free software such as +Linux gives you the power to choose and have complete control over your own +computer and running one distribution over another doesn't make you some +"superior being." + +Oh, you may have also noticed above in the section about my hardware that I have +a few Windows drives. These are used for playing games with friends that don't +yet run on Linux such as <em>Rainbow Six: Siege</em> and <em>GTAV Online</em>. I +don't use that OS very often and I'm waiting for the time when I can get rid of +it completely. + +#### Desktop Environment/Window Manager + +I don't use a typical desktop environment like Gnome or KDE as, once I +discovered tiling window managers, those felt like too much of a burden. Gnome +in particular frustrated me as it felt like it got in the way of me using my +computer effectively. Instead, I have essentially built my own desktop +environment from the ground up by gluing together different components à la the +Unix philosophy. + +I use bspwm as my tiling window manager, polybar as my status bar, rofi as my +application launcher, dunst as my notification daemon, nitrogen for my desktop +backgrounds, betterlockscreen as my lock screen, and sxhkd as my shortcut key +daemon. The environment is launched via `startx` and I don't use a login +manager. + +#### Fonts + +I am partial to the DejaVu set of fonts. I use them pretty much everywhere. + +#### Terminal + +I use urxvt as my terminal of choice. I like how it can be configured with +Xresources and that it's really simple and light. No frills. + +#### File Manager + +I don't use one. I find the tools available on the command line (`mv`, `rm`, +etc) allow me to accomplish what I need to do faster than a dedicated file +manager. + +#### Text Editor/IDE + +Vim. I got used to the keybindings and can't switch now as they have been burned +into my brain and muscles. I use a select few plugins and a colour scheme to +make things the way I like them and I haven't ever found myself needing or +wanting a more powerful tool. Vim is quite powerful as both a text editor and a +language-agnostic IDE. + +#### Web Browser + +Firefox. I tried using some other browsers (see [this blog +post](/blog/qutebrowser-to-firefox)) but always kept coming back to Firefox +thanks to its focus on privacy, excellent ad-blocking support, and general +usability. I do use w3m for browsing on the command line though I don't do this +often. + +#### Mail Client + +I use neomutt. It's light, fast, keyboard-controlled, and really allows me to +feel like I have complete control over my email. It's also all nice and plain +text even for those annoying HTML emails. + +#### IRC Client + +While I don't find myself on IRC much these days. I still use irssi as my +client. It's customizable, powerful, and yet simple. + +#### Music Player + +I typically use ncmpcpp (awful name) along with mpd for playing music. I find it +a really good tool for managing my music collection. + +#### Video Player + +MPV is my video player of choice. It's light, simple, and just works. Also +integrates with youtube-dl so I can watch Youtube videos without opening my web +browser. + +#### RSS Feed Reader + +Newsboat because it's simple, easy, terminal-based, and I can program a bunch of +macros to open up whichever feed in whichever application I want (e.g. open a +Youtube feed in MPV). + +#### Document Creation + +I use Libreoffice for those tasks which require spreadsheets or when someone +"requires" that something be submitted in .docx format but otherwise I use Vim +with either LaTeX, markdown, or just plain text. + +#### Day Planning/Organization/Notes + +Pen and paper. I find it difficult to stay organized using electronic organizers +and calendars and I like to have my notes in physical form as I find it easier +to keep track of where information is in relation to my current position. I'm +just way more comfortable with pen and paper for this. + +#### Image Viewing + +Sxiv since it handles all the image types I need it to and has nice keybindings. + +#### PDF Viewer + +Mupdf. Has excellent keybindings, opens nearly instantly compared to something +like evince, and is a perfect no-nonsense PDF viewer. + +### Conclusion + +All of my configurations are available in a [sourcehut +repository](https://git.sr.ht/~jbauer/dotfiles) if you'd like to take a look.