debfix — dot-files and tweaks
Tweaks for Debian (or derivative) GNU/Linux distribution
This repository consists mostly of dot-files for a swell Xfce-based experience and some administrative scripts that increase the performance and convenience of GNU/Linux as a desktop environment. In other words, this repository should contain all that is needed to turn a vanilla Debian Xfce install (or similar, YMMV) into my and mom's favorite OS.
It it comprised of two parts:
- user configuration dot-files
- debfix.py script for system-wide tweaks
Any feedback, suggestions, bugs, fixes, requests and ideas are welcome!
Using the 'template' files in debfix
directory, debfix.py
script
sequentially prompts the user to:
- (performance)
- defer all DPkg triggers until the end of installation process, when installing packages with apt
- set 'noatime' flag on all
/etc/fstab
mounts (—is it OK to set it on ALL mounts?) - mount
/tmp
as tmpfs (in/etc/fstab
) with increasedsize=2G
(—is it better to set TMP_SIZE in/etc/default/tmpfs
??) - apply sysctl optimizations
(for a desktop workstation)
- also increase sampling_down_factor of ondemand CPU governor
- (convenience)
- set a neat ( Debian only ) sources.list (including deb-multimedia.org)
- set nice default Synaptic config (should be part of dot-files if it weren't
/root
's) - enable tapping and edge scrolling for touchpads (by xorg.conf rule)
- add usbfs mount to
/etc/fstab
for VirtualBox (—seems like not needed anymore, sometimes?) - add user to
fuse
group - fix resume from hibernation issues
- make 'global' sudo sessions (instead of per-tty) and fix gksu default sudo-mode bug
- disable (blacklist) PC-speaker
- install 'sections' of packages (defined in
debfix/debfix-packages.conf)
- track and pin the latest iceweasel-esr (only if 'mozilla' section is selected)
- install appropriate VirtualBox Extension Pack (only if 'virtualbox' section is selected)
- if you need a severely optimized, minimal WinXP VDI image (1.1GB), the password is —kind of like the Microsoft products— necessary evil.
- install latest TeamViewer (currently with a low-risk but open symlink attack vector :-) )
- install latest Skype
Further details revealed with inspection of related do_*
functions in the script.
You can suppy -y
or --assume-yes
to the script to choose 'yes' (or other
provided default) on all prompts. Unattended is hugely untested, though. :-)
You can easily copy the configuration dot-files to your $HOME
with
copy_dotfiles.py
script.
Files and directories starting with .
thus hold:
- a neat and useful
.bashrc
with a nice$PS1
prompt - some gathered
.fonts
- some gathered scripts in
.local/bin
- cross-session autostart (devilspie, tilda, disable tapping while typing, disable alert, ...)
- custom XDG user directories
- Xfce4 (currently gtk-2.0 only) and xfwm4
.themes
(specifically, modified Xfce-orange and Microcurve), default gnome-human-icon-theme - additional configuration is included for, but not limited to:
- Audacious (..., yaxamp skin)
- devilspie
- hide audacious from taskbar (status icon in notification area is enough)
- minimal-sized skype call windows
- sticky Pidgin conversations, Firefox, and Geany
- evince
- Geany (config and nice dark syntax highlighting for some languages)
- GiMP (a couple of custom keybinings)
- IPython (default profile more shell-like & default
__future__.division
& scientific imports ...) - Mousepad (8px font)
- Pidgin (prefs, custom smileys)
- qBittorrent (lite interface & solid settings)
- SpeedCrunch
- Thunar (small icons, toolbar-style location, custom actions)
- tilda: drop-down, quake-like terminal (set on (my) 'cedilla' key, above Tab)
- Xfce4 (solid settings for novices (optional windows look) & pros)
- xfce4-terminal (small font, large scrollback history, no auto scrolling)
- Mozilla Firefox (and Iceweasel)
- look & feel (window, context menu)
- about:config prefs
- extensions anyone should have:
- Adblock Plus
- Custom Buttons (have JavaScript-run buttons on your chrome)
- dictionaries (Slovene, English)
- Dictionary Lookup Extension
- Greasemonkey
- Image Zoom
- keyconfig (to remap annoying Ctrl+Q etc.)
- NoScript
- Text Link
- Textarea Cache (never again lose your lengthy forum post)
- Tree Style Tab (for proper vertical hierarchical tabs)
- X-notifier (for all of your Gmail et al. accounts)
- for developers (Firebug, Links & Forms, TamperData, View Deps, View Frames, WebDeveloper)
You can download the latest version in a .zip or .tar.gz format.
You unpack it with:
$ unzip master.zip # or
$ tar -xvzf master.tar.gz
Then:
$ cd debfix-master
$ python copy_dotfiles.py # to copy dot-files to your $HOME, and
$ sudo python debfix.py # to run the interactive tweaking script
It's best to run in a virtual terminal (Ctrl+Alt+Fn) with a display manager screen 'hanging' on Ctrl+Alt+F7 instead of in a single-user (root) session as there are more services ensuring everything goes smoothly. Please let me know if you experience any issues!
Hover mouse for caption: