From 949bd2453ab7be7a0284bcd13be49952e3e63eed Mon Sep 17 00:00:00 2001 From: Rob Harbaugh Date: Thu, 18 Dec 2025 11:40:14 -0500 Subject: [PATCH] removing some sway stuff, friendship started with fedora --- shared/.config/dunst/dunstrc | 80 ------ shared/.config/electron-flags.conf | 2 - shared/.config/fontconfig/fonts.conf | 25 +- shared/.config/kanshi/config | 26 -- shared/.config/sway/#config# | 261 ----------------- shared/.config/sway/config | 264 ------------------ shared/.config/swaylock/config | 54 ---- shared/.config/systemd/user/kanshi.service | 11 - .../.config/systemd/user/sway-session.target | 6 - shared/.config/waybar/config | 113 -------- shared/.config/waybar/config-old | 176 ------------ shared/.config/waybar/style-old.css | 197 ------------- shared/.config/waybar/style.css | 140 ---------- shared/.config/wofi/config | 1 - shared/.config/wofi/style.css | 39 --- shared/.config/xdg-desktop-portal/config | 3 - .../.config/xdg-desktop-portal/portals.conf | 4 - .../applications/com.yubico.yubioath.desktop | 8 + system-backup-20251125-202712.json | 155 ---------- system-backup.sh | 131 --------- 20 files changed, 20 insertions(+), 1676 deletions(-) delete mode 100644 shared/.config/dunst/dunstrc delete mode 100644 shared/.config/electron-flags.conf delete mode 100644 shared/.config/kanshi/config delete mode 100644 shared/.config/sway/#config# delete mode 100644 shared/.config/sway/config delete mode 100644 shared/.config/swaylock/config delete mode 100644 shared/.config/systemd/user/kanshi.service delete mode 100644 shared/.config/systemd/user/sway-session.target delete mode 100644 shared/.config/waybar/config delete mode 100644 shared/.config/waybar/config-old delete mode 100644 shared/.config/waybar/style-old.css delete mode 100644 shared/.config/waybar/style.css delete mode 100644 shared/.config/wofi/config delete mode 100644 shared/.config/wofi/style.css delete mode 100644 shared/.config/xdg-desktop-portal/config delete mode 100644 shared/.config/xdg-desktop-portal/portals.conf create mode 100644 shared/.local/share/applications/com.yubico.yubioath.desktop delete mode 100644 system-backup-20251125-202712.json delete mode 100755 system-backup.sh diff --git a/shared/.config/dunst/dunstrc b/shared/.config/dunst/dunstrc deleted file mode 100644 index 0b3c56b..0000000 --- a/shared/.config/dunst/dunstrc +++ /dev/null @@ -1,80 +0,0 @@ -# ~/.config/dunst/dunstrc - -[global] - monitor = 0 - follow = mouse - width = (200, 400) - height = 300 - origin = top-right - offset = 10x50 - scale = 0 - notification_limit = 0 - - progress_bar = true - progress_bar_height = 10 - progress_bar_frame_width = 1 - progress_bar_min_width = 150 - progress_bar_max_width = 300 - - indicate_hidden = yes - transparency = 0 - separator_height = 2 - padding = 12 - horizontal_padding = 12 - text_icon_padding = 0 - frame_width = 2 - frame_color = "#689d6a" - separator_color = frame - sort = yes - idle_threshold = 120 - - font = Hack Nerd Font Mono 10 - line_height = 0 - markup = full - format = "%s\n%b" - alignment = left - vertical_alignment = center - show_age_threshold = 60 - ellipsize = middle - ignore_newline = no - stack_duplicates = true - hide_duplicate_count = false - show_indicators = yes - - icon_position = left - min_icon_size = 32 - max_icon_size = 64 - - sticky_history = yes - history_length = 20 - - dmenu = /usr/bin/dmenu -p dunst: - browser = /usr/bin/xdg-open - always_run_script = true - title = Dunst - class = Dunst - corner_radius = 0 - ignore_dbusclose = false - force_xwayland = false - force_xinerama = false - mouse_left_click = close_current - mouse_middle_click = do_action, close_current - mouse_right_click = close_all - -[urgency_low] - background = "#282828" - foreground = "#ebdbb2" - frame_color = "#689d6a" - timeout = 10 - -[urgency_normal] - background = "#282828" - foreground = "#ebdbb2" - frame_color = "#689d6a" - timeout = 10 - -[urgency_critical] - background = "#282828" - foreground = "#ebdbb2" - frame_color = "#cc241d" - timeout = 0 diff --git a/shared/.config/electron-flags.conf b/shared/.config/electron-flags.conf deleted file mode 100644 index 51bdd86..0000000 --- a/shared/.config/electron-flags.conf +++ /dev/null @@ -1,2 +0,0 @@ ---enable-features=UseOzonePlatform ---ozone-platform=wayland diff --git a/shared/.config/fontconfig/fonts.conf b/shared/.config/fontconfig/fonts.conf index a5dffe9..a0d8ed3 100644 --- a/shared/.config/fontconfig/fonts.conf +++ b/shared/.config/fontconfig/fonts.conf @@ -1,14 +1,13 @@ - - + + - - - - Verdana - - - hintfull - - - - \ No newline at end of file + + + Verdana + + + hintfull + + + ~/.local/share/fonts + diff --git a/shared/.config/kanshi/config b/shared/.config/kanshi/config deleted file mode 100644 index 4d7b98b..0000000 --- a/shared/.config/kanshi/config +++ /dev/null @@ -1,26 +0,0 @@ -output "Dell Inc. DELL S3422DWG 3LTSS63" { - mode 3440x1440@143.975 - position 0,0 - alias $HOME_DESK_1 -} - -output eDP-1 { - mode 2256x1504@59.999 - position 0,0 - scale 1.25 - alias $INTERNAL -} - -profile docked { - output $HOME_DESK_1 enable - output $INTERNAL disable -} - -profile mobile_external { - output $INTERNAL enable position 0,0 - output * enable position 1805,0 -} - -profile undocked { - output $INTERNAL enable -} diff --git a/shared/.config/sway/#config# b/shared/.config/sway/#config# deleted file mode 100644 index d5b145c..0000000 --- a/shared/.config/sway/#config# +++ /dev/null @@ -1,261 +0,0 @@ -### Variables -set $mod Mod4 -set $left h -set $down j -set $up k -set $right l - -# Terminal -set $term ghostty - -# App Launcher -set $menu wofi --show drun - -# This systemd unit indicates that sway is running for other things (kanshi) -exec_always systemctl --user start sway-session.target -exec_always systemctl --user restart kanshi.service -# Wallpaper -output * bg #282828 solid_color - -# Displays (these get updated to an autodetect kanshi config, but this is a default before it runs) -output "Dell Inc. DELL S3422DWG 3LTSS63" mode 3440x1440@143.975Hz -output eDP-1 mode 2256x1504@59.999Hz scale 1.25 - -# Idle Configuration -exec swayidle -w \ - timeout 300 'swaylock -f' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - timeout 900 'if [ $(cat /sys/class/power_supply/BAT*/status) != "Charging" ]; then systemctl suspend; fi' \ - before-sleep 'swaylock -f' - -# Keyboard -input type:keyboard { - xkb_layout "us" - xkb_variant "" - xkb_options "caps:ctrl_modifier,shift:both_capslock" - repeat_delay 400 - repeat_rate 40 -} - -# Mouse -input type:pointer { - accel_profile "flat" - pointer_accel 0.0 - scroll_factor 1.0 -} -focus_follows_mouse no - -# Trackpad -input type:touchpad { - tap enabled - natural_scroll enabled - dwt enabled - accel_profile "adaptive" - pointer_accel 0.3 - scroll_factor 1.0 - middle_emulation enabled -} - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - -# -# Custom Binds: -# - bindsym $mod+Shift+s exec grimshot copy area - bindsym $mod+x exec swaylock -f - -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+Shift+v splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" -# -# Utilities: -# - # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle - bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% - bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% - bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle - # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - # Special key to take a screenshot with grim - bindsym Print exec grim - -# -# Styling: -# - -# Remove title bars - -default_border pixel 2 -default_floating_border pixel 2 - -# Add gaps -gaps inner 5 -gaps outer 2 - -# Gruvbox Dark colors -set $bg #282828 -set $fg #ebdbb2 -set $red #cc241d -set $green #98971a -set $yellow #d79921 -set $blue #458588 -set $purple #b16286 -set $aqua #689d6a -set $gray #a89984 -set $darkgray #1d2021 - -# Window decorations -# class border backgr. text indicator child_border -client.focused $aqua $aqua $bg $purple $aqua -client.focused_inactive $darkgray $darkgray $fg $purple $darkgray -client.unfocused $darkgray $darkgray $gray $purple $darkgray -client.urgent $red $red $bg $red $red - -# Font -font pango:Hack Nerd Font Mono 10 - - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - swaybar_command waybar -} - -include /etc/sway/config.d/* diff --git a/shared/.config/sway/config b/shared/.config/sway/config deleted file mode 100644 index 3e339ec..0000000 --- a/shared/.config/sway/config +++ /dev/null @@ -1,264 +0,0 @@ -### Variables -set $mod Mod4 -set $left h -set $down j -set $up k -set $right l - -# Terminal -set $term ghostty - -# App Launcher -set $menu wofi --show drun - -# This systemd unit indicates that sway is running for other things (kanshi) -exec_always systemctl --user start sway-session.target -exec_always systemctl --user restart kanshi.service -# Wallpaper -output * bg #282828 solid_color - -# Displays (these get updated to an autodetect kanshi config, but this is a default before it runs) -output "Dell Inc. DELL S3422DWG 3LTSS63" mode 3440x1440@143.975Hz -output eDP-1 mode 2256x1504@59.999Hz scale 1.25 - -# Idle Configuration -exec swayidle -w \ - timeout 300 'swaylock -f' \ - timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \ - timeout 900 'if [ $(cat /sys/class/power_supply/BAT*/status) != "Charging" ]; then systemctl suspend; fi' \ - before-sleep 'swaylock -f' - -# Keyboard -input type:keyboard { - xkb_layout "us" - xkb_variant "" - #xkb_options "caps:ctrl_modifier,shift:both_capslock" - xkb_options "caps:escape" - repeat_delay 400 - repeat_rate 40 -} - -# Mouse -input type:pointer { - accel_profile "flat" - pointer_accel 0.0 - scroll_factor 1.0 -} -focus_follows_mouse no - -# Trackpad -input type:touchpad { - tap enabled - natural_scroll disabled - dwt enabled - accel_profile "adaptive" - pointer_accel 0.3 - scroll_factor 1.0 - middle_emulation enabled -} - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+c reload - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - -# -# Custom Binds: -# - bindsym $mod+Shift+s exec grimshot copy area - bindsym $mod+x exec swaylock -f - -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - bindsym $mod+Shift+v splith - bindsym $mod+v splitv - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+e layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" -# -# Utilities: -# - # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle - bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% - bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% - bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle - # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - # Special key to take a screenshot with grim - bindsym Print exec grim - -# -# Styling: -# - -# Remove title bars - -default_border pixel 2 -default_floating_border pixel 2 - -# Add gaps -gaps inner 5 -gaps outer 2 - -# Gruvbox Dark colors -set $bg #282828 -set $fg #ebdbb2 -set $red #cc241d -set $green #98971a -set $yellow #d79921 -set $blue #458588 -set $purple #b16286 -set $aqua #689d6a -set $gray #a89984 -set $darkgray #1d2021 - -# Window decorations -# class border backgr. text indicator child_border -client.focused $aqua $aqua $bg $purple $aqua -client.focused_inactive $darkgray $darkgray $fg $purple $darkgray -client.unfocused $darkgray $darkgray $gray $purple $darkgray -client.urgent $red $red $bg $red $red - -# Font -font pango:Hack Nerd Font Mono 10 - -# Custom window rules -for_window [app_id="com.tibia.client"] floating enable, move container to workspace 2 - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - swaybar_command waybar -} - -include /etc/sway/config.d/* diff --git a/shared/.config/swaylock/config b/shared/.config/swaylock/config deleted file mode 100644 index 421ff07..0000000 --- a/shared/.config/swaylock/config +++ /dev/null @@ -1,54 +0,0 @@ -# Gruvbox Dark color scheme -color=282828 - -# Ring colors -ring-color=3c3836 -ring-clear-color=b8bb26 -ring-ver-color=83a598 -ring-wrong-color=fb4934 - -# Inside colors -inside-color=1d2021 -inside-clear-color=1d2021 -inside-ver-color=1d2021 -inside-wrong-color=1d2021 - -# Line colors (separator) -line-color=00000000 -line-clear-color=00000000 -line-ver-color=00000000 -line-wrong-color=00000000 - -# Text colors -text-color=ebdbb2 -text-clear-color=ebdbb2 -text-ver-color=ebdbb2 -text-wrong-color=fb4934 - -# Key highlight -key-hl-color=fabd2f -bs-hl-color=fb4934 -caps-lock-key-hl-color=fe8019 -caps-lock-bs-hl-color=fb4934 - -# Separator color -separator-color=00000000 - -# Font -font=Hack Nerd Font Mono -font-size=24 - -# Indicator -indicator-radius=100 -indicator-thickness=10 - -# Show clock -clock -timestr=%H:%M:%S -datestr=%Y-%m-%d - -# Fade in -fade-in=0.2 - -# Disable unlock indicator on inactivity -hide-keyboard-layout diff --git a/shared/.config/systemd/user/kanshi.service b/shared/.config/systemd/user/kanshi.service deleted file mode 100644 index 6b5cc33..0000000 --- a/shared/.config/systemd/user/kanshi.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Dynamic output configuration for Wayland compositors -Documentation=https://gitlab.freedesktop.org/emersion/kanshi -BindsTo=sway-session.target - -[Service] -Type=simple -ExecStart=/usr/bin/kanshi - -[Install] -WantedBy=sway-session.target diff --git a/shared/.config/systemd/user/sway-session.target b/shared/.config/systemd/user/sway-session.target deleted file mode 100644 index a6dadf9..0000000 --- a/shared/.config/systemd/user/sway-session.target +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=Sway compositor session -Documentation=man:systemd.special -BindsTo=graphical-session.target -Wants=graphical-session-pre.target -After=graphical-session-pre.target diff --git a/shared/.config/waybar/config b/shared/.config/waybar/config deleted file mode 100644 index 7a09274..0000000 --- a/shared/.config/waybar/config +++ /dev/null @@ -1,113 +0,0 @@ -{ - "layer": "top", - "position": "top", - "height": 30, - "spacing": 8, - - "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"], - "modules-center": ["sway/window"], - "modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "battery", "tray", "clock"], - - "sway/workspaces": { - "disable-scroll": false, - "all-outputs": true, - "format": "{name}" - }, - - "sway/mode": { - "format": "{}" - }, - - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", "📋"], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - - "sway/window": { - "format": "{}", - "max-length": 50, - "rewrite": { - "(.*) — Mozilla Firefox": "🌎 $1", - "(.*) - vim": " $1" - } - }, - - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "🔓", - "deactivated": "🔒" - } - }, - - "tray": { - "spacing": 10 - }, - - "clock": { - "format": "🕐 {:%Y-%m-%d %H:%M}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "📅 {:%A, %B %d, %Y}" - }, - - "cpu": { - "format": "⚙ {usage}%", - "tooltip": false - }, - - "memory": { - "format": "💾 {}%" - }, - - "temperature": { - "thermal-zone": 2, - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format": "{icon} {temperatureC}°C", - "format-icons": ["❄", "🌡", "đŸ”Ĩ"] - }, - - "backlight": { - "format": "{icon} {percent}%", - "format-icons": ["🔅", "🔆"] - }, - - "battery": { - "states": { - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": "⚡ {capacity}%", - "format-plugged": "🔌 {capacity}%", - "format-alt": "{icon} {time}", - "format-icons": ["đŸĒĢ", "🔋", "🔋", "🔋", "🔋"] - }, - - "network": { - "format-wifi": "đŸ“ļ {essid} ({signalStrength}%)", - "format-ethernet": "🖧 {ipaddr}/{cidr}", - "tooltip-format": "🖧 {ifname} via {gwaddr}", - "format-linked": "🖧 {ifname} (No IP)", - "format-disconnected": "❌ Disconnected", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - - "pulseaudio": { - "format": "{icon} {volume}%", - "format-muted": "🔇 muted", - "format-icons": { - "headphone": "🎧", - "hands-free": "🎧", - "headset": "🎧", - "phone": "📱", - "portable": "📱", - "car": "🚗", - "default": ["🔈", "🔉", "🔊"] - }, - "on-click": "pavucontrol" - } -} diff --git a/shared/.config/waybar/config-old b/shared/.config/waybar/config-old deleted file mode 100644 index 7dbb5c8..0000000 --- a/shared/.config/waybar/config-old +++ /dev/null @@ -1,176 +0,0 @@ -{ - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 24, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - //"spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad", "custom/media"], - "modules-center": ["sway/window"], - //"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "keyboard-state", "battery", "battery#bat2", "clock", "tray"], - "modules-right": ["mpd", "idle_inhibitor", "temperature", "cpu", "memory","network", "pulseaudio", "backlight", "keyboard-state", "battery", "battery#bat2", "tray", "clock"], - // Modules configuration - // "hyprland/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "warp-on-scroll": false, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "ī„ ", - // "2": "", - // "3": "ī„Ą", - // "4": "ī†ŧ", - // "5": "īĩ", - // "urgent": "īĒ", - // "focused": "", - // "default": "ī„‘" - // } - // }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "ī‚œ" - } - }, - "hyprland/mode": { - "format": "{}" - }, - "hyprland/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", "ī‹’"], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "mpd": { -// "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸊ {volume}% ", - "format": " {title} - {artist} {stateIcon} [{elapsedTime:%M:%S}/{totalTime:%M:%S}] {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}[{songPosition}/{queueLength}] [{volume}%]", - "format-disconnected": " Disconnected", - "format-stopped": " {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": "īƒ„ " - }, - "random-icons": { -// "off": " ", - "on": " " - }, - "repeat-icons": { - "on": "ī€ž " - }, - "single-icons": { - "on": "ī€ž1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)", - "on-click": "mpc toggle", - "on-click-right": "foot -a ncmpcpp ncmpcpp", - "on-scroll-up": "mpc volume +2", - "on-scroll-down": "mpc volume -2" - - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "īŽ", - "deactivated": "" - } - }, - "tray": { - // "icon-size": 21, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - //"format-alt": "{:%Y-%m-%d}" - "format": "{:L%Y-%m-%d[%a] %p%I:%M}" - //"format": "{:%Y-%m-%d %H:%M}" - }, - "cpu": { - "format": "ī‹› {usage}%", -// "tooltip": false - }, - "memory": { - "format": "īƒ‰ {}%" - }, - "temperature": { - "thermal-zone": 2, - "hwmon-path": "/sys/class/hwmon/hwmon1/temp1_input", - "critical-threshold": 80, - "format-critical": "{icon} {temperatureC}°C", - "format": "{icon} {temperatureC}°C", - "format-icons": ["īĢ", "", "īŠ"] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{icon} {percent}%", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{icon} {capacity}%", - "format-charging": "ī—§ {capacity}%", - "format-plugged": "ī‡Ļ {capacity}%", - "format-alt": "{icon} {time}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "ī‰ƒ", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ī‡Ģ", - "format-ethernet": "īž– {ifname}", - "tooltip-format": "īž– {ifname} via {gwaddr}", - "format-linked": "īž– {ifname} (No IP)", - "format-disconnected": "Disconnected ⚠ {ifname}", - "format-alt": "īž– {ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - "scroll-step": 5, // %, can be a float - "format": "{icon} {volume}% {format_source}", - "format-bluetooth": "īŠ” {icon} {volume}% {format_source}", - "format-bluetooth-muted": "īšŠ īŠ” {icon} {format_source}", - "format-muted": "īšŠ {format_source}", - "format-source": "ī„° {volume}%", - "format-source-muted": "ī„ą", - "format-icons": { -// "headphone": "ī€Ĩ", -// "hands-free": "", -// "headset": "", -// "phone": "ī‚•", -// "portable": "ī‚•", -// "car": "ī†š", - "default": ["ī€Ļ", "", ""] - }, - "on-click": "pavucontrol", - "on-click-right": "foot -a pw-top pw-top" - }, - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "ī†ŧ", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - } -} diff --git a/shared/.config/waybar/style-old.css b/shared/.config/waybar/style-old.css deleted file mode 100644 index bc47687..0000000 --- a/shared/.config/waybar/style-old.css +++ /dev/null @@ -1,197 +0,0 @@ -* { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: "Noto Sans CJK KR Regular"; - /*font-family: "D2CodingLigature Nerd Mono";*/ - font-size: 13px; - min-height: 0; -} - -window#waybar { - background: transparent; - /* background-color: rgba(43, 48, 59, 0.5); */ - /* border-bottom: 3px solid rgba(100, 114, 125, 0.5); */ - color: #ffffff; - transition-property: background-color; - transition-duration: .5s; -} - -window#waybar.hidden { - opacity: 0.2; -} - -#waybar.empty #window { - background-color: transparent; -} - -#workspaces { -} - -#window { - margin: 2; - padding-left: 8; - padding-right: 8; - background-color: rgba(0,0,0,0.3); - font-size:14px; - font-weight: bold; -} - -button { - /* Use box-shadow instead of border so the text isn't offset */ - box-shadow: inset 0 -3px transparent; - /* Avoid rounded borders under each button name */ - border: none; - border-radius: 0; -} - -/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ -button:hover { - background: inherit; - border-top: 2px solid #c9545d; -} - -#workspaces button { - padding: 0 4px; - /* background-color: rgba(0,0,0,0.3); */ -} - -#workspaces button:hover { -} - -#workspaces button.focused { - /* box-shadow: inset 0 -2px #c9545d; */ - background-color: rgba(0,0,0,0.3); - color:#c9545d; - border-top: 2px solid #c9545d; -} - -#workspaces button.active { - /* box-shadow: inset 0 -2px #c9545d; */ - background-color: rgba(0,0,0,0.3); - color:#c9545d; - border-top: 2px solid #c9545d; -} - -#workspaces button.urgent { - background-color: #eb4d4b; -} - -#mode { - background-color: #64727D; - border-bottom: 3px solid #ffffff; -} - -#clock, -#battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, -#tray, -#mode, -#idle_inhibitor, -#scratchpad, -#mpd { - margin: 2px; - padding-left: 4px; - padding-right: 4px; - background-color: rgba(0,0,0,0.3); - color: #ffffff; -} - -/* If workspaces is the leftmost module, omit left margin */ -.modules-left > widget:first-child > #workspaces { - margin-left: 0; -} - -/* If workspaces is the rightmost module, omit right margin */ -.modules-right > widget:last-child > #workspaces { - margin-right: 0; -} - -#clock { - font-size:14px; - font-weight: bold; -} - -#battery icon { - color: red; -} - -#battery.charging, #battery.plugged { - color: #ffffff; - background-color: #26A65B; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } -} - -#battery.warning:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -label:focus { - background-color: #000000; -} - -#network.disconnected { - background-color: #f53c3c; -} - -#temperature.critical { - background-color: #eb4d4b; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; -} - -/* - -window#waybar.solo { -background-color: #FFFFFF; -} - -window#waybar.termite { -background-color: #3F3F3F; -} - -window#waybar.chromium { -background-color: #000000; -border: none; -} - */ diff --git a/shared/.config/waybar/style.css b/shared/.config/waybar/style.css deleted file mode 100644 index b639a30..0000000 --- a/shared/.config/waybar/style.css +++ /dev/null @@ -1,140 +0,0 @@ -* { - border: none; - border-radius: 0; - font-family: "Hack Nerd Font Mono"; - font-size: 13px; - min-height: 0; -} - -window#waybar { - background-color: rgba(40, 40, 40, 0.0); - color: #ebdbb2; -} - -/* Left modules */ -#workspaces button { - padding: 0 8px; - background-color: transparent; - color: #ebdbb2; -} - -#workspaces button:hover { - background-color: transparent; - color: #fabd2f; -} - -#workspaces button.focused { - background-color: transparent; - color: #fe8019; - font-weight: bold; -} - -#workspaces button.urgent { - background-color: transparent; - color: #fb4934; -} - -#mode { - background-color: transparent; - color: #fb4934; - padding: 0 8px; -} - -#scratchpad { - background-color: transparent; - color: #ebdbb2; - padding: 0 8px; -} - -/* Center module */ -#window { - background-color: transparent; - color: #ebdbb2; - padding: 0 8px; -} - -/* Right modules */ -#idle_inhibitor, -#pulseaudio, -#network, -#cpu, -#memory, -#temperature, -#backlight, -#battery, -#tray, -#clock { - background-color: transparent; - color: #ebdbb2; - padding: 0 8px; -} - -#idle_inhibitor.activated { - color: #b8bb26; -} - -#idle_inhibitor.deactivated { - color: #928374; -} - -#pulseaudio.muted { - color: #928374; -} - -#network.disconnected { - color: #fb4934; -} - -#cpu { - color: #b8bb26; -} - -#memory { - color: #fabd2f; -} - -#temperature { - color: #8ec07c; -} - -#temperature.critical { - color: #fb4934; -} - -#backlight { - color: #d3869b; -} - -#battery { - color: #b8bb26; -} - -#battery.charging { - color: #8ec07c; -} - -#battery.warning:not(.charging) { - color: #fabd2f; -} - -#battery.critical:not(.charging) { - color: #fb4934; -} - -#clock { - color: #83a598; - font-weight: bold; -} - -#tray { - padding: 0 8px; -} - -#tray > .passive { - -gtk-icon-effect: dim; -} - -#tray > .needs-attention { - -gtk-icon-effect: highlight; - color: #fb4934; -} diff --git a/shared/.config/wofi/config b/shared/.config/wofi/config deleted file mode 100644 index a476ffd..0000000 --- a/shared/.config/wofi/config +++ /dev/null @@ -1 +0,0 @@ -font=Hack Nerd Font Mono 11 diff --git a/shared/.config/wofi/style.css b/shared/.config/wofi/style.css deleted file mode 100644 index 8cb23cc..0000000 --- a/shared/.config/wofi/style.css +++ /dev/null @@ -1,39 +0,0 @@ -window { -margin: 0px; -border: 1px solid #928374; -background-color: #282828; -} - -#input { -margin: 5px; -border: none; -color: #ebdbb2; -background-color: #1d2021; -} - -#inner-box { -margin: 5px; -border: none; -background-color: #282828; -} - -#outer-box { -margin: 5px; -border: none; -background-color: #282828; -} - -#scroll { -margin: 0px; -border: none; -} - -#text { -margin: 5px; -border: none; -color: #ebdbb2; -} - -#entry:selected { -background-color: #1d2021; -} diff --git a/shared/.config/xdg-desktop-portal/config b/shared/.config/xdg-desktop-portal/config deleted file mode 100644 index 6a6f305..0000000 --- a/shared/.config/xdg-desktop-portal/config +++ /dev/null @@ -1,3 +0,0 @@ -[screencast] -chooser_type=simple -chooser_cmd=slurp -f %o -or \ No newline at end of file diff --git a/shared/.config/xdg-desktop-portal/portals.conf b/shared/.config/xdg-desktop-portal/portals.conf deleted file mode 100644 index a38bc4f..0000000 --- a/shared/.config/xdg-desktop-portal/portals.conf +++ /dev/null @@ -1,4 +0,0 @@ -[preferred] -default=wlr;gtk -org.freedesktop.impl.portal.ScreenCast=wlr -org.freedesktop.impl.portal.Screenshot=wlr \ No newline at end of file diff --git a/shared/.local/share/applications/com.yubico.yubioath.desktop b/shared/.local/share/applications/com.yubico.yubioath.desktop new file mode 100644 index 0000000..8e6419b --- /dev/null +++ b/shared/.local/share/applications/com.yubico.yubioath.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Yubico Authenticator +GenericName=Yubico Authenticator +Exec="/usr/local/bin/yubico-authenticator-7.3.0-linux/authenticator" +Icon=/usr/local/bin/yubico-authenticator-7.3.0-linux/linux_support/com.yubico.yubioath.png +Type=Application +Categories=Utility; +Keywords=Yubico;Authenticator; diff --git a/system-backup-20251125-202712.json b/system-backup-20251125-202712.json deleted file mode 100644 index ff43ab0..0000000 --- a/system-backup-20251125-202712.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "timestamp": "20251125-202712", - "packages": { - "pacman": [ - "7zip", - "amd-ucode", - "base", - "base-devel", - "bat", - "bind", - "bluez", - "bluez-utils", - "bolt", - "brightnessctl", - "btop", - "cantarell-fonts", - "clang", - "cups", - "cups-pdf", - "direnv", - "discord", - "dunst", - "e2fsprogs", - "emacs-wayland", - "eza", - "fastfetch", - "fd", - "firefox", - "flatpak", - "foomatic-db", - "foomatic-db-engine", - "foomatic-db-nonfree-ppds", - "foomatic-db-ppds", - "freerdp", - "gdb", - "ghostty", - "gimp", - "git", - "go", - "gopls", - "gutenprint", - "imagemagick", - "inetutils", - "kanshi", - "keychain", - "lazygit", - "lib32-mesa", - "lib32-pipewire", - "lib32-vulkan-radeon", - "libreoffice-fresh", - "linux", - "linux-firmware", - "linux-lts", - "lldb", - "luarocks", - "man-db", - "man-pages", - "mosh", - "nano", - "ncspot", - "networkmanager", - "nnn", - "noto-fonts", - "noto-fonts-cjk", - "noto-fonts-emoji", - "noto-fonts-extra", - "nss-mdns", - "openssh", - "pacman-contrib", - "pavucontrol", - "pcsc-tools", - "pipewire", - "pipewire-alsa", - "pipewire-jack", - "pipewire-pulse", - "ranger", - "reflector", - "ripgrep", - "rustup", - "sbcl", - "stow", - "sway", - "sway-contrib", - "swaybg", - "swayidle", - "swaylock", - "system-config-printer", - "texinfo", - "texlive-bibtexextra", - "texlive-fontsrecommended", - "texlive-latex", - "texlive-latexextra", - "texlive-plaingeneric", - "texlive-xetex", - "the_silver_searcher", - "tlp", - "tmux", - "ttf-dejavu", - "ttf-fira-code", - "ttf-hack-nerd", - "ttf-liberation", - "unzip", - "vlc", - "vlc-plugin-ffmpeg", - "vulkan-radeon", - "waybar", - "weechat", - "wget", - "wimlib", - "wireplumber", - "woff2-font-awesome", - "wofi", - "xdg-desktop-portal-wlr", - "xdg-user-dirs", - "xorg-xwayland", - "zsh" - ], - "aur": [ - "bambustudio-bin", - "omnissa-horizon-client", - "paru", - "paru-debug", - "yubico-authenticator-bin", - "zoom" - ] - }, - "systemd": { - "system": [ - "bluetooth.service", - "getty@.service", - "NetworkManager-dispatcher.service", - "NetworkManager-wait-online.service", - "NetworkManager.service", - "reflector.service", - "systemd-boot-update.service", - "tlp.service", - "avahi-daemon.socket", - "cups.socket", - "pcscd.socket", - "systemd-userdbd.socket", - "remote-fs.target" - ], - "user": [ - "kanshi.service", - "wireplumber.service", - "xdg-user-dirs.service", - "p11-kit-server.socket", - "pipewire-pulse.socket", - "pipewire.socket" - ] - }, - "flatpak": [ - "com.adamcake.Bolt" - ] -} diff --git a/system-backup.sh b/system-backup.sh deleted file mode 100755 index f843720..0000000 --- a/system-backup.sh +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/bash - -set -e - -TIMESTAMP=$(date +%Y%m%d-%H%M%S) -BACKUP_FILE="system-backup-${TIMESTAMP}.json" - -show_help() { - echo "Usage: $0 [OPTION]" - echo "" - echo "Options:" - echo " -b, --backup [filename] Create backup (default: system-backup-TIMESTAMP.json)" - echo " -r, --restore Restore from backup file" - echo " -h, --help Show this help message" -} - -backup() { - local filename="${1:-$BACKUP_FILE}" - - echo "Creating backup..." - - # Get package lists (filtering out any integers/counts) - local pacman_pkgs=$(paru -Qqen | grep -v '^[0-9]*$') - local aur_pkgs=$(paru -Qqem | grep -v '^[0-9]*$') - - # Get systemd units (filter headers, footers, and integers) - local system_units=$(systemctl list-unit-files --state=enabled --no-pager --no-legend | \ - awk '{print $1}' | grep -E '\.(service|timer|socket|target|path|mount)$') - local user_units=$(systemctl --user list-unit-files --state=enabled --no-pager --no-legend | \ - awk '{print $1}' | grep -E '\.(service|timer|socket|target|path|mount)$') - - # Get flatpak list - local flatpak_pkgs="" - if command -v flatpak &> /dev/null; then - flatpak_pkgs=$(flatpak list --app --columns=application | tail -n +1 | grep -v '^[0-9]*$') - fi - - # Build JSON - jq -n \ - --arg timestamp "$TIMESTAMP" \ - --arg pacman "$pacman_pkgs" \ - --arg aur "$aur_pkgs" \ - --arg system "$system_units" \ - --arg user "$user_units" \ - --arg flatpak "$flatpak_pkgs" \ - '{ - timestamp: $timestamp, - packages: { - pacman: ($pacman | split("\n") | map(select(length > 0))), - aur: ($aur | split("\n") | map(select(length > 0))) - }, - systemd: { - system: ($system | split("\n") | map(select(length > 0))), - user: ($user | split("\n") | map(select(length > 0))) - }, - flatpak: ($flatpak | split("\n") | map(select(length > 0))) - }' > "$filename" - - echo "Backup created: $filename" -} - -restore() { - local filename="$1" - - if [[ -z "$filename" ]]; then - echo "Error: No backup file specified" - show_help - exit 1 - fi - - if [[ ! -f "$filename" ]]; then - echo "Error: Backup file $filename not found" - exit 1 - fi - - # Ensure jq is installed - if ! command -v jq &> /dev/null; then - echo "Installing jq..." - sudo pacman -S --noconfirm jq - fi - - echo "Restoring from $filename..." - - # Install pacman packages - echo "Installing official repository packages..." - jq -r '.packages.pacman[]' "$filename" | paru -S --needed --noconfirm - - - # Install AUR packages - echo "Installing AUR packages..." - jq -r '.packages.aur[]' "$filename" | paru -S --needed --noconfirm - - - # Enable system units - echo "Enabling system units..." - jq -r '.systemd.system[]' "$filename" | while read -r unit; do - [[ -n "$unit" ]] && sudo systemctl enable "$unit" 2>/dev/null || echo "Skipping $unit" - done - - # Enable user units - echo "Enabling user units..." - jq -r '.systemd.user[]' "$filename" | while read -r unit; do - [[ -n "$unit" ]] && systemctl --user enable "$unit" 2>/dev/null || echo "Skipping $unit" - done - - # Install flatpak packages - if command -v flatpak &> /dev/null; then - echo "Installing flatpak packages..." - jq -r '.flatpak[]' "$filename" | while read -r pkg; do - [[ -n "$pkg" ]] && flatpak install -y "$pkg" 2>/dev/null || echo "Skipping $pkg" - done - else - echo "Flatpak not installed, skipping flatpak packages" - fi - - echo "Restore complete." -} - -case "$1" in - -b|--backup) - backup "$2" - ;; - -r|--restore) - restore "$2" - ;; - -h|--help) - show_help - ;; - *) - show_help - exit 1 - ;; -esac