Bro all these zoomers (and even millenials) proudly posting the software and hardware they use is cringe as fuck, and the window managers they use are using xorg/X11 which is one of the most shitty and overcomplicated software ever made at that time (see the unix haters handbook). Just use whatever you have at hand. It's like a carpenter being proud about his hammer, saw, glue, etc. It sounds ridiculous. They just do the work they have to do, not scream about their tools to everybody. Really nobody gives a fuck about that info, and if they really care they would look into your dotfiles. Also do you contribute to that software? Most people don't, though I'm pretty sure there are some that do and they will go to heaven.
Most normies will spend hundreds of dollars on expensive hardware, multiple monitors, expensive peripherals, extremely fast internet service etc. for shitty modern games and making shitty videos. You only need an old laptop or a SCB and the cheapest internet provider or even just connecting to public wi-fis if there are available every once in a while.
Some software that is either good, acceptable or the least harmful thing available: boring GNU/Linux distros that just work like linux mint or cachyOS (inb4 muh systemd and proprietary drivers); the BSD operating systems; dusk OS { Still haven't used it }; dwm; st; librewolf; elinks; vim; mpv; zathura; kmonad; git; qbittorrent. See also just tty.
About hardware: In these days and more in the future we have to think on salvage computing, i.e. using already existing computers or whatever is at reach. If you really need a new hardware buy a thinkpad for a reasonable price or a SBC { I have no idea about smartphones, mine is from 2018 although I have used it since 2025. I'm yet to install LineageOS on it, so that's a TODO }.
Librewolf is a fork of firefox, a "free" and open source browser which actually is extremely bloated and shitty and is kind of another operating system, but is the best thing there is out there for modern web browsing. Here are some tips to make it better:
browser.startup.homepage
privacy.resistFingerprinting to false, this last step is necessary
full-screen-api.warning.timeout to 0, full-screen-api.warning.delay to 1
toolkit.legacyUserProfileCustomizations.stylesheets to true
about:support in the address bar and look for the "Profile Directory" section
chrome and there create a new text file named userChrome.css and set the following:
#TabsToolbar {
display: none !important;
}
- widget.gtk.hide-pointer-while-typing.enabled to false - Search for browser.link.open_newwindow and set it to 2 (allow links to open new windows) - Set interface and website language to dutch
elinks is a fork of the text-only version of an old browser called links. Only disadvantage over w3m and chawan is that it can't display images but you can still view them with an external software. See the configuration in the dotfiles.
Git is a free and open source distributed version control system, i.e. software for collaborating in projects. It decompresses and compresses files when fetching and pushing with zlib by default. While it's true that it has many shitty features and sometimes is hard as fuck to use it's still pretty good for writing and other things that aren't software good compared to mainstream platforms, as there are many git instances with almost zero censorship so you can do whatever the fuck you want without being censored and silenced. Use also some decent file uploader service.
Some useful git commands:
git init # make a repo by creating a .git directory
git pull origin master # pull/update repository from "fetch" url, useful for external repos that aren't yours
git add . # add new files or files with changes to be commited
git commit -m "Describe what you changed" # set a commit with a description
git push origin master # necessary the first time
git push # push to "push" urls. you can have multiple so you distribute it everywhere
git push --force
git status # see current changes that aren't commited
git remote add origin URL # add "fetch" url
git remote set-url --add --push origin URL # add a new "push" url
git remote -v # list urls
git remote set-url --push --delete origin URL # delete a specific "push" url
git push --all # push to all urls, seems to be needed only the first time you make a repo
git remote set-url origin URL # replace fetch url
git diff HEAD@{1}..HEAD
A useful feature that saves you typing. The following is pretty basic and direct, there's much more information elsewhere:
ssh-keygen -t ed25519 -C "your_email@example.com" # create an ssh key, using # email as a label. you'll be prompted for file location and a password but # you can leave the latter blank eval "$(ssh-agent -s)" # start ssh-agent ssh-add ~/.ssh/private_key # it could be something like id_ed25519 or id_ed25519_name cat ~/.ssh/id_ed25519.pub # put the output onto the ssh field of the git server config # then just verify it with whatever it says that you should do
https://github.com/kmonad/kmonad
Kmonad is a pretty neat and unknown software for keyboard remapping written in haskell. His author has some auto-immune disease or something. You can use it to create layers, double-purpose keys and much more. This is very useful if you spend a lot of time on a computer and want to automate some tasks and if you have a small keyboard e.g. those small chinese mechanical keyboards for $20. The configuration files are inspired by lisp. Here is an example:
;; make comments with ";;"
(defcfg
;; define input device i.e. the keyboard since in unix everything is a file
input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd")
output (uinput-sink
"KMonad output"
;; set kb rate etc as launching kmonad resets them
"sleep 0.5 && xset r rate 250 30 && setxkbmap -option compose:ralt")
allow-cmd true
fallthrough true
)
;; source keys, notice that it's for ISO keyboards i.e. the extra key at the left bottom
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 rmet slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] ret del end pgdn
caps a s d f g h j k l ; ' \
lsft 102d z x c v b n m , . / rsft up
lctl lmet lalt spc ralt ssrq cmp rctl left down rght
)
;; alias for actions, kind of using a define in C or alias in shell
(defalias
lyr (layer-toggle layer)
spc (tap-hold 200 spc @lyr)
al1 (tap-hold 150 C-b lalt) ;; for tmux
al2 (tap-hold 150 ret lalt)
cmp (tap-next ralt rctl)
mcr (tap-macro s o m e t h i n g)
)
;; we switch capslock and esc and add a layer and double-purpose keys
(deflayer base
caps f1 f2 f3 f4 f5 f6 f7 f8 @xs1 @xs2 f11 @game ssrq slck pause
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
tab q w e r t y u i o p [ ] ret del end pgdn
esc a s d f g h j k l ; ' \
lsft lalt z x c v b n m , . / rsft up
lctl lmet @al1 @spc @al2 rmet cmp @cmp left down rght
)
;; blank keys _ do nothing
(deflayer layer
_ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ _ _
_ ¡ _ _ _ _ _ @mcr @nm @em _ _ _ _ @bms _ _
A-tab _ C-w é _ _ ü ú í ó ins _ _ _ _ _ _
_ á home pgup pgdn end left down up rght del _ _
@ly2 lalt _ _ _ @pt2 @bmt ñ _ spc _ ¿ @ly2 _
_ _ _ _ C-bspc _ _ _ _ _ _
)
Powered by nothing. All content available under CC0 1.0 (public domain). Send comments and corrections to paco at cumallover dot me.