zkbro

Setting up my Debian and GNOME DE

2024-11-24 08:04

I have found Debian 12 bookworm + GNOME 43.9 a delight to set up. No major issues. Although the apt package repository didn't have all the software I was after, I could easily install stand-alone binaries, or in one case another repository which hosts the binary.

These are my notes as I went along for future reference. There are some minor things left out like appearance settings, pulling some scripts across, keyboard bindings yada yada. I'm finding my recent distro hopping has taught me a great deal. Plan on doing this regularly to keep me engaged with my tools.

Add user to sudo group

$ su
$ sudo usermod -aG sudo [username]
$ groups [username] # check user has been added
$ exit

Enable firewall

$ sudo ufw enable
$ sudo ufw logging off
$ sudo ufw status verbose

Set up my usual folders

$ mkdir bin repos scripts src sync templates

Install Azlux's package repository

For tut.

$ echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ stable main" | sudo tee /etc/apt/sources.list.d/azlux.list
$ sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpg
$ sudo apt update

Install available packages through apt

$ sudo apt install xsel feh git syncthing amfora tut buku vlc ruby-full

ruby-full is so I can install neocities CLI via sudo gem install neocities

Install software from binaries

Configure git

See Setting up Git (The Odin Project) for a good how-to.

$ git config --global user.name "Your Name"
$ git config --global user.email "yourname@example.com"
$ git config --global init.defaultBranch main
$ git config --global pull.rebase false

And confirm:

$ git config --get user.name
$ git config --get user.email

Create SSH key to link with a git hosting service:

$ ssh-keygen -t ed25519
$ cat ~/.ssh/id_ed25519.pub

Update .bashrc

export EDITOR=hx

function y() {
	local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
	yazi "$@" --cwd-file="$tmp"
	if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
		builtin cd -- "$cwd"
	fi
	rm -f -- "$tmp"
}

alias cls='clear'

alias g='amfora'
alias m='tut'
alias z='zellij'
alias gg='lazygit'

alias note='notetaker.sh'
alias blog='blog.sh'

Disable auto-load of overview mode

Install No overview at start-up extension.

Load zellij in full-screen mode on start-up

Create a file ~/.config/autostart/zellij-start.desktop and input the following text:

[Desktop Entry]
Name=Zellij Fullscreen
Comment=Starts the main syncthing process in the background.
Exec=gnome-terminal --full-screen -- "zellij"
Type=Application
Keywords=terminal;
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Comment=Launch Zellij in fullscreen terminal at startup

Zellij Fullscreen will now appear in the Tweaks "Startup Applications" list, toggled on as set by X-GNOME-Autostart-enabled=true.

Next steps

📸

Obligatory neofetch screenshot