more changes

This commit is contained in:
Ludwig Lehnert 2025-04-30 19:16:55 +02:00
parent 7f7079d44f
commit 70b23e37a7
Signed by: ludwig
SSH Key Fingerprint: SHA256:4vshH9GJ8TLO1RS2fY6rDDLnq7+KVvSClCY+uEhYYRA
4 changed files with 91 additions and 35 deletions

View File

@ -47,10 +47,10 @@ env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_layout = us,de
kb_variant =
kb_model =
kb_options =
kb_options = grp:rctrl_rshift_toggle
kb_rules =
follow_mouse = 1

View File

@ -0,0 +1,31 @@
[Desktop Entry]
X-SnapInstanceName=code
Name=Visual Studio Code (Wayland)
Comment=Code Editing. Redefined.
GenericName=Text Editor
X-SnapAppName=code
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /var/lib/snapd/snap/bin/code --ozone-platform=wayland --force-user-env %F
Icon=/var/lib/snapd/snap/code/191/meta/gui/vscode.png
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
MimeType=application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[cs]=Nové prázdné okno
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide
Name[it]=Nuova finestra vuota
Name[ja]=
Name[ko]=
Name[ru]=Новое пустое окно
Name[zh_CN]=
Name[zh_TW]=
X-SnapAppName=code
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /var/lib/snapd/snap/bin/code --force-user-env --new-window %F
Icon=/var/lib/snapd/snap/code/191/meta/gui/vscode.png

View File

@ -30,10 +30,3 @@ if command -v gsettings &> /dev/null; then
gsettings set org.gnome.desktop.interface cursor-theme Adwaita
fi
systemctl enable --now --user ssh-agent.service &> /dev/null
systemctl enable --user rclonesync.service &> /dev/null
systemctl enable --now --user rclonesync.timer &> /dev/null
if [[ ! -e "$HOME/.config/rclone/rclone.conf" ]]; then
echo "WARN: ~/.config/rclone/rclone.conf missing"
fi

84
setup
View File

@ -14,9 +14,10 @@ distro=${NAME,,}
if [[ $distro == "arch linux" ]]; then
pacman=(
# services
"networkmanager"
"networkmanager" "networkmanager-openvpn"
"bluez" "bluez-libs"
"pipewire" "pipewire-alsa" "pipewire-pulse" "pipewire-audio" "pipewire-jack" "wireplumber" "alsa-utils"
"cups"
# Hyprland core
"hyprland" "hypridle" "hyprpaper" "hyprlock"
@ -31,12 +32,13 @@ if [[ $distro == "arch linux" ]]; then
"upower"
# terminal
"kitty" "fish" "ranger" "htop" "tmux" "psmisc"
"kitty" "fish" "ranger" "htop" "tmux" "psmisc" "terminus-font"
# misc
"wget" "curl" "git" "entr" "zip" "base-devel"
"ninja" "make" "cmake"
"neofetch" "fastfetch" "fortune-mod" "cowsay"
"freerdp"
# languages
"python" "php" "go" "clang"
@ -65,17 +67,24 @@ if [[ $distro == "arch linux" ]]; then
"keepassxc" "remmina"
)
yay=(
aur=(
"light"
"snapd"
"brave-bin"
)
systemd=(
"snapd.socket"
"snapd.apparmor.service"
"NetworkManager.service"
"bluetooth.service"
"NetworkManager"
"cups"
"snapd"
"snapd.apparmor"
"bluetooth"
)
systemd_user=(
"ssh-agent"
"rclonesync.service"
"rclonesync.timer"
)
snap_classic=(
@ -95,15 +104,20 @@ if [[ $distro == "arch linux" ]]; then
"com.github.flxzt.rnote"
"net.nokyan.Resources"
"org.gnome.Loupe"
"com.github.rafostar.Clapper"
"org.gnome.Evince"
"org.gnome.Totem"
)
# Update system
sudo pacman -Syu --noconfirm
# Install pacman packages
sudo pacman --noconfirm --needed -S "${pacman[@]}"
# Fix helix command
sudo ln -s "$(which helix)" /usr/local/bin/hx
# Install yet another yogurt (AUR helper)
if ! command -v yay &> /dev/null; then
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay && makepkg -si --noconfirm
@ -111,47 +125,65 @@ if [[ $distro == "arch linux" ]]; then
cd "$DIR"
fi
yay --noconfirm --needed -S "${yay[@]}"
if [[ ! -e /snap ]]; then
sudo ln -s /var/lib/snapd/snap /snap
fi
for item in ${systemd[@]}; do
sudo systemctl enable --now $item
done
# Instal AUR packages
yay --noconfirm --needed -S "${aur[@]}"
# Install snaps
sudo systemctl start snapd.socket
if [[ ! -e /snap ]]; then sudo ln -s /var/lib/snapd/snap /snap; fi
while ! sudo snap refresh; do sleep 1; done
for prog in ${snap_classic[@]}; do
sudo snap install $prog --classic
done
# Install flatpaks
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y "${flatpak[@]}"
# Set default shell
sudo chsh -s /usr/bin/fish $USER
# Add yourself to the corresponding groups
sudo usermod -aG video $USER
sudo usermod -aG kvm $USER
# Configure default applications
xdg-mime default org.gnome.Loupe.desktop image/png
xdg-mime default org.gnome.Loupe.desktop image/jpeg
xdg-mime default org.gnome.Loupe.desktop image/gif
xdg-mime default org.gnome.Loupe.desktop image/webp
xdg-mime default org.gnome.Totem.desktop video/mp4
xdg-mime default org.gnome.Totem.desktop video/x-matroska
xdg-mime default org.gnome.Totem.desktop video/x-msvideo
xdg-mime default org.gnome.Totem.desktop video/quicktime
xdg-mime default org.gnome.Totem.desktop video/webm
xdg-mime default org.gnome.Totem.desktop video/mpeg
xdg-mime default com.github.rafostar.Clapper.desktop video/mp4
xdg-mime default com.github.rafostar.Clapper.desktop video/x-matroska
xdg-mime default com.github.rafostar.Clapper.desktop video/x-msvideo
xdg-mime default com.github.rafostar.Clapper.desktop video/quicktime
xdg-mime default com.github.rafostar.Clapper.desktop video/webm
xdg-mime default com.github.rafostar.Clapper.desktop video/mpeg
xdg-mime default org.gnome.Evince.desktop application/pdf
# Install dotfiles
echo "[INFO]: installing dotfiles now"
"$DIR/install"
echo "[INFO]: finished installing dotfiles"
# Enable global systemd services
for item in ${systemd[@]}; do
sudo systemctl enable $item &> /dev/null
done
# Enable user systemd services
for item in ${systemd_user[@]}; do
sudo systemctl enable --user $item &> /dev/null
done
if [[ ! -e "$HOME/.config/rclone/rclone.conf" ]]; then
echo "[WARN]: ~/.config/rclone/rclone.conf missing"
fi
else
echo "Unknown distribution '$distro'; exiting..."
exit 1
fi
# YAY!
echo "-"
"$DIR/install"
echo "-"
echo "Done!"