Things to install on a newly-overhauled machine

From HalfgeekKB
Jump to: navigation, search

This is often the most time-consuming part of setting up a new system: Gathering everything you need to put on it.

(This stuff also applies to an entirely new machine, which one could say is a special case of overhauling. But, in my experience, this stuff takes place way more often on a machine that isn't new.)

System independent checklist

Privacy/crypto

  • GnuPG
    • Mac: Install gnupg using Fink.
    • Linux: GnuPG may already be installed. Also look for gpg-agent.
    • Windows: If Cygwin isn't an option (or even if it is) you should consider Gpg4win.
      • If you're using the newer versions of Gpg4win with Kleopatra, but also using Cygwin, you probably want to share their gnupg home dirs. Make this registry update, replacing the path with your own as necessary:
[HKEY_CURRENT_USER\Software\GNU\GnuPG]
"HomeDir"="C:\\Users\\someuser\\Documents\\.gnupg"
      • Alternatively, set your Cygwin GNUPGHOME variable (in shell startup scripts) to the one used by gpg4win.
# Share GPG config with gpg4win
# Note: The actual path may vary depending on Windows version and level.
export GNUPGHOME=/cygdrive/c/Users/someuser/AppData/Roaming/gnupg
        • If you take the latter route, change the permissions on that directory so that Cygwin's gpg doesn't complain about unsafe permissions.
chown someuser "$GNUPGHOME" &&
chmod go-rwx "$GNUPGHOME" &&
find "$GNUPGHOME" -type f -exec chmod a-x,go-rw {} \;

Web browser

  • Firefox
    • Theme: miniFox Flat cuts some of the fat out of the default Firefox theme.
    • Ad blocking: Adblock (homepage)
    • Power-editing text areas: It's All Text!
    • Tab save: SessionSaver
    • Weather: ForecastFox (homepage)
    • Smart forward/back: Link Widget. After installing, new buttons are available for customizing toolbars.
    • Signature adds quick text snippets via context menu.
    • rmannoy, the Annoyance Remover, adds the option to force sites using autocomplete=off to allow form contents to be remembered.
    • Saved password editor
    • Master Password Timeout makes Firefox forget the Master Password you entered after a certain amount of time. This is essential for anyone with an always-on machine with always-on Firefox who uses Master Password to remember anything crucial.
    • QuickJava adds toggles for disabling/enabling Java and JavaScript to the main window.
    • Unhide Menubar allows you to get your menus back in windows that try to disable it. This is a powerful anti-annoyance.
    • Firebug is a comprehensive page and script debugger/inspector.
    • NoRedirect blocks those insipid DNS error redirects that your ISP puts in instead of letting your browser do its job. ^http://search\d*\.comcast\.com/.*cat=dnsr.* is what I added for Comcast.
    • Getting the tab close button off the tab and onto the tab bar, Firefox 1.x style:
      • Open about:config in the browser
      • Edit the browser.tabs.closeButtons property:
        • 0: Close button on active tab only
        • 1: Close button on all tabs
        • 2: No close button
        • 3: Close button at end of tab bar
    • Windows-only

Mail client

  • Thunderbird
    • Remember mismatched domains: Makes SSL access to Dreamhost mail less obnoxious.
    • GPG support: Enigmail. To verify, use gpg --recv-keys 0x00000000 on the key given on the site, and use gpg --fingerprint Enigmail to check the full fingerprint. You can then do gpg --verify *.asc after downloading to check the signature.
    • Folderpane Tools allows you to reorder your accounts. Thunderbird really dropped the ball for not making these features available anyway...

vim settings

BitTorrent

Fonts

  • Fonts from the nearest working system
  • Be sure to get at least something from ProggyFonts.
  • Envy Code R is also an excellent choice (and supports more international characters).
  • The Droid fonts are handy semi-condensed fonts. Ubuntu and some other distros have the ttf-droid package. Other OSes can get this most easily by swiping the fonts from the Ubuntu package (7-Zip can open .deb files).
  • The easiest place to install a font is "~/.fonts" (you may have to create the directory). After copying new fonts there, run sudo fc-cache -f -v. Some programs will still require you to relogin to make the font available. XFCE's terminal required me to exit all sessions of the program before showing new fonts.

DynDNS

  • DynDNS Updater
    • ddclient: Make sure this is set up for the web interface if you're behind a NAT router.

Skype

Sound editing

  • Audacity
    • Instructions for adding MP3 support through a LAME library should be on the site; I've had better luck just using the command line utility.

Graphics test

  • GLTron, to test your graphics

Network

  • Ethereal, a network traffic analyzer
  • Some sort of wireless stumbling tool, if it's portable. (iStumbler on Mac is good.)

Mac OS X

  • Terminal: iTerm (homepage)
  • FTP/SFTP: Cyberduck
  • SSH agent: SSH Agent
  • IM system client: Adium
    • My preferred message style is Simplicity.
    • My preferred sound style is the one I made myself, DroKulix.AdiumSoundset.
    • The dock icon set I've been using is Gir as a robot, but that could easily change.
    • Preferences
      • Accounts: Do what needs to be done here.
      • General: Uncheck "Create new messages in tabs". Whoever started this whole tabbed IM thing was...well...not me.
      • Appearance
        • Dock icons: Something that isn't the duck
        • List layout: Tiny (with user icons). Customize if you feel like it.
        • Auto-resize: Size to fit vertically. Horizontally if you feel like it.
      • Messages
        • Message style: Simplicity
        • Show received message fonts
        • Show received message colors
      • Events
        • Growl will be installed the first time a Growl notification is posted.
          • Add Growl notifications for the following.
            • Contact signs off
            • Contact signs on
            • Message received (background chat)
          • Then make it post a Growl message somehow and configure Growl from the System Prefs:
            • Start at Login
            • Display style: Music Video, or try the others
            • Sticky notifications after 30 s of inactivity
            • Stop then start Growl for the changes to stick
        • Advanced
          • Messages
            • Uncheck Always show tab bar
  • Unix software: Fink (homepage)
  • Office suite: NeoOffice (homepage)
  • Gmail Notifier
  • RsyncX, which is rsync with resource fork extensions. Extra instructions are available.
  • OSXvnc, a VNC server (homepage)
    • When first running, stop server immediately.
    • Add a password.
    • In Sharing, "Only allow local connections (require SSH)" should be checked.
    • Turn off Bonjour advertising.
    • In Startup, configure startup item.
  • Chicken of the VNC, a VNC client
  • StuffIt Expander, a decompressor. I've gone to the trouble of getting it for myself; to get your own, get a mailexpire alias and hand it to them on a plate.
  • Handbrake, for auto-transcoding DVD to iPod
  • ffmpegX, for transcoding video to iPod

Windows

  • Compose key: WinCompose is based on AutoHotkey, allows use of Caps Lock as the compose key, and bundles a whole lot of combinations from Xorg. You'll be typing ®, ™, and — in no time!
  • Macros: For that matter, grab AutoHotkey and Pulover's Macro Creator to play and record, respectively, macros.
  • Classic-theme fonts/colors in Windows 7: In the Control Panel search box, seek "Change window colors and metrics" (just "metrics" should work).
  • IM client: Trillian Basic. It took me a long time to decide to adopt this program and I still think there's a lot wrong with it, but these days the real AIM is finally so much worse that you have to use something else. I'll go through the steps of setting this up next time I have the displeasure of doing it. Hint: Skins are normally the source of event sounds. This is insane. The settings for changing the sounds are under Advanced Preferences > Automation. In addition, you'll need a skin that's less bulky than the default. I'm currently using "Minimal Theme Pack" but haven't yet tried anything else.
  • Google Talk if you want to use it, or Gmail Notifier if you just want Gmail automatically checked.
  • Unix software: Cygwin. Use the general guidance below.
  • SSH client: PuTTY (homepage). (If you use Cygwin, you might consider PuTTYcyg, which is usable as a Cygwin terminal.) Be sure to also get PuTTYgen and Pageant.
  • TightVNC, a VNC client and server (homepage)
  • Try VirtuaWin if you've gotten used to multiple workspaces.
  • 7-Zip if you plan to do more than basic archive handling on XP and up, or any archive handling elsewhere.

Windows Server 2003

  • Disable Shutdown Event Tracker:
    • Run gpedit.msc
    • Go to Computer Configuration/Administrative Templates/System.
      • If not present, right-click Administrative Templates, do Add/Remove Templates..., click Add, add C:\Windows\inf\system.adm.
    • Set Display Shutdown Event Tracker to Disabled.

GNU, Cygwin, anything unix-esque

  • equivs (to enable source installs to replace package installs on .deb-based distros, e.g. Ubuntu)
  • pidgin (formerly gaim)
    • pidgin-extendedprefs (Extended preferences plugin to change font sizes)
    • pidgin-guifications (notifications)
    • pidgin-otr (encryption, deniability)
    • pidgin-themes
  • keychain
  • lame
  • lynx
  • OpenSSH client
  • OpenSSH server
  • p7zip, if real 7-Zip isn't available
  • perl
  • QEMU (this might be worth compiling yourself, though)
  • rsync
  • rdiff
  • sox
  • flac
  • stow (helps manage source installs)
  • subversion
  • wget
  • Wine
  • vim, gvim (on Ubuntu, try vim-gnome or vim-gtk)
  • ncurses-term (for 256-color terminal vim—see vim)
  • x11vnc
  • xine
  • xmms
  • zip and unzip
  • lzma
  • xz
  • Version control programs
  • Tools for development and/or source installs, such as
    • gcc
    • g++
    • C dev library (such as libc6-dev)
    • make
    • automake
    • autoconf
    • binutils
    • libtool
    • nasm (depending)
    • linux-headers-architecture (for compiling Linux kernel modules/drivers; get a version corresponding with your current kernel)
    • If ./configure reports that a library is missing, make sure you have installed the corresponding library's "lib*-dev" package, such as libsdl1.2-dev for SDL version 1.2 or libbz2-dev for Bzip2. Some library names don't match this format; you may have to do some searching.


Linux

  • Codecs
    • If you're on Ubuntu, ubuntuguide is definitely a great start.
    • If you want WMV9 support in programs like VLC and Mplayer, it might be available through ffmpeg support. If not, I've had some success with something called "DMO drivers". I don't know what that means, but the gist is that stuff seems to work as long as wmv9dmod.dll is installed in /usr/local/lib/win32. I leave as an exercise for the reader finding said file; I just know I have my own copy.

List of packages installed on an existing machine

For a dpkg-/apt-based system, to get a list of packages that were manually selected for installation by the user, excluding excess dependencies and stuff that came with the initial install:

# See http://superuser.com/questions/48374/find-all-user-installed-packages/253468#253468
comm -13 \
  <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort) \
  <(comm -23 \
    <(dpkg-query -W -f='${Package}\n' | sed 1d | sort) \
    <(apt-mark showauto | sort) \
  ) > packages.txt

