143 lines
4.9 KiB
Markdown
143 lines
4.9 KiB
Markdown
# ManuSurface Setup
|
|
The steps described here allow the creation of a linux system on a Surface Book 2.
|
|
|
|
- Rename host
|
|
- Install Brave
|
|
- Using the [installer script](../scripts/PopOS/software/brave.sh)
|
|
- Install Bitwarden
|
|
- Install Xournal++
|
|
- Install Signal
|
|
- Install Steam
|
|
- Install Bottles
|
|
- Install codium
|
|
- Using [installer script](../scripts/PopOS/software/codium.sh)
|
|
- Generate SSH-key
|
|
- Install `linux-surface`
|
|
See: <https://github.com/linux-surface/linux-surface/wiki/Installation-and-Setup>
|
|
- ```bash
|
|
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
|
|
| gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg
|
|
```
|
|
- ```bash
|
|
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
|
|
| sudo tee /etc/apt/sources.list.d/linux-surface.list
|
|
```
|
|
- ```bash
|
|
sudo apt update
|
|
```
|
|
- ```bash
|
|
sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surface
|
|
```
|
|
- ```bash
|
|
sudo systemctl enable iptsd
|
|
```
|
|
- ```bash
|
|
wget https://github.com/linux-surface/surface-dtx-daemon/releases/download/v0.3.3-2/surface-dtx-daemon_0.3.3-2_amd64.deb -O dtx.deb
|
|
sudo dpkg -i dtx.deb
|
|
rm dtx.deb
|
|
```
|
|
- Enable Secure Boot
|
|
As seen here: <https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Set_up_shim>
|
|
- Implement Secure Boot
|
|
- Copy signed Bootloader to UEFI partition:
|
|
```bash
|
|
wget https://blog.hansenpartnership.com/wp-uploads/2013/HashTool.efi
|
|
wget https://blog.hansenpartnership.com/wp-uploads/2013/PreLoader.efi
|
|
cp {HashTool,PreLoader}.efi /boot/efi/EFI/systemd/
|
|
cp /boot/efi/EFI/systemd/systemd-bootx64.efi /boot/efi/EFI/systemd/loader.efi
|
|
```
|
|
- Add boot entry
|
|
```bash
|
|
efibootmgr --unicode --disk /dev/nvme0n1 --part 0 --create --label "PreLoader" --loader /EFI/systemd/PreLoader.efi
|
|
```
|
|
- Add fallbacks
|
|
```bash
|
|
cp ./HashTool.efi /boot/efi/EFI/BOOT/
|
|
cp /boot/efi/EFI/systemd/systemd-bootx64.efi /boot/efi/EFI/BOOT/loader.efi
|
|
cp ./PreLoader.efi /boot/efi/EFI/BOOT/BOOTx64.EFI
|
|
```
|
|
- Ensure support for Microsoft infected devices
|
|
```bash
|
|
mkdir -p /boot/efi/EFI/Microsoft/Boot
|
|
cp ./PreLoader.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
|
|
cp ./HashTool.efi /boot/efi/EFI/Microsoft/Boot/
|
|
cp /boot/efi/EFI/systemd/systemd-bootx64.efi /boot/efi/EFI/Microsoft/Boot/loader.efi
|
|
```
|
|
- Install `tea`
|
|
```bash
|
|
wget https://dl.gitea.io/tea/0.9.0/tea-0.9.0-linux-amd64 -O tea
|
|
sudo install tea /usr/local/bin
|
|
rm tea
|
|
```
|
|
|
|
## Enhancement
|
|
- Install `Gnome Extension Manager`
|
|
- Install Extensions `Clipboard Indicator`
|
|
- Sync NextCloud
|
|
```bash
|
|
sudo -v ; curl https://rclone.org/install.sh | sudo bash
|
|
rclone config # add remote
|
|
cp ./services/rclone@.service ~/.config/systemd/user/
|
|
systemctl --user daemon-reload
|
|
systemctl --user enable rclone@nextcloud:Nextcloud
|
|
systemctl --user start rclone@nextcloud:Nextcloud
|
|
```
|
|
- Install `oh-my-posh`
|
|
```bash
|
|
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
|
|
sudo chmod +x /usr/local/bin/oh-my-posh
|
|
echo 'eval "$(oh-my-posh init bash --config ~/Nextcloud/.omp/manuel.omp.json)"' >> ~/.bashrc
|
|
```
|
|
- Install `logo-ls`
|
|
```bash
|
|
sudo wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_amd64.deb -O logo-ls.deb
|
|
sudo dpkg -i logo-ls.deb
|
|
{
|
|
echo "alias ls='logo-ls -D'"
|
|
echo "alias ll='ls -al'"
|
|
echo "alias l='ls'"
|
|
} >> ~/.bashrc
|
|
```
|
|
- Improve audio quality
|
|
```bash
|
|
cp ./equalizer/Default.json ~/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/
|
|
```
|
|
|
|
- Install python
|
|
```bash
|
|
sudo apt install python3 python-is-python3 python3-pip
|
|
```
|
|
- Install pyenv
|
|
```bash
|
|
curl https://pyenv.run | bash
|
|
{
|
|
echo ""
|
|
echo "# pyenv"
|
|
echo 'export PYENV_ROOT="$HOME/.pyenv"'
|
|
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"'
|
|
echo 'eval "$(pyenv init -)"'
|
|
echo 'eval "$(pyenv virtualenv-init -)"'
|
|
} >> ~/.bashrc
|
|
```
|
|
|
|
## Post-Install
|
|
- Add SSH-key to GitHub/Gitea websites
|
|
- Add Caskaydia Cove Nerd Font Regular to /usr/share/font/opentype
|
|
|
|
## Configuration
|
|
- Desktop
|
|
- Desktop Options
|
|
- Super Key Action: Applications
|
|
- Power
|
|
- Power Saving Options
|
|
- Disable "Automatic Screen Brightness"
|
|
- Suspend & Power Button
|
|
- Power Button Behavior: "Suspend"
|
|
- Enable "Show Battery Percentage"
|
|
- Mouse & Touchpad
|
|
- Touchpad Scroll & Zoom Options
|
|
- Enable "Natural Scrolling"
|
|
- Date & Time
|
|
- Time Format: 24-hour
|
|
- OS Upgrade & Recovery
|
|
- Update Recovery Partition
|