 Here in the last week or so I've really spent a lot of time working on what I'm calling DTOS, which is DT's operating system It's basically going to be a deployment script. So you guys can have my Xmone desktop environment You're gonna have my Xmone config with my XMO bar. You're gonna have do me max, of course You're gonna have several shells installed on the system including the fish shell, which is my favorite You're gonna have the alacrity terminal already configured to my liking and it's gonna be essentially DT's computer on your computer So I spent a few hours every day for the last week really working on this and it's not necessarily a Script that is the problem anybody can write a quick deployment script that clones your dot files Repository and then just splats that thing out onto somebody's home directory I can do that in like five minutes But I wanted to do this thing the right way because eventually I want to build a proper ISO So we can actually release an ISO a proper Linux distribution and a proper Linux distribution of course needs a repository of software That's how you deploy this stuff. So I created DTOS dash core dash repo so our own repository of software I've got it hosted over on my GitLab and Some of the packages may or may not work So right now even though they're public repositories because I have them public so I can test them out I don't recommend you guys using this just yet I'll make an announcement when I feel like things are ready right now I'm not publishing any kind of deployment script publicly yet because things may break You know, I'm testing things out in a VM today, but here what I'm doing today is I'm actually going to run through a very Early rendition of the deployment script in a VM. I spun up a quick VM of Arch Linux I ran through like the base install of Arch Linux which takes like 10 minutes and then I'm gonna try out my deployment script And see if it actually works So let me switch over to the VM of Arch Linux I installed DWM as a window manager that way I had a graphical environment to log in to and I'm gonna do a git clone I'm gonna clone this private repository of mine over at gitlab.com slash DWT1 that's DT's GitLab, of course DTOS is the name of the repository and again This is a private repository. So unless you have my password then there's really nothing you can do with it So it's just for me when it's ready for public consumption, of course I will share this with you guys, but right now the script is gonna have errors I know it's gonna have a lot of errors and it could be potentially dangerous That's why I don't want to put it out there publicly just yet. Anyway, now that I've clone that repository You see in my home directory now when I do it LS I have DTOS here That's the only directory in my home directory at the moment and a CD into that and you have DTOS dot SH If I open that in Vim you guys can actually see the script the very beginning of the script We check if our user ID is zero, but that means you're the root user I don't want you to execute this as the root user So if you are the root user, it actually will not let you run this script And that's for safety reasons because later in the script I'm gonna call on variables such as dollar sign home, you know your user's home directory Now well the root user his home directory is of course slash root I don't want to play around in slash root, right? So that is why make sure that you run this as a normal user, not the root user We get a some welcome information here and then we play around a little bit with Pac-Man dot com What we need to do is we need to add the DTOS core repositories to Pac-Man dot com and then we need to add our key servers to GPG dot com And then later what we need to do is receive my keys So my packages that I build I have a key right and then you can't actually install those packages unless you trust that key So that is what this information here is doing and then once once we've added the DTOS core Repositories and the keys then we run a sync of the repositories with Pac-Man dash sy and then I've got this very long Array of software here including many packages that are DTOS packages from the DTOS core repository And then this array is going to get fed into this for loop here So what we're going to do is for every package in this array I want you to run that through sudo pac-man dash. Yes, so install right I give it this flag dash dash no confirm because if you don't do that After every single package it tries to install it's going to ask you yes or no Do you really want to install it? That's annoying, right? So give it dash dash no confirm here and then we install do me max we install do me max the old-fashioned way Where we clone do me max and then we run doom install I was I was toying with the idea of actually packaging do me max as a binary and hosting it in the DTOS core repository I couldn't get a binary package to work at least not yet So right now I'm just going to do the github install for do me max and that actually takes a few minutes I warn you guys that it takes a few minutes here in this echo statement Just so people are not wondering why do me max takes you know five to ten minutes to build the next section says We're going to copy the DTOS configuration files over from slash Etsy slash skill into home And so what we're going to do here is all of my DTOS packages like DTOS dash X monad for example or my X monad configs Where do I place them? Well? I don't just place them in your home directory because you may not want to overwrite your own X monad configs I actually place them and slash Etsy slash skill and then you can go into slash Etsy slash skill find dot X monad in that directory and copy that over to your home directory if you want my X monad configs But if you're running this deployment script, obviously you want them So what I'm going to do is I'm going to copy everything from slash Etsy slash skill into your home if you run this deployment script So again make sure that you actually want my X monad desktop before running this script And then all we're going to do after that is recompile X monad and then you get an exit message And that is it. So the script itself is not very complicated You could probably write a script like this in about 10 or 15 minutes But what has been taking me hours and hours every day is trying to figure out what packages I actually want in my repository I've got to create package builds and then I build binaries assigned binaries and then I add it to the repository That's really the tedious part is actually maintaining packages and trying to figure out what all I need packaged because I don't want to Want to think about this script is I don't install anything from the AUR in the DTOS shell script What I'm doing is if there's a AUR package that's not in the core repositories and I need I'll package it myself and put it in The DTOS repository. So that's why on in that script. We're only using Pac-Man We're not using yay or paru or anything like that and I was really trying to avoid using get clone for anything I don't want to go clone any repositories the one exception I'm making right now is doom emacs, but I'd like to figure out how to package doom emacs as a binary eventually So let's run this script and see if it works I'm going to ch mod plus X to make DTOS executable and This script probably will not work. I have not got this thing to run without errors yet And I know I'm getting close. So I'm just going to run this one on camera and see what happens So let's go ahead. All right. This is the welcome screen. It just tells you a little bit about DTOS I'm going to hit okay. Stay near your computer because you're going to need a root password So Pac-Man is going to ask you for a root password Pretty much as soon as you begin the installation and then are you sure you want to do this? You can exit if you're unsure or you can begin installation and then of course the first thing add a password here because we're going to Start editing some important files like slash Etsy slash Pac-Man.com. So give it your root password So I added DTOS core repositories to Pac-Man.com I added the key servers to GPG.com and then we're installing all of our software and We're getting some warning messages because some of these packages were already installed so it doesn't reinstall them It just skips them. That's fine and Then we're installing do me max and this portion of the installation actually will take about I don't know five or ten minutes So I'm going to pause the video for a few minutes I'll be back once we get near the end of the doom emacs installation It looks like it's getting close to the end of the doom emacs installation It's asking do I want to install all the icons? So that's fonts for doom emacs This is one of the reasons why Problem one of the problems with packaging doom emacs as a binary is it's interactive There's a couple of yes or no questions during the installation. It says installation complete So it looks like the script actually completed just fine Of course, the moment of truth is to actually quit out of DWM log into X monad All right, I installed SDD M for a display manager I'm going to choose X monad and let's see if we log into my X monad desktop So we actually did so it did install my wallpapers and it set one of them It also launched trayer, which is our sys tray. It did not launch XMO bar I know why it doesn't launch XMO bar It's going to be a font problem that would probably be easily corrected But alacrity is here alacrity with the starship prompt also installed my shell color scripts program where we get a random show color script. Let me go ahead and make the Screen resolution a proper 1920 by 1080. So the script is getting close, right? That's some of the problems left now. It is Are easy to solve. I just need a little more time You guys keep asking about it the work involved What's really taking of course the largest amount of time is of course I talked about packaging software Let me show you guys what I'm talking about with packaging software So let me switch over to the desktop here on my real computer. That's not the virtual machine if I go to my get lab I'll show you I've created some repositories for example DTOS dash package builds and DTOS dash core repository so package builds of course are the package build files and These are all the package builds for packages that I'm maintaining and once I build these I created a script to automatically build these packages, right and then once they're built I Send the binaries to this repo DTOS dash core repo and there's the binary packages as also the SIG files as well because they're signed files. So this is really what I've been working on the last week or so We're getting pretty close here I packaged most everything that I think we need at this point the last thing I need to do is Just tidy up some of the you know one of the things I need to do is figure out exactly what packages we're missing Like xmo bar obviously did not work and when I ran the script the script actually Completed which is what's a first for me. I'm glad we got to share that on camera But still xmo bar is a little buggy. It's gonna be a font problem What it is is xmo bar is really picky about if you use fonts that are not installed on the system It won't law launch or if you use glyphs that your font doesn't support in the config It won't launch and of course my xmo bar if I show you, you know, it's actually Got a lot going on with it as far as unicode glyphs And that's gonna be the the issue that I'm gonna have to clean up here But the fact that I got the installation script Kind of to work this time. I figure We're just a few days away from a public launch. Give me another I don't know a week or so and we'll go ahead and put this on a public Repository on gitlab for you guys to try out now before I go. I need to think a few special people I need to think the producers of this episode ebsi gave james michael paul scott west a commie ellen chuck curt david dungeree hycoe mike urion alexander peace archon for door probably take raver scott red prophet steven willie I don't know why i said scott two different times, but all these guys These are my highest-eared patrons over on patreon without these guys this episode about the upcoming release of dt os Would not have been possible the show is also brought to you by each and every one of these ladies and gentlemen as well All these names you're seeing on the screen right now These are all my supporters over on patreon because I don't have any corporate sponsors I'm sponsored by you guys the community if you like my work and want to help me out Please consider subscribing to distro tube over on patreon. All right guys peace Find a package maintainer and give him a hug