diff --git a/files/.config/hypr/hyprland.conf b/files/.config/hypr/hyprland.conf index ad8cbd9..af5a209 100644 --- a/files/.config/hypr/hyprland.conf +++ b/files/.config/hypr/hyprland.conf @@ -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 diff --git a/files/.local/share/applications/code_wayland.desktop b/files/.local/share/applications/code_wayland.desktop new file mode 100644 index 0000000..97746c7 --- /dev/null +++ b/files/.local/share/applications/code_wayland.desktop @@ -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 diff --git a/install b/install index d9c48ae..066304d 100755 --- a/install +++ b/install @@ -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 diff --git a/setup b/setup index 55ec6a2..a189c0d 100755 --- a/setup +++ b/setup @@ -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!"