 I want as much GNU packed into my operating system as possible. I'm looking for a truly GNU operating system and recently viewers of the channel have been recommending that I take a look at GNU Geeks. What is GNU Geeks? It is an advanced distribution of a GNU operating system. It is a 100% free as in freedom distribution of GNU slash Linux. Geeks is really interesting because other than the fact that it's 100% free as in freedom it uses the Linux Libre kernel. So 100% free Linux kernel. There's no binary blobs or anything in that kernel. But Geeks has its own really unique package management system. It has its own package manager which is also called Geeks. Other than supporting the Linux Libre kernel Geeks does support the Herd kernel. So if you wanted a 100% GNU operating system you could get Geeks working with the GNU Herd kernel. Now I probably wouldn't try to use the Herd kernel on actual physical hardware like a production machine. That's not going to be a great experience but I may at some point experiment a little bit with Geeks with the Herd kernel maybe in VMs. But today I wanted to take a look at Geeks with the Linux Libre kernel because I think that may be a possibility for somebody like me to run on my actual daily workstation. My main production machine or at least I'm interested in seeing if that's possible. Today what I'm going to do is I'm going to run through an installation of GNU Geeks inside a VM. So let me switch over to my desktop. So this is a virtual machine I spun up just to run through this installation. I haven't installed Geeks before. So this will be my very first time taking a look at this. Looks like it's going to be a text-based installer which is fine. Does it have any mouse functionality? No, I don't get a mouse cursor when I move my mouse. So we're just going to have to use the keyboard. Language selection is the very first screen. It has highlighted English by default which is correct for me. So I should just be able to hit enter on the keyboard and then choose the territory for this language. And I'm in the United States. If I hit U will it automatically go down to the U's? It does. United States is highlighted. Let me hit enter. All right. Welcome to the GNU Geeks installer. You will be guided through a graphical installation program. If you are familiar with GNU slash Linux and you want tight control over the installation process you can instead use manual installation. Documentation is accessible anytime by pressing control alt F2. So that's really nice information to have. Control alt F2 if we ever get into trouble will get us some documentation. Do I want to run through the graphical install using this terminal-based interface or do I want to use the shell-based installation? Because I don't really know what I'm doing I'm going to run through the graphical installation. It's probably going to be a little more straightforward. And then we need to pick our time zone. I am in one of the Americas so I'm going to choose America. And then we need to choose a city. Chicago. I'm not actually in Chicago. But Chicago is in the central time zone in the U.S. So I always pick Chicago out of this list. Now because I always pick Chicago out of these lists I'm surprised that most of my viewers of the channel actually think I'm in Chicago. Does this sound like a Chicago accent guys? I don't know how many times I've conversed with you guys and messages and email and you guys actually think I'm really in Chicago. No I'm not a Chicago native. I'm actually in the deep south. I'm in Louisiana. Now back to the installation process here. We need to choose a keyboard layout. So I need English U.S. for the keyboard of course. And then choose a variant. I just need again English U.S. Please enter the system host name. I will call this Geeks Veeam for the host name. All right and it's trying to connect us to the internet. Now I'm on a wired connection here so I don't have to fool with a wi-fi or anything. We need to choose a password for the system administrator. So this is the root password. So choose a strong and complicated password and then hit enter. Do I want to show the password? I don't really need to show the password. Let's just hit okay. Confirm the password and tab down a couple of times to get to okay to confirm our root password. All right please add at least one user to the system. So of course there's going to be a root user but we're going to want some other user other than the root user of course on the system. So if I tab it was already highlighted on add let me hit add. Let me choose a name for my new user. I'm going to choose DT as the user. His real name his real name can also be DT. His home directory is already chosen slash home slash DT. That's fine. We need to choose a strong and complicated password for the DT user. All right and then tab down to okay and hit okay. Please confirm DT's password. All right so we've added at least one normal user. Now let's hit okay. Now we need to select our desktop environment. Now looking through their website and some of the documentation I saw a lot of XFCE screenshots so I'm assuming XFCE is their flagship edition. So I'm thinking about choosing that. Me personally I would probably go window manager only on you know a real machine that I was installing for myself. I'd probably choose something really light and minimal like open box and then install all the other window managers you know I want to install later but for purposes of this video I actually do want to check out their default XFCE. So I'm going to click enter on that. I guess I could choose multiple desktops. I'm just going to do XFCE for now though I don't want to bloat up this VM. All right and then we have some networking services that we can activate. I am a SSH user. I use SSH all the time. I probably won't use it in this VM so I won't bother adding SSH. You could also add Tor and by default it already has ticked on the Mozilla NSS certificates and that's for HTTPS. So I'm going to tab down to okay and hit okay. All right choose a partitioning method. I just want geeks to have the entire virtual hard drive of this virtual machine so the very first option is the one I need to choose. Please select a disk. I'm going to give it this 26 gigabyte disk here in this VM that I created so I'm just going to let it have that. Select a partition table. Typically I do MS-DOS partition tables. Typically I just do you know standard BIOS installations. If you wanted to do UEFI typically you're going to want to do GPT for those. I'm just going to arrow down to MS-DOS though since that's typically what I do. I'll just stick with it. Please select a partitioning scheme so do we want to have a separate home partition or do we want everything on one partition? I want everything on one partition especially in a VM. If I try to partition home as a separate partition I'm going to have some wasted space that I'm never going to use and space is kind of at a premium in a VM. Now if I was doing this on my one terabyte NVMe drive on my main production machine yeah I might have a separate home partition. All right this is the proposed partitioning so it gives us what it's going to do with the automatic partitioning and it looks fine to me. I don't think I really need to change anything so I'm just going to tab down to okay and hit okay. It's about to format the hard disk so it's about to format that drive and right to the disk. If this was a disk that already had some information on it all that information would be lost but this is a new hard drive virtual hard drive in a VM so there's no danger here. I'm just going to click continue. All right we're now ready to proceed with the installation. A system configuration file has been generated. It is displayed below. This file will be available at slash etse slash config.scm on the installed system. Okay now this is getting into some of the really unique stuff with geeks because this is the config file. It's showing us the config file. Do you guys recognize this language? It's very less polite right? It looks like an emacs config and that's basically what it is. It's actually scheme the file the installation file at slash etse slash config.scm gives us a hint of the language there. Anyway if I wanted to edit this I could. I really don't know scheme. I'm not you know familiar with any of the variants of lisp or anything so I couldn't edit this well. You guys that can may want to. I'm just going to tab down to okay and continue. All right and we get shepherd service cal store has been started. Shepherd is the init system for this. So geeks has its own init system and shepherd from what I've read in the documentation is very system d like. You know a lot of the commands are very system d like. So that's good but it is worth noting that geeks uses a completely unique init system. So it's not system d. It's not sys via knit. It's not open rc right. It's something completely different. So prepare to learn a new init system if you do plan to switch to geeks. Now it's pulling stuff down from the internet and it's going to install some stuff. I have no idea how long a base install of geeks will take. I don't know how much stuff will be pulled down as binaries how much stuff will be built from source because a lot of what geeks does for package management is building stuff from source. So the installation process it could take a long time. I'm really not sure. Like I said this is the very first time I'm installing geeks. So what I'm going to do is I'm going to pause the recording and I will come back once this installation has finished. Now the installation has been running for about half an hour. Now it's a net installer has to download a bunch of packages from the internet and it looks like it has already downloaded all the stuff. It's built all the packages. All the packages it looks like it's storing them in a special directory at slash gnu slash store. So in your root file system you're going to have a different kind of folder there than normal you're going to have that slash gnu folder and in slash gnu slash store that's where all your binaries I guess are going to be stored it's going to store them in slash gnu slash store slash some kind of hash dash package name on most gnu slash linux systems of course your binaries are going to be in slash bin or slash user slash bin but it doesn't look like we're going to be using that particular directory here on geeks. Geeks they do some unique stuff with the directory system it's going to have some folders that are not normally there on other systems and it's going to have folders that are there on other systems that geeks really doesn't use. I don't think it uses slash bin at all I don't think there's anything in it I think it's just an empty directory and as I was finishing that last sentence we have completed the installation it says press enter to continue so let me press enter and see what happens and it's just hanging for a second I don't know if it was supposed to reboot there it goes and there we go it says installation complete reboot so let me hit enter all right and we have rebooted our freshly installed geeks and there is our username let me go ahead and type in my password and let's log in to our xfce desktop environment and it is a very plain vanilla xfce desktop which is what I was expecting let me run it x rander let me actually see if x rander is on the system x rander is not I wonder if I can install x rander so the first thing I need to do is figure out the package manager commands the geeks package manager I need to figure out what I need to type to install software I'm going to zoom into this terminal so you guys can see me I'm going to run a man page on geeks assuming that man pages are installed by default here and they are so that's good we do have the man pages and let me see if I can find some of the basic stuff for geeks looks like I need to run info geeks to actually get the complete manual so let me quit out of the man page and instead run info geeks and I was looking through the info page it is geeks install name of package and you do not have to invoke sudo with geeks you can just use it as your normal user so I should be able to geeks install x rander and x rander is the name of the package I looked that up on the geeks website it says the following package it will be installed x rander 1.5.1 downloading it all right and then it's you know building the package and it is installing it at slash gnu slash store and then the hash symbol it looks like it was also installing some other stuff no I'd actually had to go grab those I guess those are dependencies for x rander I've been waiting a couple of minutes for x rander to install here installation on geeks does take a little longer it looks like you know it's uh you know you've got to build stuff from source and you know there's there are some prebuilt binaries for some things but some things you know it builds from source so that takes a little longer than most of your traditional gnu slash linux distributions all right and it finished that installation of x rander let me run x rander now and 1920 by 1080 is available so I'm going to run x rander dash s space 1920 by 1080 and now we have a 1920 by 1080 screen resolution no now we got a more proper screen resolution for this very first look of geeks so just quickly taking a look at this I don't think there's much installed by default on geeks so if I go to the applications menu if you go to the settings here you have all the xfce settings stuff this is all the xfce utilities of course all of that stuff was installed but any kind of extra programs that are not built in to the xfce desktop environment are not here we have this accessories category that just has a few tools and they're all xfce tools we have the tunar file manager xfcs file manager and clipman the bulk rename tool that's one of the xfce utilities the ristretto image viewer and that's it we don't have anything else we don't have what doesn't look like there's a web browser any kind of office utilities and you're not going to have anything like gimp and escape you know you got to go install all of the software you want to use now there is a link to a web browser here but if I click on it it asks me what is my preferred application for a web browser and if I choose the drop down list there's nothing here we don't have a web browser installed so what I'm going to have to do is actually install a web browser if I want one and because this is one of the Libre distributions right 100% free you can't just go get any web browser so obviously things like google chrome and vivaldi are proprietary software you're not going to go get those chromium I don't know probably even chromium is going to have some non-free stuff built into it you could probably go and build un-googled chromium from source if you wanted to building a web browser a big bloated web browser like chromium from source is going to take a long time I don't have that kind of time you might take a couple of hours to compile that particular web browser firefox also is not 100% free there's some stuff in it but the gnu guys do package their own distribution of firefox called ice cat so let me run a geeks install ice cat let's see if ice cat is actually here i'm having some issues typing here there's a little latency issue here in the vm but it's a virtual machine that's not a geeks problem that's just the fact that i'm trying this out in a vm all right and it says warning running geeks pool followed by geeks package to update so it's gotta i guess sync the repositories it's gotta do a geeks space pool that particular command that's basically kind of like running your apt update command on devian based systems or or on arch running a pac-man dash capital s lowercase u you get sinking the repositories first making sure everything's up to date and then it's going to go and install ice cat and i hope that the gnu guys have packaged ice cat as a binary they probably have if they took the time to make their own customized version of firefox they probably already have a like a pre-built binary for it so hopefully it doesn't have to compile from source because web browsers are such big programs compiling them from source it takes forever and even if it is pre-built binaries this installation is taking a long time because there's so many dependencies for firefox or ice cat in this case and it's going to have to install all those dependencies because none of them were already installed geeks is such a minimal installation that you know it's got to go install everything it didn't even have pulse audio or python already on the system had to install kyro and pango and lib xft and everything else one interesting thing to note about geeks is the geeks package manager which is also called geeks is available to be used on any gnu slash linux distribution you can actually use the geeks package manager on any distro i have never tried it i don't know how well it works but supposedly it's perfectly safe geeks the package manager is not supposed to conflict in any way with your linux distributions native package manager so if you're on debian you know if you use the geeks package manager it should not conflict with apt at all or if you use geeks on arch it should not conflict with pacman at all and once again i have not tried that so i cannot recommend you guys go and do that especially on a main production machine if you want to play around on a test machine or in a vm you know trying to use the geeks package manager on non geeks distributions go right ahead and the installation of ice cat is still going it had to install cups which is the printer server it had to install wailand the wailand display server it's got to install a ton of stuff it's now installing mesa so this is the problem with such minimal installations uh is they take a while right this was not already stuff that was packaged on an iso for you to go grab it's got to go pull it down from the internet and build all this stuff so geeks is not one of those you're going to install it in 10 minutes and everything just works you're going to have to put in some time with geeks and i'm still waiting on ice cat to build uh it's just pulled down ffm pig and now it's pulling down the actual ice cat program man i hope i hope it doesn't have to build ffm pig ffm pig is another really large program that can take a long time if you actually have to build it all right and that has completed one thing i haven't checked yet what are we running as far as a kernel version i'm going to do a uname dash r we're running 5.4.31 dash gnu 5.4 is one of the lts kernels so it looks like they're going to stay on that lts kernel which is fine i don't mind running the lts kernels what shell are we actually using i would assume it would be uh good new bash as our shell but let me do it echo shell see what it prints out it is slash bin slash bash now let's talk a little bit more about the geeks package manager and some of the commands with it we've already seen geeks install name of package for installation geeks remove name of package would remove a program we did geeks space search we could search for a package maybe i want to search for emacs let's install good new emacs on geeks actually it probably would take a while to install emacs so i won't actually try to install it but that's how the search function uh works now one thing you can do with geeks is you can do partial upgrades now partial upgrades on most gnu slash linux distributions are not recommended like it will seriously break your system if you try to do a partial upgrade on arch linux or on gen2 you know on most distributions they tell you never do a partial upgrade but the geeks package manager is supposed to handle partial upgrades just fine there is no danger to them at all it's supposed to be an unbreakable system the way geeks works is you are not supposed to be able to permanently break this system because the the way it installs packages packages have generations that you can roll back to so if something is not working for you you can always do a very quick rollback to get back to where you were before so if i run geeks package and then give it this flag dash dash list dash generations i believe it should give me a list of all the generations now because i just started with this installation of geeks we're at generation one so i really can't roll back to anything i only have the one generation but after you use it for a while you're gonna have a bunch of generations listed you're gonna have generation one two three four you know whatever and to roll back you would do a geeks package and then dash dash roll back actually i don't think it's all one word i think it's dash dash roll dash back let me run that and see if we can actually roll back and it actually will it will roll back to the previous generation which i think will just undo everything i've installed to this point so we'll go back basically to a default uh good new geeks installation that's gonna get rid of my ice cat that took forever to install it's gonna get rid of x rander like oh my goodness i shouldn't have done the rollback but you guys see how you can list generations you could do dash dash delete dash generations to delete a specific generation from your generation list and of course you can roll back now that i've done a rollback let me see if x rander is there x rander has not found so yes it removed everything that we have installed since installing the base geeks so no x rander no ice cat web browser nothing we're back to the default installation and i think that's where i want to stop with this video it's been a rather lengthy video already i've been recording nearly two hours now once i edit it down uh hopefully the video won't be more than about 20 or 25 minutes as far as the geeks package manager other than using it as a command line utility there is no graphical way to use the geeks package manager so most gnu slash linux distributions have graphical package managers so other than apt and debian you could use the synaptic package manager or other than pacman and arch you could use something like pemek but with geeks it's command line only for the package manager now there are some plugins for emacs so if you install gnu emacs in geeks you can actually install emacs dash geeks for an extension inside emacs and i don't haven't tried it because i haven't taken the time to actually install emacs within my geeks vm yet but supposedly there is some integration with the geeks package manager with emacs if you install that extension all in all you know just looking at it for a few hours here today i'm pretty impressed with geeks so far i think it's an interesting distribution i think it's it's different right it's so different than the mainstream linux distributions and other than playing around in this vm i'm going to try to install it on some of my laptops now being a 100 free as in freedom gnu slash linux distribution i may or may not have working wi-fi on those laptops i'm not sure about the wi-fi chips and those but even if it doesn't have wi-fi i can always play in an ethernet cord for now to just to play around with or what i'd probably do is just go buy a cheap wi-fi adapter that actually is compatible with gnu geeks i'm going to play around with geeks for a week or two and a vm and on my test equipment and if after a couple of weeks of playing around with it i feel like i can get all of my work done i may go ahead and hop to geeks on my main production machine because i think it deserves the attention i think by highlighting the great work that the good folks over at the gnu project are doing maybe in some small way i can help those guys out because i don't think the guys at gnu get enough attention for all of the heavy lifting they have done to bring us this operating system and this operating system i'm talking about all the gnu slash linux operating systems they don't get the credit they deserve and it makes me sad so i hope all of you guys anytime you're talking about the combination of gnu and the linux kernel i hope your guys are calling that operating system gnu slash linux now before i go i need to thank a few special people i need to thank michael gay peplo naked benian michael entropy uk john arch 5530 chuck dj donnie dylan george louis imary paul robert shawntobias and willie they are my highest tiered patrons over on patreon and they are the producers of this episode this quick first look and installation of the geeks gnu operating system it wouldn't have been possible without these guys the show is also brought to you by each and every one of these fine ladies and gentlemen these are all my supporters over on patreon because this channel is supported by you guys the community you'd like to support my work you'll find distro tube over on patreon all right guys peace