% tree -L 1
.
├── bak
├── bin
├── dev
├── doc
├── etc
├── junk
├── media
├── public
└── repos
It's important to notify Linux that you've changed these directories from the defaults. Then it won't try to create the old directories over and over. Simply edit user-dirs.dirs in the config folder to point to your preferred locations. Now even Nautilus will be able to make shortcuts to your directories in the "Places" sidepane.
% vim .config/user-dirs.dirs
XDG_DESKTOP_DIR="\$HOME/doc/desktop"
XDG_DOWNLOAD_DIR="\$HOME/doc/downloads"
XDG_TEMPLATES_DIR="\$HOME/.templates"
XDG_PUBLICSHARE_DIR="\$HOME/public"
XDG_DOCUMENTS_DIR="\$HOME/doc"
XDG_MUSIC_DIR="\$HOME/media/music"
XDG_PICTURES_DIR="\$HOME/media/pics"
XDG_VIDEOS_DIR="\$HOME/media/vid"
And don't forget to run this
% xdg-user-dirs-update
bak - backups directory
This directory holds assorted files as backups. I like having these all in one spot.bin - binary files and scripts
All the scripts I want to use system wide go in this directory. These are almost all single-file utility scripts here. If I have a larger program it usually goes in ~/dev. The Oscar for best supporting actress goes to this line in my .zshrc file:export PATH=/home/arno/bin:$PATH
dev - development directory
This folder holds all of my personal projects. When I want to work on a new coding project I'll never finish I make a subdirectory for it here. Simple projects can just be a script with some testing files thrown in with it. More serious projects get a larger structure similar to this:% tree -L 1
.
├── bak
├── bin
├── doc
├── include
├── makefile
├── obj
├── README
├── src
└── tests
doc - documents folder
Quite simply my documents folder. It holds the brunt of my files. I like to keep a directory for school here. I have further directories dedicated to each class in the school folder. For example the course Mechanical Engineering 366 becomes ME 366. I keep a work directory here dedicated to resumes, cover letters, and the odd timesheet. I have a pdfs directory where I keep downloaded textbooks/articles. My Dropbox folder also goes here.etc - environment and tool configuration
The ~/etc directory contains symlinks to my most visited config files. I never liked how different programs used different config locations. They always fail to use a consistent naming scheme too (I'm looking at you .tmux.conf). By symlinking through ~/etc I've made a consistent place for all those files. I need only type% vim ~/etc/xbk
to really get
% vim ~/.xbindkeysrc.scm
I can also use this directory for backups if I wanted. I currently don't however as git can easily take care of the regular files. The rest of etc:
% tree etc
etc
├── bash_profile -> /home/arno/.bash_profile
├── bashrc -> /home/arno/.bashrc
├── compton -> /home/arno/.config/compton.conf
├── dzen2 -> /home/arno/.config/herbstluftwm/panel.sh
├── emacs -> /home/arno/.emacs
├── functions -> /home/arno/.functions
├── hlwm -> /home/arno/.config/herbstluftwm/autostart
├── i3wm -> /home/arno/.i3/config
├── sbclrc -> /home/arno/.sbclrc
├── ssh -> /home/arno/.ssh/config
├── tmux -> /home/arno/.tmux.conf
├── vimrc -> /home/arno/.vimrc
├── xbk -> /home/arno/.xbindkeysrc.scm
├── xinitrc -> /home/arno/.xinitrc
├── zprofile -> /home/arno/.zprofile
└── zshrc -> /home/arno/.zshrc
junk - exactly what it says on the tin
Sometimes I just need to make a quick scratch file for testing. By keeping them in one place they don't end up scattered all over my system. There's not any reason to keep them past their testing phase, but I sometimes go back and reference them. I've used other names for this directory in the past such as ~/scratch and ~/tmp.media - media directory
Collection of all my music, pics, gifs/webms, games, videos, etc... I'm rather meticulous about sorting these files by subtype.% tree -L 1 media
media
├── games
├── music
├── pics
└── vid
No comments:
Post a Comment