To feed this list into dpkg on the target machine and install:

cat packages.txt | sed 's/$/\tinstall/' | sudo dpkg --set-selections
sudo apt-get dselect-upgrade

Ubuntu

11.10: Return oneiric to sanity

Newer Ubuntus are a lot different than older ones, and not always for the better. The following are some suggestions to return it to a friendlier state.

  • Open a terminal using ctrl+alt+T.
  • synaptic: Install the classic GUI package manager with sudo apt-get install synaptic
  • gnome-session-fallback: Install a fallback to classic Gnome and change to the classic session at login
  • gnome-do: Find and launch using classic Gnome
  • docky: Supplement classic Gnome with an icon dock/launcher
  • gconf-editor: Low-level edit classic Gnome settings (see below)
  • dconf-tools: Low-level edit Gnome 3 settings (see below)
  • gnome-tweak-tool: Customize Gnome 3 appearance (see below)
  • ttf-droid: Install Droid fonts to replace the borderline-childish defaults
  • Remove/purge overlay-scrollbar: Remove hidden scrollbar effect
    • Didn't work for me
Customizations
  • gnome-session-fallback
    • Log out, then before logging in switch your session (using the gear icon) to GNOME Classic (No effects).
  • gconf-editor
    • Window button order: /apps/metacity/general/button_layout = menu:minimize,maximize,close
    • Metacity compositor (use docky without Compiz): /apps/metacity/general/compositing_manager = true
    • Clock format in gnome panel:
      • /apps/panel3-applets/clock/format = custom
      • /apps/panel3-applets/clock/custom_format = %A %Y %B %e %H:%M:%S or another strftime-style format
  • dconf-editor (dconf-tools)
    • Remove bottom panel in favor of Docky: If you're lucky, Alt+rightclick will bring up a menu. If not, it's possible to delete the panel from dconf-editor with a little snooping. In particular, try removing 'bottom-panel' from org.gnome.gnome-panel.layout.toplevel-id-list.
  • gnome-tweak-tool (Other -> Advanced Settings)
    • Obvious changes include fonts
    • GTK+ Theme Adwaita is a little nicer than Ambiance
  • Do
    • Open Do while in Docky, then open its menu and hit preferences. The icon will appear in the dock, making it possible to pin.
  • .gtkrc-2.0
    • Older apps may require this to exist and be changed

