diff --git a/README.md b/README.md
index ff72cb0..e6581f1 100644
--- a/README.md
+++ b/README.md
@@ -36,6 +36,11 @@ This repository contains my configuration files for the following tools:
- `polybar` (status bar)
- `rofi` (launcher)
- `dunst` (notification daemon)
+- **Wayland Environment**
+ - `sway` (Window Manager)
+ - `waybar` (status bar)
+ - `rofi` (launcher)
+ - `dunst` (notification daemon)
- **Utilities**
- `fastfetch`
- `zoxide`
diff --git a/picom/.config/picom/picom.conf b/i3/.config/picom/picom.conf
similarity index 100%
rename from picom/.config/picom/picom.conf
rename to i3/.config/picom/picom.conf
diff --git a/sway/.config/foot/foot.ini b/sway/.config/foot/foot.ini
new file mode 100644
index 0000000..e5f341d
--- /dev/null
+++ b/sway/.config/foot/foot.ini
@@ -0,0 +1,69 @@
+# === General settings ===
+[main]
+shell=/bin/zsh -c "exec ~/.profile.d/tmux.sh" # Default shell to launch in the terminal
+font=0xProto Nerd Font:size=14 # Font family and size used in the terminal
+initial-window-size-chars=160x45 # Initial size in character columns x rows
+selection-target=clipboard # Copy selected text directly to system clipboard
+term=foot # Terminal type identifier (useful for compatibility)
+pad=8x8 # Adds 8-pixel padding around the content (horizontal x vertical)
+
+# === Mouse settings ===
+[mouse]
+hide-when-typing=yes # Automatically hide the mouse cursor while typing
+alternate-scroll-mode=no # Preserves scrollback history when applications exit (does not use alternate screen buffer)
+
+# === Scrollback bar indicator settings ===
+[scrollback]
+lines=10000 # Number of scrollback lines to keep in history
+indicator-format=percentage # Format of scroll indicator (e.g., "50%")
+
+# === Key bindings ===
+[key-bindings]
+scrollback-up-page=Shift+Page_Up # Scroll up one page
+scrollback-down-page=Shift+Page_Down # Scroll down one page
+clipboard-copy=Control+Shift+c # Copy selected text to clipboard
+clipboard-paste=Control+Shift+v # Paste from clipboard
+show-urls-launch=Control+Shift+o # Detects and allows launching URLs found in the terminal output
+
+# === Cursor appearance ===
+[cursor]
+style=beam # Beam-style (vertical bar) cursor
+blink=true # Cursor should blink
+beam-thickness=3 # Thickness of the beam cursor
+
+# === Catppuccin Mocha color scheme ===
+[colors]
+alpha=0.9
+cursor=11111b f5e0dc # Cursor color (background and foreground)
+foreground=cdd6f4 # Default text color
+background=1e1e2e # Main terminal background color
+
+regular0=45475a # ANSI Black/Grey
+regular1=f38ba8 # ANSI Red
+regular2=a6e3a1 # ANSI Green
+regular3=f9e2af # ANSI Yellow
+regular4=89b4fa # ANSI Blue
+regular5=f5c2e7 # ANSI Magenta
+regular6=94e2d5 # ANSI Cyan
+regular7=bac2de # ANSI White/Light Grey
+
+bright0=585b70 # Bright ANSI Black/Grey
+bright1=f38ba8 # Bright ANSI Red
+bright2=a6e3a1 # Bright ANSI Green
+bright3=f9e2af # Bright ANSI Yellow
+bright4=89b4fa # Bright ANSI Blue
+bright5=f5c2e7 # Bright ANSI Magenta
+bright6=94e2d5 # Bright ANSI Cyan
+bright7=a6adc8 # Bright ANSI White/Light Grey
+
+16=fab387 # Extended color 16 (Orange-like)
+17=f5e0dc # Extended color 17 (Pink/Cream-like)
+
+selection-foreground=cdd6f4 # Color of selected text
+selection-background=414356 # Background color of selected text
+
+search-box-no-match=11111b f38ba8 # Colors for search box when no match is found
+search-box-match=cdd6f0 313244 # Colors for search box when a match is found
+
+jump-labels=11111b fab387 # Colors for jump labels (e.g., in URL launcher)
+urls=89b4fa # Color for detected URLs
diff --git a/sway/.config/sway/conf.d/window.conf b/sway/.config/sway/conf.d/window.conf
new file mode 100644
index 0000000..e4b1ec5
--- /dev/null
+++ b/sway/.config/sway/conf.d/window.conf
@@ -0,0 +1,66 @@
+#-----------------------#
+# Windows configuration #
+# ----------------------#
+ bindsym $mod+shift+g exec swaymsg gaps outer all set 0 && swaymsg gaps inner all set 5
+ bindsym $mod+g exec swaymsg gaps outer all set 0 && swaymsg gaps inner all set 0
+
+ # No gaps when there is a single window
+ #smart_gaps on
+
+ # Activate smart borders (always)
+ #smart_borders on
+
+ default_border pixel 3
+ default_floating_border pixel 3
+ gaps inner 5
+ gaps outer 5
+
+#------------------------------#
+# Always float certain windows #
+#------------------------------#
+ for_window [app_id="pop-up"] floating enable
+ for_window [app_id="bubble"] floating enable
+ for_window [app_id="task_dialog"] floating enable
+ for_window [app_id="Preferences"] floating enable
+ for_window [app_id="dialog"] floating enable
+ for_window [app_id="menu"] floating enable
+ for_window [app_id="Organizer"] floating enable
+ for_window [app_id="About"] floating enable
+ for_window [app_id="toolbox"] floating enable
+ for_window [app_id="page-info"] floating enable
+ for_window [app_id="webconsole"] floating enable
+ for_window [app_id="Authy"] floating enable
+ for_window [app_id="termfloat"] floating enable
+ for_window [app_id="termfloat"] resize set height 540
+ for_window [app_id="termfloat"] resize set width 960
+ for_window [app_id="mpv"] floating enable
+ for_window [app_id="mpv"] resize set height 540
+ for_window [app_id="mpv"] resize set width 960
+
+#-------------------------------------------------------#
+# Sticky floating windows(sticky enable|disable|toggle) #
+#-------------------------------------------------------#
+ for_window [app_id="nwg-clipman"] floating enable
+ for_window [app_id="nwg-clipman"] sticky enable
+ for_window [app_id="nwg-clipman"] resize set height 540
+ for_window [app_id="nwg-clipman"] resize set width 960
+
+#-----------------#
+# Program Opacity #
+#-----------------#
+ for_window [app_id="telegram"] opacity 1.00
+
+#------------------------------------------#
+# Placing software in a specific workspace #
+#------------------------------------------#
+ assign [app_id="emacs"]: workspace number 1
+ for_window [app_id="emacs"]: focus
+ assign [app_id="firefox"]: workspace number 2
+ for_window [app_id="firefox"] focus
+ assign [app_id="telegram"]: workspace number 3
+ for_window [app_id="telegram"] focus
+
+#---------------------#
+# Focus follows mouse #
+#---------------------#
+ focus_follows_mouse no
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
new file mode 100644
index 0000000..90d3cad
--- /dev/null
+++ b/sway/.config/sway/config
@@ -0,0 +1,341 @@
+### Variables
+#
+# Logo key. Use Mod1 for Alt.
+set $mod Mod4
+
+# Home row direction keys, like vim
+set $left h
+set $down j
+set $up k
+set $right l
+
+# Your preferred terminal emulator
+set $term 'foot'
+
+# Your preferred application launcher
+set $menu 'fuzzel'
+
+# Your preferred browser
+set $browser 'firefox'
+
+# Your preferred notification daemon
+set $notification 'dunst'
+
+# Your preferred clipboard manager
+set $clipboard 'cliphist list | fuzzel --dmenu | cliphist decode | wl-copy'
+
+# Your preferred file manager
+set $filemanager 'foot yazi'
+
+# Your prefered editor
+set $editor 'emacs'
+
+# Import Catppuccin theme defined colors
+include themes/catppuccin-mocha
+
+# target title bg text indicator border
+client.focused $lavender $base $text $rosewater $lavender
+client.focused_inactive $overlay0 $base $text $rosewater $overlay0
+client.unfocused $overlay0 $base $text $rosewater $overlay0
+client.urgent $peach $base $peach $overlay0 $peach
+client.placeholder $overlay0 $base $text $overlay0 $overlay0
+client.background $base
+
+# Setting cursor
+seat seat0 xcursor_theme catppuccin-mocha-lavender-cursors 25
+
+### Output configuration
+#
+# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
+# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+output * bg ~/.config/sway/wallpaper.jpg fill
+
+# Setting default font
+font pango:Noto Sans Regular 10
+
+#
+# Example configuration:
+#
+# output HDMI-A-1 resolution 1920x1080 position 1920,0
+#
+# You can get the names of your outputs by running: swaymsg -t get_outputs
+
+### Idle configuration
+set $lockman exec bash ~/.config/sway/scripts/lockman.sh
+exec swayidle -w \
+ timeout 300 'swaylock -f --font "Noto Sans Regular" --font-size 16' \
+ timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+ before-sleep 'swaylock -f --font "Noto Sans Regular" --font-size 16'
+
+# This will lock your screen after 300 seconds of inactivity, then turn off
+# your displays after another 300 seconds, and turn your screens back on when
+# resumed. It will also lock your screen before your computer goes to sleep.
+
+### Run in background notification daemon
+exec $notification
+
+### Run in background Pipewire session
+exec pipewire
+
+### Run clipboard manager
+exec wl-paste -t text --watch cliphist store
+exec wl-paste -t image --watch cliphist store
+
+### OSD server
+exec swayosd-server
+
+###
+exec $editor
+
+### Screenshot tool
+exec flameshot
+
+# Simulate master layout
+exec autotiling --limit 2
+
+exec dbus-update-activation-environment DISPLAY XAUTHORITY WAYLAND_DISPLAY
+
+#----------------#
+# set gtk+ theme #
+#----------------#
+set $gnome-schema org.gnome.desktop.interface
+exec_always {
+ gsettings set $gnome-schema gtk-theme 'Catppuccin'
+ gsettings set $gnome-schema icon-theme 'Papirus-Dark'
+ gsettings set $gnome-schema cursor-theme 'Catppuccin-cursor'
+ gsettings set $gnome-schema font-name 'Noto Sans Regular 10'
+}
+
+### Input configuration
+#
+# Example configuration:
+#
+# input type:touchpad {
+# dwt enabled
+# tap enabled
+# natural_scroll enabled
+# middle_emulation enabled
+# }
+#
+# input type:keyboard {
+# xkb_layout "eu"
+# }
+#
+# You can also configure each device individually.
+# Read `man 5 sway-input` for more information about this section.
+
+ input type:touchpad {
+ dwt enabled
+ tap enabled
+ natural_scroll enabled
+ middle_emulation enabled
+ }
+
+ input type:keyboard {
+ xkb_layout "us(intl)"
+ xkb_options "grp:win_space_toggle"
+ }
+
+### 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
+
+ # Start my browser
+ bindsym $mod+Shift+b exec $browser
+
+ # Start my clipboard manager
+ bindsym $mod+Shift+v exec $clipboard
+
+ # Start my file manager
+ bindsym $mod+Shift+f exec $filemanager
+
+ # 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'
+ bindsym $mod+Shift+e exec wlogout
+
+ # Waybar toggle
+ bindsym $mod+o exec killall -SIGUSR1 waybar
+
+#
+# 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
+
+ bindsym $mod+period workspace next
+ bindsym $mod+comma workspace prev
+
+#
+# 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+b 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%+
+
+ # Client commands for SwayOSD
+ # For enable this service start systemd service swayosd-libinput-backend.service
+
+ # Sink volume toggle mute
+ bindsym XF86AudioMute exec swayosd-client --output-volume mute-toggle
+ # Source volume toggle mute
+ bindsym XF86AudioMicMute exec swayosd-client --input-volume mute-toggle
+ # Volume raise with custom value
+ bindsym XF86AudioRaiseVolume exec swayosd-client --output-volume 5
+ # Volume lower with custom value
+ bindsym XF86AudioLowerVolume exec swayosd-client --output-volume -5
+ # Capslock (If you don't want to use the backend)
+ bindsym --release Caps_Lock exec swayosd-client --caps-lock
+ # Brightness raise with custom value('+' sign needed)
+ bindsym XF86MonBrightnessUp exec swayosd-client --brightness +5
+ # Brightness lower with custom value('-' sign needed)
+ bindsym XF86MonBrightnessDown exec swayosd-client --brightness -5
+ # Special key to take a screenshot with grim
+ # bindsym Print exec ~/.config/sway/scripts/screenshot.sh
+ bindsym Print exec flameshot gui
+ # Lock the screen
+ bindsym $mod+Alt+l exec $lockman
+
+#
+# Status Bar:
+#
+# Read `man 5 sway-bar` for more information about this section.
+bar {
+ swaybar_command waybar
+}
+
+include $HOME/.config/sway/conf.d/*.conf
diff --git a/sway/.config/sway/outputs b/sway/.config/sway/outputs
new file mode 100644
index 0000000..e69de29
diff --git a/sway/.config/sway/scripts/lockman.sh b/sway/.config/sway/scripts/lockman.sh
new file mode 100755
index 0000000..a959d3d
--- /dev/null
+++ b/sway/.config/sway/scripts/lockman.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Times the screen off and puts it to background
+swayidle \
+ timeout 10 'swaymsg "output * dpms off"' \
+ resume 'swaymsg "output * dpms on"' &
+# Locks the screen immediately
+swaylock -f --font "Noto Sans Regular" --font-size 16
+# Kills last background task so idle timer doesn't keep running
+kill %%
diff --git a/sway/.config/sway/scripts/monitor_layout_selector.sh b/sway/.config/sway/scripts/monitor_layout_selector.sh
new file mode 100755
index 0000000..ebb03f6
--- /dev/null
+++ b/sway/.config/sway/scripts/monitor_layout_selector.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/wlr-layouts"
+LAYOUT_TOOL="wlr-randr"
+
+mkdir -p "$CONFIG_DIR"
+
+# Verifica che fzf sia installato
+if ! command -v fzf > /dev/null 2>&1; then
+ echo "Errore: fzf non รจ installato." >&2
+ exit 1
+fi
+
+# Verifica che fyi sia installato
+if ! command -v fyi > /dev/null 2>&1; then
+ echo "Errore: fyi non รจ installato." >&2
+ exit 1
+fi
+
+# Funzione: applica layout selezionato
+apply_layout() {
+ local layout_file="$1"
+ if [ -f "$layout_file" ]; then
+ while IFS= read -r line; do
+ [ -n "$line" ] && eval "$line"
+ done < "$layout_file"
+ fyi "Applied layout: $(basename "$layout_file")"
+ else
+ echo "File layout non trovato: $layout_file" >&2
+ exit 2
+ fi
+}
+
+# Seleziona layout via fzf con preview
+SELECTED_FILE=$(find "$CONFIG_DIR" -type f -name '*.layout' \
+ | fzf --prompt="Select layout > " \
+ --preview="cat {}" \
+ --preview-window=down:50%:wrap)
+
+# Applica se selezionato
+if [ -n "$SELECTED_FILE" ]; then
+ apply_layout "$SELECTED_FILE"
+fi
diff --git a/sway/.config/sway/scripts/screenshot.sh b/sway/.config/sway/scripts/screenshot.sh
new file mode 100755
index 0000000..15a4a7e
--- /dev/null
+++ b/sway/.config/sway/scripts/screenshot.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+file="$HOME/Pictures/Screenshots/$(date +%Y-%m-%dT%H:%M:%S).png"
+thumb="/tmp/screenshot-thumb.png"
+grim "$file" \
+ && wl-copy < "$file" \
+ && magick "$file" -resize 640x480 "$thumb" \
+ && fyi -i "$thumb" "๐ธ Catch screenshot"
diff --git a/sway/.config/sway/themes/catppuccin-frappe b/sway/.config/sway/themes/catppuccin-frappe
new file mode 100644
index 0000000..227d2cb
--- /dev/null
+++ b/sway/.config/sway/themes/catppuccin-frappe
@@ -0,0 +1,26 @@
+set $rosewater #f2d5cf
+set $flamingo #eebebe
+set $pink #f4b8e4
+set $mauve #ca9ee6
+set $red #e78284
+set $maroon #ea999c
+set $peach #ef9f76
+set $yellow #e5c890
+set $green #a6d189
+set $teal #81c8be
+set $sky #99d1db
+set $sapphire #85c1dc
+set $blue #8caaee
+set $lavender #babbf1
+set $text #c6d0f5
+set $subtext1 #b5bfe2
+set $subtext0 #a5adce
+set $overlay2 #949cbb
+set $overlay1 #838ba7
+set $overlay0 #737994
+set $surface2 #626880
+set $surface1 #51576d
+set $surface0 #414559
+set $base #303446
+set $mantle #292c3c
+set $crust #232634
diff --git a/sway/.config/sway/themes/catppuccin-latte b/sway/.config/sway/themes/catppuccin-latte
new file mode 100644
index 0000000..b5164c6
--- /dev/null
+++ b/sway/.config/sway/themes/catppuccin-latte
@@ -0,0 +1,26 @@
+set $rosewater #dc8a78
+set $flamingo #dd7878
+set $pink #ea76cb
+set $mauve #8839ef
+set $red #d20f39
+set $maroon #e64553
+set $peach #fe640b
+set $yellow #df8e1d
+set $green #40a02b
+set $teal #179299
+set $sky #04a5e5
+set $sapphire #209fb5
+set $blue #1e66f5
+set $lavender #7287fd
+set $text #4c4f69
+set $subtext1 #5c5f77
+set $subtext0 #6c6f85
+set $overlay2 #7c7f93
+set $overlay1 #8c8fa1
+set $overlay0 #9ca0b0
+set $surface2 #acb0be
+set $surface1 #bcc0cc
+set $surface0 #ccd0da
+set $base #eff1f5
+set $mantle #e6e9ef
+set $crust #dce0e8
diff --git a/sway/.config/sway/themes/catppuccin-macchiato b/sway/.config/sway/themes/catppuccin-macchiato
new file mode 100644
index 0000000..7523f26
--- /dev/null
+++ b/sway/.config/sway/themes/catppuccin-macchiato
@@ -0,0 +1,26 @@
+set $rosewater #f4dbd6
+set $flamingo #f0c6c6
+set $pink #f5bde6
+set $mauve #c6a0f6
+set $red #ed8796
+set $maroon #ee99a0
+set $peach #f5a97f
+set $yellow #eed49f
+set $green #a6da95
+set $teal #8bd5ca
+set $sky #91d7e3
+set $sapphire #7dc4e4
+set $blue #8aadf4
+set $lavender #b7bdf8
+set $text #cad3f5
+set $subtext1 #b8c0e0
+set $subtext0 #a5adcb
+set $overlay2 #939ab7
+set $overlay1 #8087a2
+set $overlay0 #6e738d
+set $surface2 #5b6078
+set $surface1 #494d64
+set $surface0 #363a4f
+set $base #24273a
+set $mantle #1e2030
+set $crust #181926
diff --git a/sway/.config/sway/themes/catppuccin-mocha b/sway/.config/sway/themes/catppuccin-mocha
new file mode 100644
index 0000000..77749f6
--- /dev/null
+++ b/sway/.config/sway/themes/catppuccin-mocha
@@ -0,0 +1,26 @@
+set $rosewater #f5e0dc
+set $flamingo #f2cdcd
+set $pink #f5c2e7
+set $mauve #cba6f7
+set $red #f38ba8
+set $maroon #eba0ac
+set $peach #fab387
+set $yellow #f9e2af
+set $green #a6e3a1
+set $teal #94e2d5
+set $sky #89dceb
+set $sapphire #74c7ec
+set $blue #89b4fa
+set $lavender #b4befe
+set $text #cdd6f4
+set $subtext1 #bac2de
+set $subtext0 #a6adc8
+set $overlay2 #9399b2
+set $overlay1 #7f849c
+set $overlay0 #6c7086
+set $surface2 #585b70
+set $surface1 #45475a
+set $surface0 #313244
+set $base #1e1e2e
+set $mantle #181825
+set $crust #11111b
diff --git a/sway/.config/sway/wallpaper.jpg b/sway/.config/sway/wallpaper.jpg
new file mode 100644
index 0000000..4df9b54
Binary files /dev/null and b/sway/.config/sway/wallpaper.jpg differ
diff --git a/sway/.config/sway/workspaces b/sway/.config/sway/workspaces
new file mode 100644
index 0000000..e69de29
diff --git a/sway/.config/swaylock/config b/sway/.config/swaylock/config
new file mode 100644
index 0000000..2f465a1
--- /dev/null
+++ b/sway/.config/swaylock/config
@@ -0,0 +1,30 @@
+image=~/.config/swaylock/current_bg
+color=1e1e2e
+bs-hl-color=f5e0dc
+caps-lock-bs-hl-color=f5e0dc
+caps-lock-key-hl-color=a6e3a1
+inside-color=00000000
+inside-clear-color=00000000
+inside-caps-lock-color=00000000
+inside-ver-color=00000000
+inside-wrong-color=00000000
+key-hl-color=a6e3a1
+layout-bg-color=00000000
+layout-border-color=00000000
+layout-text-color=cdd6f4
+line-color=00000000
+line-clear-color=00000000
+line-caps-lock-color=00000000
+line-ver-color=00000000
+line-wrong-color=00000000
+ring-color=b4befe
+ring-clear-color=f5e0dc
+ring-caps-lock-color=fab387
+ring-ver-color=89b4fa
+ring-wrong-color=eba0ac
+separator-color=00000000
+text-color=cdd6f4
+text-clear-color=f5e0dc
+text-caps-lock-color=fab387
+text-ver-color=89b4fa
+text-wrong-color=eba0ac
diff --git a/sway/.config/swaylock/current_bg b/sway/.config/swaylock/current_bg
new file mode 100644
index 0000000..becfe68
Binary files /dev/null and b/sway/.config/swaylock/current_bg differ
diff --git a/sway/.config/swayosd/style.css b/sway/.config/swayosd/style.css
new file mode 100644
index 0000000..ac58701
--- /dev/null
+++ b/sway/.config/swayosd/style.css
@@ -0,0 +1,43 @@
+* {
+ font-family: "Noto Sans Regular";
+ font-size: 12pt;
+}
+
+window#osd {
+ border-radius: 999px;
+ border: none;
+ background: #{"alpha(@theme_bg_color, 0.8)"};
+
+ #container {
+ margin: 16px;
+ }
+
+ image,
+ label {
+ color: #{"@theme_fg_color"};
+ }
+
+ progressbar:disabled,
+ image:disabled {
+ opacity: 0.5;
+ }
+
+ progressbar {
+ min-height: 6px;
+ border-radius: 999px;
+ background: transparent;
+ border: none;
+ }
+ trough {
+ min-height: inherit;
+ border-radius: inherit;
+ border: none;
+ background: #{"alpha(@theme_fg_color, 0.5)"};
+ }
+ progress {
+ min-height: inherit;
+ border-radius: inherit;
+ border: none;
+ background: #{"@theme_fg_color"};
+ }
+}
diff --git a/sway/.config/waybar/config.jsonc b/sway/.config/waybar/config.jsonc
new file mode 100644
index 0000000..b27244d
--- /dev/null
+++ b/sway/.config/waybar/config.jsonc
@@ -0,0 +1,164 @@
+{
+ "layer": "top", // Waybar at top layer
+ "position": "top", // Waybar position (top|bottom|left|right)
+ "modules-left": [
+ "sway/workspaces"
+ ],
+ "modules-center": [
+ "custom/music"
+ ],
+ "modules-right": [
+ "temperature",
+ "memory",
+ "cpu",
+ "pulseaudio",
+ "backlight",
+ "network",
+ "bluetooth",
+ "battery",
+ "clock",
+ "custom/powermenu",
+ "tray"
+ ],
+ "custom/launcher": {
+ "format": "๏ " ,
+ "on-click": "fuzzel &",
+ "tooltip": false
+ },
+ "sway/workspaces": {
+ "disable-scroll": true,
+ "disable-markup": false,
+ "all-outputs": true,
+ "sort-by-number": true,
+ "format": "{index}",
+ "on-click": "activate",
+ "format-icons": {
+ "1": "๏ ",
+ "2": "๏ฉ",
+ "3": "๏ก",
+ "4": "๏ผ",
+ "5": "๏ต",
+ "urgent": "๏ช",
+ "active": "๏",
+ "default": "๏"
+ },
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "๏ฎ",
+ "deactivated": "๏ฐ"
+ },
+ "tooltip": false
+ },
+ "backlight": {
+ "device": "intel_backlight",
+ "on-scroll-up": "light -A 5",
+ "on-scroll-down": "light -U 5",
+ "format": "{percent}% {icon}",
+ "format-icons": [ "๎", "๎", "๎", "๎", "๎", "๎", "๎", "๎", "๎" ]
+ },
+ "pulseaudio": {
+ "scroll-step": 1,
+ "format": "{volume}% {icon}",
+ "format-muted": "๏ฆ {format_source}",
+ "format-icons": {
+ "headphone": "๏ฅ",
+ "phone": "๏",
+ "portable": "๏",
+ "car": "๏น",
+ "default": ["๏ฆ", "๏ง", "๏จ "]
+ },
+ "on-click": "pavucontrol &",
+ //"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
+ },
+ "battery": {
+ "interval": 10,
+ "states": {
+ "warning": 20,
+ "critical": 10
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ๓ฐ",
+ "format-plugged": "{capacity}% ๏ฆ",
+ "format-alt": "{time} {icon}",
+ "format-icons": [ "๓ฐบ", "๓ฐป", "๓ฐผ", "๓ฐฝ", "๓ฐพ", "๓ฐฟ", "๓ฐ", "๓ฐ", "๓ฐ" ]
+ },
+ "clock": {
+ "interval": 1,
+ "timezone": "Europe/Rome",
+ "format": "{:%I:%M %p}",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%A %d/%m/%Y}",
+ },
+ "memory": {
+ "interval": 1,
+ "format": "{percentage}% ๏",
+ "states": {
+ "warning": 85,
+ },
+ },
+ "cpu": {
+ "interval": 1,
+ "format": "{usage}% ๏",
+ "tooltip": false
+ },
+ "mpd": {
+ "max-length": 25,
+ "format": "๏ {title}",
+ "format-paused": "๏ {title}",
+ "format-stopped":"๏",
+ "format-disconnected": "",
+ "on-click": "mpc --quiet toggle",
+ "on-click-right": "mpc ls | mpc add",
+ "on-click-middle": "kitty ncmpcpp",
+ "on-scroll-up": "mpc --quiet prev",
+ "on-scroll-down": "mpc --quiet next",
+ "smooth-scrolling-threshold":5,
+ "tooltip-format": "{title} - {artist} ({elapsedTime:%M:%S}/{totalTime:%H:%M:%S})"
+ },
+ "network": {
+ "interval": 1,
+ "tooltip": true,
+ "format-wifi": "{icon}",
+ "format-ethernet": "{icon}",
+ "format-linked": "๓ฐ",
+ "format-icons": ["๓ฐค", "๓ฐคข", "๓ฐคฅ", "๓ฐคจ"],
+ "format-disconnected": "๓ฐ",
+ "tooltip-format": "{ifname}",
+ "tooltip-format-wifi": "{essid} ({signalStrength}%) ๏ซ ",
+ "tooltip-format-ethernet": "{ifname} ๏ ",
+ "tooltip-format-disconnected": "Disconnected",
+ "on-click": "nm-connection-editor &",
+ },
+ "temperature": {
+ "hwmon-path": "/sys/class/hwmon/hwmon6/temp2_input",
+ "tooltip": false,
+ "format": "{temperatureC}ยฐC ๏"
+ },
+ "custom/powermenu": {
+ "format": "๏",
+ "on-click": "wlogout &",
+ "tooltip": false
+ },
+ "tray": {
+ "icon-size": 15,
+ "spacing": 5
+ },
+ "bluetooth": {
+ "format": "๏",
+ "format-connected": "{device_alias} ๏",
+ "format-connected-battery": "{device_alias} {device_battery_percentage}% ๏",
+ "format-off": "๓ฐฒ", // "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device
+ "tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
+ "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
+ "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
+ "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
+ "on-click": "blueman-manager &"
+ },
+ "custom/music": {
+ "format": "{}",
+ "return-type": "json",
+ "exec": "waybar-module-music",
+ }
+}
diff --git a/sway/.config/waybar/style.css b/sway/.config/waybar/style.css
new file mode 100644
index 0000000..38a2baa
--- /dev/null
+++ b/sway/.config/waybar/style.css
@@ -0,0 +1,145 @@
+@import "themes/mocha.css";
+
+* {
+ font-family: "ComicShannsMono Nerd Font";
+ font-size: 12pt;
+ font-weight: bold;
+ border-radius: 0px;
+ transition-property: background-color;
+ transition-duration: 0.5s;
+}
+@keyframes blink_red {
+ to {
+ background-color: @flamingo;
+ color: @mantle;
+ }
+}
+.warning, .critical, .urgent {
+ animation-name: blink_red;
+ animation-duration: 1s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+window#waybar {
+ background-color: transparent;
+}
+window > box {
+ /* margin-left: 5px; */
+ /* margin-right: 5px; */
+ /* margin-top: 5px; */
+ background-color: @base;
+}
+#workspaces {
+ padding-left: 0px;
+ padding-right: 4px;
+}
+#workspaces button {
+ color: @teal;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ padding-left: 6px;
+ padding-right: 6px;
+}
+#workspaces button.focused {
+ background-color: @teal;
+ color: @mantle;
+}
+#workspaces button.urgent {
+ color: @mantle;
+}
+#workspaces button:hover {
+ background-color: @peach;
+ color: @mantle;
+}
+tooltip {
+ background: @surface0;
+}
+tooltip label {
+ color: @text;
+}
+#custom-launcher {
+ padding-left: 8px;
+ padding-right: 6px;
+ color: @mauve;
+}
+#mode, #clock, #memory, #temperature, #cpu, #mpd, #idle_inhibitor, #temperature, #backlight, #pulseaudio, #network, #battery, #custom-powermenu, #bluetooth, #custom-music {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+#memory {
+ color: @teal;
+}
+#cpu {
+ color: @pink;
+}
+#clock {
+ color: @text;
+}
+#idle_inhibitor {
+ color: @mauve;
+}
+#temperature {
+ color: @sapphire;
+}
+#backlight {
+ color: @peach;
+}
+#pulseaudio {
+ color: @rosewater;
+}
+#network {
+ color: @green;
+}
+#network.disconnected {
+ color: @text;
+}
+#battery {
+ color: @sky;
+}
+#battery.charging {
+ color: @green;
+}
+#battery.full, #battery.discharging {
+ color: @yellow;
+}
+#battery.critical:not(.charging) {
+ color: @red;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+#custom-powermenu {
+ color: @red;
+}
+#tray {
+ padding-right: 8px;
+ padding-left: 10px;
+}
+#mpd.paused {
+ color: @blue;
+ font-style: italic;
+}
+#mpd.stopped {
+ background: transparent;
+}
+#mpd {
+ color: @sky;
+}
+#bluetooth {
+ color: @blue;
+}
+#custom-launcher {
+ color: @text;
+}
+#custom-music.playing {
+ color: @green;
+}
+#custom-music.paused {
+ color: @maroon;
+}
+#custom-music.stopped {
+ color: @peach;
+}
diff --git a/sway/.config/waybar/themes/frappe.css b/sway/.config/waybar/themes/frappe.css
new file mode 100644
index 0000000..c06b8fb
--- /dev/null
+++ b/sway/.config/waybar/themes/frappe.css
@@ -0,0 +1,26 @@
+@define-color rosewater #f2d5cf;
+@define-color flamingo #eebebe;
+@define-color pink #f4b8e4;
+@define-color mauve #ca9ee6;
+@define-color red #e78284;
+@define-color maroon #ea999c;
+@define-color peach #ef9f76;
+@define-color yellow #e5c890;
+@define-color green #a6d189;
+@define-color teal #81c8be;
+@define-color sky #99d1db;
+@define-color sapphire #85c1dc;
+@define-color blue #8caaee;
+@define-color lavender #babbf1;
+@define-color text #c6d0f5;
+@define-color subtext1 #b5bfe2;
+@define-color subtext0 #a5adce;
+@define-color overlay2 #949cbb;
+@define-color overlay1 #838ba7;
+@define-color overlay0 #737994;
+@define-color surface2 #626880;
+@define-color surface1 #51576d;
+@define-color surface0 #414559;
+@define-color base #303446;
+@define-color mantle #292c3c;
+@define-color crust #232634;
diff --git a/sway/.config/waybar/themes/latte.css b/sway/.config/waybar/themes/latte.css
new file mode 100644
index 0000000..bb101b1
--- /dev/null
+++ b/sway/.config/waybar/themes/latte.css
@@ -0,0 +1,26 @@
+@define-color rosewater #dc8a78;
+@define-color flamingo #dd7878;
+@define-color pink #ea76cb;
+@define-color mauve #8839ef;
+@define-color red #d20f39;
+@define-color maroon #e64553;
+@define-color peach #fe640b;
+@define-color yellow #df8e1d;
+@define-color green #40a02b;
+@define-color teal #179299;
+@define-color sky #04a5e5;
+@define-color sapphire #209fb5;
+@define-color blue #1e66f5;
+@define-color lavender #7287fd;
+@define-color text #4c4f69;
+@define-color subtext1 #5c5f77;
+@define-color subtext0 #6c6f85;
+@define-color overlay2 #7c7f93;
+@define-color overlay1 #8c8fa1;
+@define-color overlay0 #9ca0b0;
+@define-color surface2 #acb0be;
+@define-color surface1 #bcc0cc;
+@define-color surface0 #ccd0da;
+@define-color base #eff1f5;
+@define-color mantle #e6e9ef;
+@define-color crust #dce0e8;
diff --git a/sway/.config/waybar/themes/macchiato.css b/sway/.config/waybar/themes/macchiato.css
new file mode 100644
index 0000000..112ee32
--- /dev/null
+++ b/sway/.config/waybar/themes/macchiato.css
@@ -0,0 +1,26 @@
+@define-color rosewater #f4dbd6;
+@define-color flamingo #f0c6c6;
+@define-color pink #f5bde6;
+@define-color mauve #c6a0f6;
+@define-color red #ed8796;
+@define-color maroon #ee99a0;
+@define-color peach #f5a97f;
+@define-color yellow #eed49f;
+@define-color green #a6da95;
+@define-color teal #8bd5ca;
+@define-color sky #91d7e3;
+@define-color sapphire #7dc4e4;
+@define-color blue #8aadf4;
+@define-color lavender #b7bdf8;
+@define-color text #cad3f5;
+@define-color subtext1 #b8c0e0;
+@define-color subtext0 #a5adcb;
+@define-color overlay2 #939ab7;
+@define-color overlay1 #8087a2;
+@define-color overlay0 #6e738d;
+@define-color surface2 #5b6078;
+@define-color surface1 #494d64;
+@define-color surface0 #363a4f;
+@define-color base #24273a;
+@define-color mantle #1e2030;
+@define-color crust #181926;
diff --git a/sway/.config/waybar/themes/mocha.css b/sway/.config/waybar/themes/mocha.css
new file mode 100644
index 0000000..0eb6a82
--- /dev/null
+++ b/sway/.config/waybar/themes/mocha.css
@@ -0,0 +1,26 @@
+@define-color rosewater #f5e0dc;
+@define-color flamingo #f2cdcd;
+@define-color pink #f5c2e7;
+@define-color mauve #cba6f7;
+@define-color red #f38ba8;
+@define-color maroon #eba0ac;
+@define-color peach #fab387;
+@define-color yellow #f9e2af;
+@define-color green #a6e3a1;
+@define-color teal #94e2d5;
+@define-color sky #89dceb;
+@define-color sapphire #74c7ec;
+@define-color blue #89b4fa;
+@define-color lavender #b4befe;
+@define-color text #cdd6f4;
+@define-color subtext1 #bac2de;
+@define-color subtext0 #a6adc8;
+@define-color overlay2 #9399b2;
+@define-color overlay1 #7f849c;
+@define-color overlay0 #6c7086;
+@define-color surface2 #585b70;
+@define-color surface1 #45475a;
+@define-color surface0 #313244;
+@define-color base #1e1e2e;
+@define-color mantle #181825;
+@define-color crust #11111b;
diff --git a/sway/.config/wlogout/icons/hibernate.svg b/sway/.config/wlogout/icons/hibernate.svg
new file mode 100644
index 0000000..dc9dcf8
--- /dev/null
+++ b/sway/.config/wlogout/icons/hibernate.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/icons/lock.svg b/sway/.config/wlogout/icons/lock.svg
new file mode 100644
index 0000000..a7832ba
--- /dev/null
+++ b/sway/.config/wlogout/icons/lock.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/icons/logout.svg b/sway/.config/wlogout/icons/logout.svg
new file mode 100644
index 0000000..3e0cc80
--- /dev/null
+++ b/sway/.config/wlogout/icons/logout.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/icons/reboot.svg b/sway/.config/wlogout/icons/reboot.svg
new file mode 100644
index 0000000..bfa5403
--- /dev/null
+++ b/sway/.config/wlogout/icons/reboot.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/icons/shutdown.svg b/sway/.config/wlogout/icons/shutdown.svg
new file mode 100644
index 0000000..2892505
--- /dev/null
+++ b/sway/.config/wlogout/icons/shutdown.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/icons/suspend.svg b/sway/.config/wlogout/icons/suspend.svg
new file mode 100644
index 0000000..c10fb47
--- /dev/null
+++ b/sway/.config/wlogout/icons/suspend.svg
@@ -0,0 +1,7 @@
+
+
+
+
diff --git a/sway/.config/wlogout/style.css b/sway/.config/wlogout/style.css
new file mode 100644
index 0000000..fa7279e
--- /dev/null
+++ b/sway/.config/wlogout/style.css
@@ -0,0 +1,53 @@
+* {
+ font-family: "Noto Sans Regular";
+ font-size: 12pt;
+ background-image: none;
+ box-shadow: none;
+}
+
+window {
+ background-color: rgba(30, 30, 46, 0.90);
+}
+
+button {
+ border-radius: 0;
+ border-color: #89b4fa;
+ text-decoration-color: #cdd6f4;
+ color: #cdd6f4;
+ background-color: #181825;
+ border-style: solid;
+ border-width: 1px;
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 25%;
+}
+
+button:focus, button:active, button:hover {
+ /* 20% Overlay 2, 80% mantle */
+ background-color: rgb(48, 50, 66);
+ outline-style: none;
+}
+
+#lock {
+ background-image: url("/home/fscotto/.config/wlogout/icons/lock.svg");
+}
+
+#logout {
+ background-image: url("/home/fscotto/.config/wlogout/icons/logout.svg");
+}
+
+#suspend {
+ background-image: url("/home/fscotto/.config/wlogout/icons/suspend.svg");
+}
+
+#hibernate {
+ background-image: url("/home/fscotto/.config/wlogout/icons/hibernate.svg");
+}
+
+#shutdown {
+ background-image: url("/home/fscotto/.config/wlogout/icons/shutdown.svg");
+}
+
+#reboot {
+ background-image: url("/home/fscotto/.config/wlogout/icons/reboot.svg");
+}