restructuring

This commit is contained in:
Ludwig Lehnert 2025-04-25 13:46:37 +02:00
parent bfa280d7a3
commit 41e58e96c1
Signed by: ludwig
SSH Key Fingerprint: SHA256:4vshH9GJ8TLO1RS2fY6rDDLnq7+KVvSClCY+uEhYYRA
29 changed files with 195 additions and 16 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

View File

@ -1,5 +1,8 @@
if status is-interactive
# Commands to run in interactive sessions can go here
fortune -s | cowsay
echo
uptime | sed 's/^ //'
echo
end
set -x EDITOR hx

View File

@ -26,22 +26,23 @@ monitor=,preferred,auto,auto
# Set programs that you use
$terminal = kitty
$fileManager = nautilus
$fileManager = dolphin
$menu = wofi -S drun -i -I -s $HOME/.config/wofi/style.css
exec-once = $HOME/.config/waybar/start.sh
exec-once = hypridle
exec-once = hyprpaper
exec-once = copyq --start-server
exec-once = gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
exec-once = nm-applet
exec-once = blueman-applet
# Some default env vars.
env = HYPRCURSOR_ENABLED,0
env = XCURSOR_THEME,Bibata-Modern-Ice
env = XCURSOR_THEME,Adwaita
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
env = QT_QPA_PLATFORMTHEME,qt6ct # change to qt6ct if you have that
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
@ -213,7 +214,6 @@ bind = $mainMod, mouse_up, workspace, e-1
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = , XF86AudioRaiseVolume, exec, pactl -- set-sink-volume @DEFAULT_SINK@ +5%
bind = , XF86AudioLowerVolume, exec, pactl -- set-sink-volume @DEFAULT_SINK@ -5%
bind = , XF86AudioMute, exec, pactl -- set-sink-mute @DEFAULT_SINK@ toggle
@ -226,4 +226,4 @@ bind = , XF86MonBrightnessDown, exec, light -U 5
bind = CONTROL ALT SHIFT, H, exec, systemctl hibernate
bind = CONTROL ALT SHIFT, S, exec, systemctl suspend
bind = , Print, exec, hyprshot -m region --clipboard-only
bind = , Print, exec, grim -g "$(slurp)" - | wl-copy

View File

Before

Width:  |  Height:  |  Size: 3.9 MiB

After

Width:  |  Height:  |  Size: 3.9 MiB

View File

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 2.9 MiB

View File

@ -1,12 +1,13 @@
font_size 12
font_family GoMono
font_family JetBrains Mono
window_margin_width 0
background #131313
foreground #d6dae4
cursor #b9b9b9
selection_background #1f1f1f
selection_background #d6dae4
selection_foreground #131313
color0 #1f1f1f
color8 #d6dae4
color1 #f71118
@ -23,4 +24,3 @@ color6 #0f80d5
color14 #0f7cda
color7 #d6dae4
color15 #ffffff
selection_foreground #131313

View File

@ -0,0 +1,11 @@
[Unit]
Description=Run rclone bisync for sync folder
After=network.target
[Service]
ExecStart=bash -c 'mkdir -p $HOME/sync && rclone bisync $HOME/sync drive1:backup/nx-data/2_sync --config $HOME/.config/rclone/rclone.conf --resync --force'
Type=oneshot
RemainAfterExit=true
[Install]
WantedBy=default.target

View File

@ -0,0 +1,10 @@
[Unit]
Description=Run rclone bisync for sync folder every 15 minutes
[Timer]
OnBootSec=10min
OnUnitActiveSec=15min
Unit=rclonesync.service
[Install]
WantedBy=timers.target

View File

@ -0,0 +1,10 @@
[Unit]
Description=SSH key agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target

25
install
View File

