Dotfiles Are Everywhere. We've Lost Control Of Our Home Directories!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
you guys know that I install a lot of programs on my machine I review a lot of programs on the channel a lot of window managers and terminal emulators and music players and I've got a ton of stuff on my machine and matter of fact my machine can be considered bloated if I open a terminal right here you can see you neo fetch here how many programs are currently installed on my Manjaro system here 1479 are installed by pacman for flat packs are also in the system for snap packs are also on the system that is a lot of packages let me do a quick LS in my home directory and let's give it the flags lah we have all the files and directories in my home directory including the hidden ones my goodness that was a lot of files I can't scroll back let me hike that through more and this is everything in my home directory let me scroll down this is all the files and directories and my home directory I could just hit enter forever here well I am not exactly sure how many things are actually in my home directory we should get a count of this let me get to the end here and quit out of that let's do a count 171 files and directories are currently located in my users home directory mainly because most of it are dot files dot files are the configuration files that programs that I install place on the system I didn't place on there they were automatically placed there by the programs that I installed on my system and quite frankly it's gotten out of control the home directory is just a complete mess of get dot files everywhere lost control of my home directory you guys you're losing control of your home directories because the same programs I'm installing are probably a lot of the same programs you're installing and these programs they really don't respect specification standards they just place these config files and these config directories wherever they want in the home directory and quite frankly I'm tired of it so this problem of programs just putting dot files wherever they feel like rather than respecting standards this has been a problem for years it's something that has annoyed me for a long time what provoked me to make this video today was I came across a blog post so this blog post is titled dot file madness and this is from a fellow named Philip Berkowitz III don't know that pronounce that last name right I'm just gonna call you Bor key because that is a fantastic nickname bor key or a computer scientist i love that uh hope you're not offended anyway fantastic blog post here dot file madness we are no longer in control of our home directories and he mentions you know he had 25 ordinary files in his home directory but he had 144 hidden files and directories i was probably very similar I had about 170 files and directories in my home directory most of them are going to be hidden files and directories dot files philip writes that he has no control over these dot files being placed in his home directory he's not placing him there the program is placing them there he has no control over it I don't have control over my home directory you don't have control over your home directory these programs just put these things there you can't remove them I mean you can rub but it won't matter for example if I open up my file manager here and let me zoom in here a little bit and say I wanted to delete one of these dot files or dot directories that I didn't place here like her see right here her see is a terminal IRC chat client fantastic program you know it creates this directory itself I didn't create it if I deleted this directory the next time I start irsie it's gonna create this directory again and whatever is in this directory whatever data so I could delete it but it's just going to recreate it the next time I launch it so that's one of the things Phillip is talking about here is like we don't place these files in our home directory the programs do you can't even get rid of the dang things Phillip writes that you know even worse is that some of these programs don't even place hidden files and directories in your home directory they're placing normal files and directories you know like they're your standard user data that you created you know like some file some text file I wrote and placed in my home directory you know rather than putting a dot in front of it and making it a hidden file in my mind that's a pretty egregious offence I hate that programs do that as we'll Philip has a plea here for developers I quote to those of you reading this I beg you avoid creating files or directories of any kind and your users home directory in order to store your configuration or data this practice is bizarre at best and it is time to end it and then he goes on to write I'm sorry to say that many if not most programs are guilty of doing this so where should programs be placing their dot files well there is a standard out there called the xdg base directory specification and it's from a free desktop freedesktop.org I will link to the freedesktop.org page here on the xdg base directory specification but a cleaner read is actually the arch wiki page on the xdg base directory specifications and basically what we the important thing here is at least for us is our home directory and programs really should place all their configuration files in home slash dot config so if I go back to my desktop here it's open a book I'll manager again here and I'm gonna zoom in and right here in the home directory there is a hidden directory called dot config that is where all these programs should place their config files so if I open the config here and go to the top of the dot config directory you know 0 ad it respects the specification so it places its config files here in the dot config folder so does cadence you know Joplin mousepad some folder called Phillips miter that doesn't tell me what that program is a clip grab ok that's another thing the naming conventions some of these programs come up with some crazy names I have one random config file called troll or something on here I don't even know what the hell that is and this one here unknown organization that is the folder for its config files unknown organization let's see who that is zum-zum dot us really well that's proprietary software so I guess I'm not surprised but it's good software and you know it's they make money so it's a pretty large company behind it you would think they would have better sense then to name their configuration directory unknown organization so let's discuss some of the programs that do not respect the xdg base directory specification so if I go back to the home directory and some of the programs that are not putting their config files in the dot config directory like they should include Kross FTP I'm not sure why I have Kross FTP installed but I uninstalled it one time it creates its own dot directory called dot cross FTP rather than putting its config files in dot config slash Kross FTP like the specification says to Dropbox also doesn't respect the specification electron gym.i 3 has dot i3 rather than dot config slash i3 we already talked about irsie jitsi links moonchild productions that if somebody's dot config files but it's not in the right spot and that's a horrible name what the heck is moonchild production pale moon the full moon browser well let me get that thing off my system immediately and delete that folder I don't even use pale moon and of course Mozilla doesn't respect the standard either so you got Firefox and Thunderbird on your system you're gonna have a dot Mozilla directory instead of then putting it in dot config slash Mozilla like they should and I'm gonna go back to the arch wiki page on the xdg base directory specification other than the home slash dot config directory they also recommend that programs use the home slash dot cache directory that is where all user specific non-essential cached data should be written to so if I go back to my file manager here and my home directory you see I have a folder called dot cache similar to dot config you know used programs should place their cache data in dot cache slash name a program Oh sounds pretty reasonable right this doesn't sound like it's hard stuff um user specific data files should be written to dot local slash share so home slash local slash share and of course I'm gonna have that well or that directory here dot local so those are the three that we're interested in is those three directories in your home directory config dot cache dot local this is where these programs need to be placing their their dot files right they don't need to create their own directories their own dot directories and their own dot files inside my home directory because the home directory quite frankly has become a mess it's just cluttered with all kinds of stuff I don't even know what some of these files are are they config files are they cache data what are they now I do want to commit and a lot of programs out there for adhering to the xdg base directory specification and why the arch wiki even has this page they have this page really as a tribute to the programs that actually followed the specifications so actually have a list of programs that used to not follow the specification a lot of them they didn't follow the specimen specification because the xdg based specifications were written in 2003 some of these programs are much much older than 2003 things like them for example the recent film doesn't follow the specification is because BIM has been around for decades and I guess it would cause them some headaches to rewrite them in such a way as to place config files for example in home slash dot config but here are the programs that used to not follow the specification but now do so something jumped out at me Linder Linder used to have a folder in your home directory called dot blender but now you can actually have a folder in dot config called blender and put your configs there chromium Dolphin is also in here is in here LibreOffice follows the standard now used to not Nano MPD MPV but the email client terminal email client q tile the tiling window manager my favorite tiling window manager follows the specification you'll find Q tiles configs and dot config slash q tile where you would expect it to anyway I'm gonna link to the arch wiki page on this because I think that's really neat that they actually you basically give a thumbs up to these these programs that have adhered to the specification that originally did not and I applaud them for that hopefully going forward more and more developers start following the xdg standards because quite frankly I am getting a little frustrated having so many dot files just hanging out my home directory many of these things I don't even know what program put them there what they even do it's gotten out of control before I go this show was made possible by an San Carlos Chris Dylan Lee or Rob Robert and Tony they are my highest tiered patrons over on patreon they are the producers of this show the show was also brought to you by all those fine ladies and gentlemen all those names you see on the screen without each and every one of those supporters none of this would be possible you would like to support my work please consider doing so you will find me at distro tube over on patreon peace gas [Music]
Info
Channel: DistroTube
Views: 45,633
Rating: undefined out of 5
Keywords: dotfiles, madness, xdg, base, directory, specification, config, cache, local, Linux
Id: AFtfpluqv14
Channel Id: undefined
Length: 12min 52sec (772 seconds)
Published: Sun Feb 03 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.