I am polishing my dotfiles and learing features of github, and probably going to use GH for my pet projects.
leave your comments on the discussions page
An attempt to follow XDG specifications and store minimalist settings in ${XDG_CONFIG_HOME}
I am polishing my dotfiles and learing features of github, and probably going to use GH for my pet projects.
leave your comments on the discussions page
xdg-user-dirs-update --set PROJECTS ~/Projects
homedir: #{{{ prep my home environment with all the config files
echo "I am about to empty your homedir"
read -sn 1 -p "ctrl-C to abort or Press any key to proceed."
echo "nah, just checking you are not a cat, let's try again"
read -sn 1 -p "ctrl-C to abort or Press any key to proceed."
rm -rf $HOME/*
echo "cloning dotfile repo"
yadm clone yadm clone https://github.com/vyvox/dotfiles.git
echo "TODO make the snippet prettier"
echo "removing .github dir with README and LICENSE files"
rm -rf $HOME/.github
# }}}
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'
vs
export WGETRC="$XDG_CONFIG_HOME/wgetrc"
and add the following as an alias for wget:
wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"
or set the hsts-file variable with an absolute path as wgetrc does not support environment variables:
echo hsts-file \= "$XDG_CACHE_HOME"/wget-hsts >> "$XDG_CONFIG_HOME/wgetrc"
for clean minimalistic approach see
Add .local/share/bash
for the bash history file, so it wouldn't complain.
I am thinking user-dirs structure alteration
Desktop
Documents
Documents/Templates
Downloads
Media
Media/Pictures
Media/Music
Media/Videos
Projects
Public
/etc/profile.d/xdg.sh
# http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
test "$XDG_CACHE_HOME" || export XDG_CACHE_HOME="$HOME/.cache"
test "$XDG_CONFIG_HOME" || export XDG_CONFIG_HOME="$HOME/.config"
test "$XDG_DATA_HOME" || export XDG_DATA_HOME="$HOME/.local/share"
dirs4xdg.sh
#!/bin/sh
test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
#export XDG_DESKTOP_DIR XDG_DOWNLOAD_DIR XDG_TEMPLATES_DIR XDG_PUBLICSHARE_DIR XDG_DOCUMENTS_DIR XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_VIDEOS_DIR XDG_SCREENSHOTS_DIR XDG_BACKGROUNDS_DIR XDG_PROJECTS_DIR
[ -d "${XDG_DESKTOP_DIR}:-$HOME/Desktop" ] || mkdir -p ${XDG_DESKTOP_DIR}
[ -d "${XDG_DOCUMENTS_DIR}:-$HOME/Documents" ] || mkdir -p ${XDG_DOCUMENTS_DIR}
[ -d "${XDG_TEMPLATES_DIR}:-$HOME/Documents/Templates" ] || mkdir -p ${XDG_TEMPLATES_DIR}
[ -d "${XDG_DOWNLOAD_DIR}:-$HOME/Downloads" ] || mkdir -p ${XDG_DOWNLOAD_DIR}
[ -d "${XDG_PUBLICSHARE_DIR}:-$HOME/Public" ] || mkdir -p ${XDG_PUBLICSHARE_DIR}
[ -d "${XDG_MUSIC_DIR}:-$HOME/Media/Music" ] || mkdir -p ${XDG_MUSIC_DIR}
[ -d "${XDG_VIDEOS_DIR}:-$HOME/Media/Videos" ] || mkdir -p ${XDG_VIDEOS_DIR}
[ -d "${XDG_PICTURES_DIR}:-$HOME/Media/Pictures" ] || mkdir -p ${XDG_PICTURES_DIR}
[ -d "${XDG_BACKGROUNDS_DIR}:-$HOME/Media/Picture/Backgrounds" ] || mkdir -p ${XDG_BACKGROUNDS_DIR}
[ -d "${XDG_SCREENSHOTS_DIR}:-$HOME/Media/Picture/Screenshots" ] || mkdir -p ${XDG_SCREENSHOTS_DIR}
[ -d "${XDG_PROJECTS_DIR}:-$HOME/Projects" ] || mkdir -p ${XDG_PROJECTS_DIR}
chmod 700 ${XDG_CACHE_HOME} ${XDG_CONFIG_HOME} ${XDG_DATA_HOME}
In the /etc/bash/bashrc
add
# XDG_CONFIG_HOME is set in /etc/profile.d/xdg.sh
# Move .bashrc to ${XDG_CONFIG_HOME}/bash/bashrc
source ${XDG_CONFIG_HOME}/bash/bashrc
files that needs correction from $HOME/
to ${XDG_CONFIG_HOME}/X11/
/etc/sandbox.conf
Files that will be affected:
.bash_history
files that needs correction from $HOME/
to ${XDG_CONFIG_HOME}/X11/
/etc/X11/xinit/xinitrc
/etc/X11/Sessions/Xsession
/etc/X11/Sessions/Fluxbox
Files that will be affected:
.Xresources
.xsession
.xsession-errors
.Xmodmap
.Xkbmap
.Xclients
Place empty or partially filled files in the TEMPLATE folder:
bash script.sh
bash script root.sh
Markdown document.md
ODF Spreadsheet.ods
ODF Text Document.odt
LaTeX document.tex
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.