Older versions

  • In Hardy Heron, they decided to change the photo manager from gThumb to F-Spot. Here's my attempt to change it back.
    • gconf-editor
    • Find /desktop/gnome/volume_manager/autophoto_command. On my system, the default value is f-spot-import.
    • Change the value to gnome-volume-manager-gthumb %h (as suggested [1]).
  • In newer versions, there is a user list on the login screen. I'm not a fan.
    • sudo -u gdm gconftool-2 --set --type boolean /apps/gdm/simple-greeter/disable_user_list true [2]
  • They decided to put the window controls on the wrong side of the title. D'oh!
    • In gconf-editor, set /apps/metacity/general/button_layout to menu:minimize,maximize,close. [3]
  • The extra DejaVu fonts are not installed by default.
    • Install ttf-dejavu.

One fell swoop

In general, the following will get a lot out of the way for you:

sudo apt-get install pidgin firefox thunderbird zim vuze \
	audacity keychain openssh-client openssh-server cvs \
	equivs pidgin-extprefs lame lynx p7zip perl virtualbox-ose \
	rsync rdiff sox flac stow subversion wget wine vim vim-gnome \
	vim-gtk x11vnc zip unzip lzma gcc g++ make automake autoconf \
	binutils libtool nasm ttf-dejavu

# More tools for Java/JS development
sudo apt-get install default-jdk ant maven2 rhino \
	libcommons-attributes-java \
	libcommons-beanutils-java \
	libcommons-cli-java \
	libcommons-codec-java \
	libcommons-collections-java \
	libcommons-collections3-java \
	libcommons-compress-java \
	libcommons-configuration-java \
	libcommons-csv-java \
	libcommons-daemon-java \
	libcommons-digester-java \
	libcommons-discovery-java \
	libcommons-el-java \
	libcommons-fileupload-java \
	libcommons-httpclient-java \
	libcommons-io-java \
	libcommons-jxpath-java \
	libcommons-lang-java \
	libcommons-launcher-java \
	libcommons-logging-java \
	libcommons-math-java \
	libcommons-net-java \
	libcommons-net2-java \
	libcommons-vfs-java \
	libbatik-java \
	libaxis-java \
	libbsf-java \
	libjaxp1.3-java \
	libjakarta-poi-java \
	fop	

Cygwin

Do these things, using the main article for guidance:

  • When first installing, make sure to install at least wget using setup.exe (it's necessary for the next step).
  • Install apt-cyg, a command-line package manager (it's not an actual package—see cygwin for the install procedure).
  • Set up the aliases for normal apt-cyg and apt-cygports.
  • Use apt-cyg install package package ... to make sure the following are installed:
    • cron
    • perl
    • openssh (openssh-server, openssh-client)
    • rxvt mintty (mintty annihilates the Windows version of rxvt; it's based on PuTTY's terminal and has UTF-8 and mouse support--scrolling works in less and vim!)
      • The mintty default colors are kind of dim. In CPAN, do install HINRIK/App-ConPalette-0.1.5.tar.gz and then call conpalette xterm to lighten things up a bit.
    • zlib
    • bash-completion
    • Anything else you may need from the unix-esque list above
  • Set up cron and sshd as services.