This is an old revision of the document!
Table of Contents
Bookworm (12) Basics
Apt
Desktop machine
This has x as a dependency:
# ruby-qt4 no longer a package in buster
apt-get install git curl screen build-essential pkg-config ruby ruby-dev rubygems \ libmagickwand-dev jhead exiftool linux-headers-$(uname -r) make zsh \ perl libwww-perl libxml-perl libxml-simple-perl atomicparsley rtorrent \ dolphin vlc python-pip net-tools gem install rmagick mini_exiftool pry awesome_print pip install cheat
Headless
Somewhat bloated, with system ruby:
apt-get install git curl screen build-essential pkg-config ruby ruby-dev rubygems \ linux-headers-$(uname -r) make zsh perl libwww-perl libxml-perl libxml-simple-perl atomicparsley rtorrent \ python-pip net-tools gem install rmagick pry awesome_print pip install cheat
Starter set, for use with rbenv:
apt-get install git curl screen build-essential pkg-config linux-headers-$(uname -r) make \ zsh perl libwww-perl libxml-perl net-tools
Web-accessible
DO recommend installing ufw. As root:
apt install ufw ufw app list ufw allow OpenSSH ufw enable ufw status
And to add Apache access (80 + 443):
ufw allow WWW Full
Windows 10
Also headless:
sudo passwd apt-get install git curl screen build-essential pkg-config ruby ruby-dev \ make zsh perl libwww-perl libxml-perl libxml-simple-perl atomicparsley rtorrent \ python-pip net-tools gem install rmagick pry awesome_print pip install cheat mkdir ~/.screen && chmod 700 ~/.screen
Networking without X
Seems to have gone back to eth0 just became something like enp2s0. However, if you ask for a predictable network name in raspi-config, you end up with something like enxb827ebb6be60.eth0.
/etc/network/interfaces seems to be deprecated on Raspbian so that dhcpcd has overall control.
Edic /etc/dhcpcd.conf, which is well commented and self-explanatory (start by uncommenting interface eth0). Reboot to update dhcpcd.
If you're configuring it manually then something like this in
/etc/network/interfaces will set the default gateway (network, broadcast and gateway are optional):
auto enp2s0 iface enp2s0 inet static address 10.0.0.1 netmask 255.255.255.0 gateway 10.0.0.2
If you want to add an IPv6 address, too, append something like:
iface enp2s0 inet6 static address 2001:db8::c0ca:1eaf netmask 64 gateway 2001:db8::1ead:ed:beef
Config
Clone bin and config.
for w in .bashrc .profile .bash_profile .zshrc; do mv "$w" "$w".default done
# .promptrc no longer shell-independent
for x in .porridge .aliases .bash_profile .bashrc .cheat .dircolors .get_iplayer .gitconfig .gitignore .hints .ispell_british .lftprc .profile .rspec .rtorrent .rtorrent.rc .screenrc .shellrc .zshrc .pry .pryrc; do ln -s config/"$x" "$x" done for y in .screenrc.local; do cp config/"$y" "$y" done
Keymap
Keymap configuration (as root):
export CONFIG=/home/slack/config cd /usr/share/X11/xkb/symbols mv gb gb.default ln -s "$CONFIG/gb" . cd ../rules for f in evdev.xml base.xml do mv "$f" "$f.default" ln -s "$CONFIG/$f" . done
Host
cd /etc mv hosts hosts.default cp "$CONFIG/root/hosts" .
ln -s “$CONFIG/root/hosts” . ←– doesn't work
Oh my zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
cd .oh-my-zsh/custom
mkdir themes
cd themes
ln -s ../../../config/zsh-custom/slack.zsh-theme
cd
rm .zshrc
mv .zshrc.pre-oh-my-zsh .zshrc
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Mount ntfs
UUID=blah /huge ntfs uid=1000,gid=1000,umask=022,auto 0 0
Regional settings
For gnome-terminal to load, /etc/environment:
LANG="en_GB.UTF-8" LCALL="en_GB.UTF-8"
Which won't help, of course.
Github
cheat