title:Console only computing date: 2022-02-12 10:40 tags: console guix
For about two weeks now, I have been using Guix System in console mode only. That means that my laptop currently cannot display images or video. It also means that I do not have much use for a mouse. It has been an interesting experience.
Of course, the average reader of this blog must be asking, “Why?”. Well you are familiar with dumb and smart phones, yes? Have you ever heard of a life computer? A life computer, is a computer that is so useless, that you want to stop using it and live your life instead. I personally have been using my laptop to consume tons of entertainment tv shows, movies, etc. I am starting to feel like that this is just wasting my life. Some of my good friends do not have time for useless entertainment-seeking. Since I want to emulate the best of my friends, I would like to make it nearly impossible for me to consume mindless entertainment.
Emacs has been an absolute Godsend for this little experiment. Since, I am somewhat familiar with Emacs, I am still able to check email (though I still struggle with reading email with Emacs), write these blog posts, use dired, etc. I am not certain that I could live in a console only operating system without Emacs. Also Emacs’s org-mode is wonderful!
I also found out that Alt-<left arrow key>
and Alt-<right arrow key>
is a
quick way to cycle through virtual consoles. I am having some issues with being
unable to use numerous websites. This is pretty obvious, because most console
web browsers have little to no support for javascript.
I am currently wanting to listen to some librevox recordings, but I am not
certain how to navigate the website in console mode. Lynx spits out some errors
that the HTML is badly formatted or something. For now, I am just using the work
computers to download said files. I wonder if there is some sort of free
software tool that will let you search and download audio files from the command
line…I am sure it exists somewhere. youtube-dl
would probably be it, but I
feel awkward downloading files from youtube, because I am not certain which
videos are legal for me to download.
I am planning on continuing to run a console only OS for the forseeable future.
Since I do not feel like I have the power to NOT use my computer to watch lots
of tv shows/movies, I gave my friend the root password to my computer, and I
removed my user ’joshua’ from the wheel
group:
(users (cons* (user-account
(name "joshua")
(comment "Joshua Branson")
(group "users")
(home-directory "/home/joshua")
(supplementary-groups
'("audio" "kvm" "netdev"
)))
%base-user-accounts))
I also set up my computer to use a modified bare-bones.scm
, which means that I am
using ’%base-services’ instead of ’%desktop-services’. I kind of wonder how
lean I could make a custom Linux kernel since I am restricting myself to console
computing only.
I am finding that I would prefer to run some commands as root, like halt,
reboot, and adding in a new wifi network connection. It has actually been a
pleasure to read through man 5 sudoers
, which is the file on your computer
that determines who can run which commands. I have not quite figured out how to
set up my user joshua
to be able do various tasks like halt, reboot, kill,
etc., but I am looking forward to figuring it out. It will probably look like
something below. Note that I have NOT tested this bit of code.
;; I can read 'man 5 suoders' for tips about the syntax of suoders file.
;; the very end of the file has some examples.
(sudoers-file
(plain-file "sudoers"
(string-append (plain-file-content %sudoers-specification)
"CMD_Alias KILL = /run/current-system/profile/bin/kill
CMD_Alias SHUTDOWN = /run/current-system/profile/bin/shutdown
CMD_Alias HALT = /run/current-system/profile/bin/halt
CMD_Alias REBOOT = /run/current-system/profile/bin/reboot
CMD_Alias HERD = /run/current-system/profile/bin/HERD
CMD_Alias NMCLI = /run/current-system/profile/bin/nmcli
joshua ALL = KILL, SHUTDOWN, HALT, REBOOT, HERD, NMCLI, \
sudoedit /etc/somefile, /etc/another-file"
)))
That’s all that I have for today. See you next time.