This Dotfiles repo is linked to a Debian 10 installation, this document is a step by step guide to setting up the machine to use the Dotfiles.
$ sudo vi /etc/apt/source.list
# delete any reference to usb
$ uname -a
$ echo deb http://deb.debian.org/debian buster-backports main contrib non-free | sudo tee /etc/apt/sources.list.d/buster-backports.list
$ sudo apt update
$ sudo apt install -t buster-backports linux-image-amd64
$ sudo apt install -t buster-backports firmware-linux firmware-linux-nonfree
$ sudo reboot
$ uname -a
Boot failed, disconnected all devices when booting machine. Possible solution from Lenovo
$ sudo apt search linux-image
$ sudo apt install linux-image-5.3.0-0.bpo.2-amd64
$ sudo apt install linux-headers-5.3.0-0.bpo.2-amd64
- NOTE: do not remove current kernel (
$ uname -r
)
$ dpkg --list | grep linux-image
$ sudo apt-get purge linux-image-x.x.x.x-xyz
$ sudo update-grub2
FROM:
deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main
TO:
deb http://deb.debian.org/debian/ buster main non-free
deb-src http://deb.debian.org/debian/ buster main non-free
$ sudo apt update
$ sudo apt -y install nvidia-detect
$ sudo nvidia-detect
- If the above doesn't work...
$ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
$ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0
$ sudo update-initramfs -u
$ sudo reboot
Download driver from here. Store the file somewhere that isn't the Downloads
folder.
$ sudo apt -y install linux-headers-$(uname -r) build-essential
$ echo blacklist nouveau > sudo /etc/modprobe.d/blacklist-nvidia-nouveau.conf
$ systemctl set-default multi-user.target
$ systemctl reboot
$ sudo su
$ bash NVIDIA-Linux-x86_64-390.116.run
$ systemctl set-default graphical.target
$ systemctl reboot
- Linux Config - Install Nvidia driver on Debian 10 Buster
- Linux Config - Disable Nouveau
- NVIDIA: how to install the latest video card drivers
$ sudo apt install -t buster-backports firmware-iwlwifi
$ sudo reboot
$ wget https://prerelease.keybase.io/keybase_amd64.deb
$ sudo apt install ./keybase_amd64.deb
$ rm keybase_amd64.deb
$ run_keybase
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb
$ rm google-chrome-stable_current_amd64.deb
$ google-chrome &
- Insert YubiKey and USB drive with copy of public key
$ sudo apt -y install wget gnupg2 gnupg-agent dirmngr cryptsetup scdaemon pcscd secure-delete hopenpgp-tools yubikey-personalization
$ cd ~/.gnupg ; wget https://raw.githubusercontent.com/drduh/config/master/gpg.conf
$ chmod 600 gpg.conf
$ sudo mount /dev/sda1 /mnt
$ gpg --import /mnt/0x*txt
$ export KEYID=0x...
$ gpg --edit-key $KEYID
gpg> trust
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
- Remove and re-insert YubiKey and check the status
$ gpg --card-status
- Test the key
$ echo "test message string" | gpg --encrypt --armor --recipient $KEYID -o encrypted.txt
$ gpg --decrypt --armor encrypted.txt
- Setup SSH
$ cd ~/.gnupg
$ wget https://raw.githubusercontent.com/drduh/config/master/gpg-agent.conf
- Update
~/.bashrc
with the following:
export GPG_TTY="$(tty)"
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
gpgconf --launch gpg-agent
- Write the public key for
.ssh
ssh-add -L > ~/.ssh/id_rsa_yubikey.pub
- Create the
~/.ssh/config
file:
$ cat << EOF >> ~/.ssh/config
Host github.com
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_yubikey.pub
User git
EOF
$ ssh github
Hi denhamparry! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
$ wget -O code-insiders.deb https://go.microsoft.com/fwlink/?LinkID=760865
$ sudo dpkg -i code-insiders.deb
$ rm code-insiders.deb
$ git clone [email protected]:paperwm/PaperWM.git
$ cd PaperWM
$ ./install.sh
$ sudo apt install pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware
$ sudo service bluetooth restart
$ sudo killall pulseaudio
$ sudo cat << EOF >> /var/lib/gdm3/.config/pulse/client.conf
autospawn = no
daemon-binary = /bin/true
EOF
$ sudo chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/pulse/client.conf
$ rm /var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket
$ sudo cat << EOF >> /etc/pulse/default.pa
load-module module-switch-on-connect
EOF
$ sudo cat << EOF >> /var/lib/gdm3/.config/pulse/default.pa
#!/usr/bin/pulseaudio -nF
#
# load system wide configuration
.include /etc/pulse/default.pa
### unload driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
unload-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
unload-module module-bluetooth-discover
.endif
EOF
$ curl -sS https://download.spotify.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb http://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
$ sudo apt-get update && sudo apt-get install spotify-client
$ mkdir -p ~/.local/share/gnome-shell/extensions
$ cd ~/.local/share/gnome-shell/extensions
$ git clone https://github.com/daniellandau/switcher.git [email protected]
$ git clone https://github.com/micheleg/dash-to-dock.git
$ cd dash-to-dock
$ make
$ make install
$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
$ sudo apt update
$ sudo apt install docker-ce
$ sudo systemctl status docker
$ docker -v
$ sudo usermod -aG docker $USER