#+SETUPFILE: ../org-templates/level-1.org #+TITLE: Linux Room #+BACKGROUND_IMAGE: images/linux-background.png #+SHITTYWEB_HEADER: Tux the penguin flying * Why linux :PROPERTIES: :CUSTOM_ID: why-linux :END: I have always liked being able to customize, mod, and poke inside different things. Computers are machines for us to play around with and use how we see fit yet the only thing the big tech companies want to do it lock everything up and it disgusts me. Fuck google, fuck microsoft, fuck apple, and fuck all the other evil tech companies!!! Its time for the open source revolution and seize them all and open source the entire world!!! Without linux or any other unix life would be much much worse. Linux is my safe place from all the shit in the world. [[file:images/windows_kills_kittens.jpg]] * Distros :PROPERTIES: :CUSTOM_ID: distros :END: I will distro hop a bit though for the most part I like to stay with the same distro and just change DE's or WM's. For the longest time I just switched to a different fedora spin every so often. Now I use arch because I got tired of fedora and couldnt find a distro I liked so I switched to arch to make it feel the way I want. ** Guides :PROPERTIES: :CUSTOM_ID: distro-guides :END: + [[file:distro-guides/arch.org][Arch (my daily driver)]] + [[file:distro-guides/xfce.org][Xfce DE]] + [[file:distro-guides/fedora.org][Fedora xfce (my old daily driver)]] ** Cool distros :PROPERTIES: :CUSTOM_ID: distro-list :END: /Not including the guides/ + [[https://antixlinux.com][AntiX]] + [[https://mxlinux.org][MXLinux]] + [[https://salixos.org][SalixOS]] + [[https://www.adelielinux.org][Adelie]] * GUI apps :PROPERTIES: :CUSTOM_ID: gui :END: A lot of linux users dont like GUI apps. I think they are great [[https://digdeeper.club/articles/design.xhtml][when they are done right]]. ** Claws mail :PROPERTIES: :CUSTOM_ID: claws :END: I have used thunderbird in the past though like I said before [[https://digdeeper.club/articles/mozilla.xhtml][mozilla is evil as fuck]]. Through the power of actually following the unix philosophy and not being full of javascript bullshit claws is about the safest email client out there. Gone are the days of just clicking a email being enough to fuck you over. Anyways you likely noticed that claws just displays everything in plain text. I like using the dillo plugin for a nicer view, and guess what? Still no shitty javascript that can get you fucked!\\ \\ *This program been replaced by emacs* Check out [[https://systemcrafters.net/emacs-mail][system crafters email tutorial]]. ** Emacs :PROPERTIES: :CUSTOM_ID: emacs :END: *Don't use emacs. Its stupido.*\\ \\ That is and will always be true but lately as of writing this I been bit by the emacs bug. Using emacs is so bad and so wrong but feels so good to use. I defeated rsi by doing hand exercises for nearly a year and a half as of writing this. I had to learn the hard way being a guitarist and emacs user while taking CS classes and writing code all the time wasnt a good idea. Now I play bass to but it balances out because I switched over to IT and became too lazy to write code most of the time. I lost my lite weight hand exercise tools and instead of buying new ones I just started using the heavy ones for hours at a time until I had *the grip strength to crush a human skull*. Now my rsi is cured /as long as I keep up the exercises/.\\ \\ I dont use doom emacs, spaceacs... or any of that bullshit. Just good old gnu emacs with a simple config and a hand full of plugins.\\ Some of my favorite are: + Ivy: it makes emacs feel a bit nicer without completely changing it by much. + Company with eglot: a easy way to add good auto-complete and lsp support. It doesnt bloat the system up too much and it adds much faster and better auto-complete then what any standard ide has and it doesnt get in the way. + nyan-mode: this plugin will change your life. Emacs isnt even usable without it. This plugin is the biggest reason I use emacs. Take that vim users! *Fun fact: I use emacs to work on this site.* ** SpaceFM :PROPERTIES: :CUSTOM_ID: spacefm :END: For the longest time I just used thunar because its decent and default in xfce though I decided to give spaceFM a try as of writing this. I might got annoyed of it in a week and ditch it or end up really liking it. These kinds of things tend to go either way for me. I will either fucking hate it or wonder how I ever lived without it.\\ Update: After using it for a little bit I really dig it and never want to go back. *** Encrypted partitions in spaceFM :PROPERTIES: :CUSTOM_ID: encrypted-partitions-in-spacefm :END: SpaceFM doesnt support encrypted partitions by default but lucky for us its very customizable. I use to use [[https://igurublog.wordpress.com/2012/03/11/udisks2-another-loss-for-linux][udisks2/udiskie]] to get encrypted disk support though I found a less bloated way. + Install cryptsetup if not already on the system. + In spaceFM go to Devices->Settings->Device Handlers and add a new handler with these settings.\\ Whitelist: =crypto_LUKS=\\ \\ Mount:\\ (enable run in terminal)\\ =sudo cryptsetup luksOpen %v `basename %v`=\\ =sudo mount --mkdir /dev/mapper/`basename %v` /media/`basename %v`=\\ \\ Unmount:\\ =sudo umount /media/`basename %v`=\\ =sudo rmdir /media/`basename %v`=\\ =sudo cryptsetup luksClose `basename %v`= If you have issues un-mounting just close all tabs and give it a second. *** sftp :PROPERTIES: :CUSTOM_ID: sftp :END: Spacefm uses sshfs for sftp support. Once you install it you will be ready to rock. Though for my use case I need symlink support. sshfs needs to have the option =-o follow_symlinks= To support symlinks. To add the option go to Devices->Settings->Protocol Handlers->ssh and change the mount option to: #+begin_src shell #!/bin/bash [[ -n "$fm_url_user" ]] && fm_url_user="${fm_url_user}@" [[ -z "$fm_url_port" ]] && fm_url_port=22 echo ">>> sshfs -o follow_symlinks -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a" echo # Run sshfs through nohup to prevent disconnect on terminal close sshtmp="$(mktemp --tmpdir spacefm-ssh-output-XXXXXXXX.tmp)" || exit 1 nohup sshfs -o follow_symlinks -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a &> "$sshtmp" err=$? [[ -e "$sshtmp" ]] && cat "$sshtmp" ; rm -f "$sshtmp" [[ $err -eq 0 ]] # set error status # Alternate Method - if enabled, disable nohup line above and # uncheck Run In Terminal # # Run sshfs in a terminal without SpaceFM task. sshfs disconnects when the # # terminal is closed # spacefm -s run-task cmd --terminal "echo 'Connecting to $fm_url'; echo; sshfs -p $fm_url_port $fm_url_user$fm_url_host:$fm_url_path %a; if [ $? -ne 0 ]; then echo; echo '[ Finished ] Press Enter to close'; else echo; echo 'Press Enter to close (closing this window may unmount sshfs)'; fi; read" & sleep 1 #+end_src ** mpv :PROPERTIES: :CUSTOM_ID: mpv :END: I switched to mpv because vlc was acting weird with audio sometimes when watching anime and nothing in this world is worse then something getting in the way of anime time! Just like lite-xl and neovim mpv uses lua for its config files and is really simple by default. It also can play youtube videos or other online streams just by giving it a url. ** qBittorrent :PROPERTIES: :CUSTOM_ID: qbit :END: This is everything you could ever need out of a torrenting program. Searching, rss, plays nicely in xfce even though its a qt app, full of features without being bloat... One thing to watch out for is qbit by default can leak your ip. To fix that go to Preferences->Advanced and change Network interface to your vpn's interface. To test for leaks [[https://ipleak.net][ipleak]] has a decent torrent ip leak tester. ** Liferea :PROPERTIES: :CUSTOM_ID: liferea :END: Feed readers are one of those things I use on and off. A lot like mail clients feed readers tend to be very bloated. Liferea is my favorite but it has always had issues with nvidia drivers until I found out a trick.\\ \\ If liferea has issues add this to your =/etc/environment= and reboot\\ =WEBKIT_DISABLE_DMABUF_RENDERER=1=\\ \\ Some cool tricks: + Get [[https://github.com/shevabam/get-rss-feed-url-extension][this plugin]] to find feeds easier. + You can turn youtube channels into rss feeds with =https://www.youtube.com/feeds/videos.xml?channel_id={channel_id}=\\ This can be done for all your subscriptions with [[file:scripts/youtube_subs_export.py][this script]] + You can drag and drop youtube urls from your feed reader into mpv so you can keep up with your subscriptions without even touching youtube's website. *Warning: Liferea is yet another program that was replaced by emacs.* +Check out [[https://codelearn.me/2025/04/09/emacs-newsticker.html][newsticker]].+ newsticker ended up being fucking annoying so now I use elfeed. ** psi+ :PROPERTIES: :CUSTOM_ID: psi-plus :END: Its a funky xmpp/jabber client. Funky is just how I roll. A bunch of plugins and skins that are a big fuck you to your systems theme? *SIGN ME UP*. Well anyways by default it doesnt come with very many icons so get more resources from [[https://github.com/psi-im/resources][psi resources]] and copy the =iconsets= directory to =/usr/share/psi-plus/= or where ever psi+ keeps its iconsets on your system. ** ePDFViewer :PROPERTIES: :CUSTOM_ID: epdfviewer :END: I wanted a pdf viewer that was light weight and simple. Being a xfce user I wanted something that isnt tied to another DE and doesnt uses a hell ton of dependencies. * Web browsers :PROPERTIES: :CUSTOM_ID: browsers :END: Modern browsers are some of the worse things to every happen. These are some of the better options out there.\\ \\ For some resources on browsers check out [[https://spyware.neocities.org/articles][spyware watch dog]] and [[https://digdeeper.club/articles/browsers.xhtml][dig deeper]].\\ \\ For addons stay away from the mozilla or google bullshit and instead use something like [[https://gnuzilla.gnu.org][the gnuzilla thingy]]. You can also find addons on [[https://mybrowseraddon.com][mybrowseraddon]] than manually install them or something along those lines.\\ \\ For a dark mode addon *stay away from darkreader*. Dont know if its spyware or not but when the browser starts up it makes a bunch of requests which is something a dark mode plugin shouldnt do. Instead use something like [[https://gnuzilla.gnu.org/extension.php?id=786990][dark-mode]]. ** Palemoon and Basilisk :PROPERTIES: :CUSTOM_ID: xul :END: [[https://www.palemoon.org][Palemoon]] is a old firefox fork that uses a different rendering engine so it can keep up with newer webstandards while stilling keeping the old interface and support older plugins. [[https://www.basilisk-browser.org][Basilisk]] use to be developed by moonchild and was designed to be kind of like palemoon but based off a bit newer version of firefox. The basilisk team broke off and is now seprate from moonchild but still keeps in close contact with them.\\ \\ What version you choose is really up to you and what interface you like more. Both of them are going to struggle to use javascript heavy websites but its ok its I prefer disabling javascript whenever possible and using umatrix to only let in what the site needs to function. *** Palemoon/Basilisk hardening :PROPERTIES: :CUSTOM_ID: xul-hardening :END: Even though they are about as good as browsers get these days the developers are still stupidos so you should [[https://spyware.neocities.org/guides/palemoon][follow this guide]]. Its also best you disable webrtc (only basilisk even supports webrtc out of the two) and webgl along with other hardening because even though they are based off older versions of firefox they still support the modern features that make it easier for sites to fucking fingerprint you. Basilisk is the only one that supports webrtc out of the two.\\ \\ To help hardened get yourself [[https://git.nixnet.services/Narsil/palemoon_user.js][a palemoon user.js]]. It helps you stand out less by hiding the fact you are using a weird old ass browser. Btw, for whatever fucking reason this user.js seems to brick github issue pages so just keep that in mind. Though if anything this just is another reason why real git sites like gitea and codeberg are better.\\ \\ You can timezone spoof by setting =TZ=UTC= before launching: #+begin_src shell sudo -s rm -rf /usr/bin/palemoon echo "#! /usr/bin/sh\nTZ=UTC /usr/lib/palemoon/palemoon \$@" > /usr/bin/palemoon chmod +x /usr/bin/palemoon #+end_src Basilisk users can come up with their own hack instead of having their hands held and gently walked through ** Ungoogled chromium :PROPERTIES: :CUSTOM_ID: ungoogled :END: Ungoogled chromium is what the name says, chromium without the google. I still prefer to avoid anything chromim but if you really want to use a chromium based browser without all the spyware shit you arent going to get any better than this. It hella beats brave *brave is fucking terrible*. There is a addon that lets you install addons from the chrome store and update them without having to sign into google but I still think the best option is just to manually install the addons to completely avoid google. *** Ungoogled hardening :PROPERTIES: :CUSTOM_ID: ungoogled-hardening :END: Ungoogled chromium isnt hardened at all by default. Its designed to be a drop in replacement for chrome that is user friendly and doesnt break anything. We dont do that here, for heaven fucking shake at least harden it a little and to do that you can use [[https://github.com/ungoogled-software/ungoogled-chromium/blob/master/docs/flags.md][these flags]].\\ \\ With manifest v2 on the way out the future of chromium based browsers is fucked. Mozilla is also doing shitty things so we are just in general fucked. ** Icecat :PROPERTIES: :CUSTOM_ID: icecat :END: I use to use firefox but switched to librewolf because [[https://digdeeper.club/articles/mozilla.xhtml][mozilla is evil as fuck]]. If you don't know librewolf it its the ungoogled-chromium of firefox. Than I switched from librewolf to icecat.\\ \\ +The builtin plugins are decent. Librejs and its other contend blocking plugins are way more annoying than something like umatrix but I am giving them a fair chance knowing that umatrix might not have much of a future even if its still quite functional still. I still like to install ublock even with everything that comes builtin.+\\ So I got annoyed of librejs and other builtin plugins in icecat. Now I just disable them because umatrix and ublock can do way more, except jshelter: It is a api spoofer which is different from the others which are contend blockers. Its useful for when you have to use javascript heavy websites but still want to prevent alot of information from being leaked. I set ublock to disable javascript by default and I set jshelter to strict mode by default.\\ \\ Fun little trick: If video playback/youtube frame breaks on a website just throw it into mpv to stream it from there. Sometimes to find the media you can hit ctrl+i to pull up page info and use the media section or in some cases you might have to dig around in the inspector. *** Installing icecat :PROPERTIES: :CUSTOM_ID: installing-icecat :END: You can find some newer builds [[https://icecatbrowser.org][here]]. The offical version can be found [[https://www.gnu.org/software/gnuzilla][here]]. *** Icecat hardening :PROPERTIES: :CUSTOM_ID: icecat-hardening :END: The magic of icecat is it makes zero requests to mozilla but its not too hardened so you might wanta use a user.js. Check out [[https://github.com/pyllyukko/user.js][pyllyukko user.js]]. ** librewolf :PROPERTIES: :CUSTOM_ID: librewolf :END: Librewolf is about the easiest way to get a decent hardened browser setup. It still makes some requests to mozilla which kind of sucks. * Command line :PROPERTIES: :CUSTOM_ID: commandline :END: For a cool command line I use nerd fonts. My favorite is the hack nerd font which can be installed with: #+begin_src shell wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/Hack.zip unzip Hack.zip -d Hack sudo cp -r Hack /usr/share/fonts/ #+end_src More nerd fonts can be found [[https://www.nerdfonts.com][here]]. ** zsh :PROPERTIES: :CUSTOM_ID: zsh :END: zsh is pretty cool though I been playing with fish a bit and been thinking of switching to that. I dont really see myself using anything except zsh for quite a while though. ** htop :PROPERTIES: :CUSTOM_ID: htop :END: Why didnt I add this to the list until now? idk, well anyways its a must have! This is my goto task manager on any unix machine. The xfce task manager can identity a process by clicking on its window but besides that htop beats everything else. ** fzf :PROPERTIES: :CUSTOM_ID: fzf :END: Just a useful little program to have. Great for searching for files, piping it into your package manage, piping into it everything else... Great for when you need something like grep but a bit more interactive. ** fastfetch :PROPERTIES: :CUSTOM_ID: fastfetch :END: I have never had a practical use for any of these kinds of fetch programs. What do I use it for? The real question is what does anyone use a fetch program for and thats a: to share your system on the interwebs, b: run a fetch after a fresh install to really get those fresh install vibes. ** vim :PROPERTIES: :CUSTOM_ID: vim :END: For a long time I used neovim. I started using neovim becaues I wanted vim to act more like a ide and have fancy shit. For most things I ended up using +lite-xl+ emacs more because well... emacs just make my autism happy. Neovim ended up just being used for editing configs, quickly throwing together scripts, crazy vim wizard edits... so I decided to just ditch neovim (you can find my old config [[https://git.shittyweb.org/nvim_config/][here]]) and instead go with a simple vimrc with only a few plugins.\\ \\ */How dare someone use both emacs and vim!/* Shut your fucking piehole stupido! Though I been using vim less and less... * Extras :PROPERTIES: :CUSTOM_ID: extras :END: These are programs I at one point used, dont use much... that I wanted to add. ** lite-xl :PROPERTIES: :CUSTOM_ID: lite-xl :END: I started using lite-xl because I wanted a simple little easy to config graphical text editor. lite-xl is just that. I no longer have a need for it as I get into emacs again as of writing this but still a great little editor.\\ \\ On different screen sizes lite-xl may look bad and to fix it you need to set the =LITE_SCALE= environment variable. ** vlc :PROPERTIES: :CUSTOM_ID: vlc :END: Yes, mpv is better. Yes, vlc sometimes has issues. But vlc is still better than the default media player on most systems and has its fair share of useful features. Even with mpv I still like to have vlc installed just in case mpv breaks when I dont have internet and I like its file converting features. The mobile version of vlc kicks ass. ** Evolution :PROPERTIES: :CUSTOM_ID: evolution :END: Evolution is one of the better mail clients out there. If for whatever reason you need to use gmail or some other locked down shitty service evolution has you covered. By default it uses the gnome style window decorators but unlike most gnome apps it lets you use your desktop/WM decorators instead. Its not as bad as most mail clients (looking at you thunderbird) and it lets you /at least/ hide most of that shit out of the way.