@ -1,14 +1,13 @@
#!/usr/bin/env bash
DIR="$(dirname $(realpath "$0"))"
cd "$DIR"
cd "$(dirname $(realpath "$0"))"
# install config files
for filename in $(ls -p | grep -v "install" | grep -v "/" | grep -v "README.md"); do
app=$(echo $filename | tr "-" "\n" | head -1)
appdir="$HOME/.config/$app"
mkdir -p $appdir
cp $filename "$appdir/${filename:${#app}+1:200}"
for filename in $(ls -p config); do
subpath="${filename//-//}"
filepath="$HOME/.config/$subpath"
mkdir -p "$(dirname $filepath)"
cp "config/$filename" "$filepath"
done
# install backrounds
@ -29,4 +28,16 @@ if [[ ! -e "$HOME/.local/bin/rickroll" ]]; then
chmod +x "$HOME/.local/bin/rickroll"
fi
if command -v gsettings &> /dev/null; then
gsettings set org.gnome.desktop.interface gtk-theme Adwaita
gsettings set org.gnome.desktop.interface icon-theme Adwaita
gsettings set org.gnome.desktop.interface cursor-theme Adwaita
fi
systemctl enable --now --user sshagent.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

134
setup Executable file
View File

@ -0,0 +1,134 @@
#!/usr/bin/env bash
DIR="$(dirname $(realpath "$0"))"
cd "$DIR"
if [[ ! -f /etc/os-release ]]; then
echo "Could not determine distribution; exiting..."
exit 1
fi
. /etc/os-release
distro=${NAME,,}
if [[ $distro == "arch linux" ]]; then
pacman=(
# services
"networkmanager"
"bluez" "bluez-libs"
"pipewire" "pipewire-alsa" "pipewire-pulse" "pipewire-audio" "pipewire-jack" "wireplumber"
# Hyprland core
"hyprland" "hypridle" "hyprpaper" "hyprlock"
"hyprpolkitagent" "hyprutils" "hyprland-qtutils"
"xdg-desktop-portal-hyprland" "xdg-desktop-portal-gtk"
# Hyprland extra
"qt6ct" "gnome-keyring"
"waybar" "dunst" "wofi" "wl-clipboard" "copyq" "grim" "slurp"
"adwaita-icon-theme" "adwaita-cursors" "dolphin"
"network-manager-applet" "blueman"
"playerctl" "pavucontrol"
"upower"
# terminal
"kitty" "fish" "ranger" "htop" "tmux" "psmisc"
# misc
"wget" "curl" "git" "entr" "zip" "base-devel"
"ninja" "make" "cmake"
"neofetch" "fortune-mod" "cowsay"
# languages
"python" "php" "go" "clang"
# editors
"nano" "vim" "helix"
# network drives
"rclone" "cifs-utils"
# container
"podman" "podman-compose" "podman-docker" "distrobox"
# VMs
"virtualbox" "virtualbox-host-modules-arch" "linux-headers"
# fonts
"adwaita-fonts"
"ttf-jetbrains-mono" "ttf-jetbrains-mono-nerd"
"noto-fonts" "noto-fonts-emoji" "noto-fonts-cjk"
# flatpak
"flatpak" "libportal"
# apps
"keepassxc" "remmina"
)
yay=(
"light"
"snapd"
"brave-bin"
)
systemd=(
"snapd.socket"
"snapd.apparmor.service"
"NetworkManager.service"
"bluetooth.service"
)
snap_classic=(
"code"
"flutter"
"android-studio"
)
flatpak=(
"org.signal.Signal"
"com.spotify.Client"
"net.ankiweb.Anki"
"org.gimp.GIMP"
"org.inkscape.Inkscape"
"org.onlyoffice.desktopeditors"
"com.github.xournalpp.xournalpp"
"net.nokyan.Resources"
"org.gnome.Loupe"
"org.gnome.Evince"
)
sudo pacman -Syu --noconfirm
sudo pacman --noconfirm --needed -S "${pacman[@]}"
sudo ln -s "$(which helix)" /usr/local/bin/hx
if ! command -v yay &> /dev/null; then
git clone https://aur.archlinux.org/yay.git /tmp/yay
cd /tmp/yay && makepkg -si --noconfirm
yay -Sy --noconfirm
cd "$DIR"
fi
yay --noconfirm --needed -S "${yay[@]}"
sudo ln -s /var/lib/snapd/snap /snap
for item in "${systemd[@]}"; do
sudo systemctl enable --now $item
done
while ! sudo snap refresh; do sleep 1; done
sudo snap install "${snap_classic[@]}" --classic
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y "${flatpak[@]}"
else
echo "Unknown distribution '$distro'; exiting..."
exit 1
fi
"$DIR/install"
echo "-"
echo "Done!"