aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSpacedio <spacedio@thernusen.net>2026-04-26 14:37:07 -0400
committerSpacedio <spacedio@thernusen.net>2026-04-26 14:37:07 -0400
commit96c61a054f8da62dcae64ad9c76885be05826312 (patch)
treed59ca10a31bd36c455aa8b9e964e3c89658111cb
parent18251f226832b5e18834fce7f39650d030fa6a8b (diff)
downloaddotfiles-laptop/x1-carbon.tar.gz
Initial commit of the x1-carbon wayland branch.laptop/x1-carbon
-rw-r--r--README.md4
-rw-r--r--alacritty/.config/alacritty/alacritty.toml2
-rw-r--r--fuzzel/.config/fuzzel/fuzzel.ini19
-rw-r--r--i3/.config/i3/config255
-rw-r--r--lightdm-mini-greeter/etc/lightdm/lightdm-mini-greeter.conf114
-rw-r--r--nvim/.config/nvim/lazy-lock.json23
-rw-r--r--nvim/.config/nvim/lua/plugins/lsp.lua231
-rw-r--r--nvim/.config/nvim/lua/plugins/one-liners.lua16
-rw-r--r--nvim/.config/nvim/lua/plugins/telescope.lua15
-rw-r--r--nvim/.config/nvim/lua/plugins/treesitter.lua35
-rw-r--r--picom/.config/picom/picom.conf67
-rw-r--r--polybar/.config/polybar/colors.ini51
-rw-r--r--polybar/.config/polybar/config.ini222
-rwxr-xr-xpolybar/.config/polybar/launch.sh16
-rwxr-xr-xpolybar/.config/polybar/scripts/mic.sh23
-rw-r--r--rofi/.config/rofi/config.rasi29
-rw-r--r--rofi/.config/rofi/tokyonight.rasi95
-rw-r--r--sway/.config/sway/config228
-rw-r--r--waybar/.config/waybar/config104
-rw-r--r--waybar/.config/waybar/style.css67
20 files changed, 424 insertions, 1192 deletions
diff --git a/README.md b/README.md
index e77a6cc..9fd4286 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
# Project Title
-Dotfiles backup
+Dotfiles backup for X1 Carbon 6th Gen
## Description
Simple repo to store my dotfiles as I experiment with Linux.
+
+This particular branch I am testing Wayland Sway.
diff --git a/alacritty/.config/alacritty/alacritty.toml b/alacritty/.config/alacritty/alacritty.toml
index b4a6a02..9e7f5ab 100644
--- a/alacritty/.config/alacritty/alacritty.toml
+++ b/alacritty/.config/alacritty/alacritty.toml
@@ -9,4 +9,4 @@ x = 6
[font]
normal = { family = "Hasklug Nerd Font Propo", style = "Regular" }
-size = 8
+size = 12
diff --git a/fuzzel/.config/fuzzel/fuzzel.ini b/fuzzel/.config/fuzzel/fuzzel.ini
new file mode 100644
index 0000000..4ff1f84
--- /dev/null
+++ b/fuzzel/.config/fuzzel/fuzzel.ini
@@ -0,0 +1,19 @@
+[main]
+font=Hasklug Nerd Font
+icons-enabled=no
+
+[border]
+radius=0
+
+[colors]
+background=1e1e2eff
+text=cdd6f4ff
+prompt=bac2deff
+placeholder=7f849cff
+input=cdd6f4ff
+match=b4befeff
+selection=585b70ff
+selection-text=cdd6f4ff
+selection-match=b4befeff
+counter=7f849cff
+border=b4befeff
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
deleted file mode 100644
index 85d06a9..0000000
--- a/i3/.config/i3/config
+++ /dev/null
@@ -1,255 +0,0 @@
-# This file has been auto-generated by i3-config-wizard(1).
-# It will not be overwritten, so edit it as you like.
-#
-# Should you change your keyboard layout some time, delete
-# this file and re-run i3-config-wizard(1).
-#
-
-# i3 config file (v4)
-#
-# Please see https://i3wm.org/docs/userguide.html for a complete reference!
-
-set $mod Mod4
-
-# Font for window titles. Will also be used by the bar unless a different font
-# is used in the bar {} block below.
-font pango:Hasklug Nerd Font Mono 12
-
-# This font is widely installed, provides lots of unicode glyphs, right-to-left
-# text rendering and scalability on retina/hidpi displays (thanks to pango).
-# font pango:Hasklug Nerd Font Mono 12
-
-# Start XDG autostart .desktop files using dex. See also
-# https://wiki.archlinux.org/index.php/XDG_Autostart
-exec --no-startup-id dex --autostart --environment i3
-exec --no-startup-id pulseaudio --start &
-exec_always --no-startup-id feh --bg-scale ~/.config/background/bg1.jpg
-exec_always --no-startup-id ~/.config/polybar/launch.sh
-exec_always --no-startup-id "picom --config ~/.config/picom/picom.conf"
-
-# The combination of xss-lock, nm-applet and pactl is a popular choice, so
-# they are included here as an example. Modify as you see fit.
-
-# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
-# screen before suspend. Use loginctl lock-session to lock your screen.
-#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
-
-# NetworkManager is the most popular way to manage wireless networks on Linux,
-# and nm-applet is a desktop environment-independent system tray GUI for it.
-#exec --no-startup-id nm-applet
-
-# Autofocus on hover, also when switching workspaces
- focus_follows_mouse yes
-
- # Borders
- # Also removes all title bars
- for_window [class="^.*"] border pixel 3
- default_border pixel 3
- default_floating_border pixel 3
-
- # Hide borders at the edge of the screen
- hide_edge_borders smart
-
- # Set colours various window states
- # Syntax: client.<class> <border> <background> <text> [<indicator> [<child_border>]]
- # The available classes are:
- # client.focused: The window that has focus.
- # client.focused_inactive: The most recently focused view within a container which is not focused.
- # client.placeholder: Ignored (present for i3 compatibility).
- # client.unfocused: A view that does not have focus.
- # client.urgent: A view with an urgency hint. Note: Native Wayland windows do not support urgency. Urgency only works for Xwayland windows.
- #The meaning of each color is:
- # border: The border around the title bar.
- # background: The background of the title bar.
- # text: The text color of the title bar.
- # indicator: The color used to indicate where a new view will open. In a tiled container, this would paint the right border of the current view if a new view would be opened to the right.
- # child_border: The border around the view itself.
- # The default colors are:
- # class border background text indicator child_border
- # background n/a #ffffff n/a n/a n/a
- # focused #4c7899 #285577 #ffffff #2e9ef4 #285577
- # focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
- # unfocused #333333 #222222 #888888 #292d2e #222222
- # urgent #2f343a #900000 #ffffff #900000 #900000
- # placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
- client.focused #9aa5ce #364A82 #c0caf5 #9aa5ce #9aa5ce
- client.focused_inactive #16161d #16161d #c0caf5 #16161d #16161d
- client.unfocused #16161d #16161d #c0caf5 #16161d #16161d
-
- # Gaps
- # gaps inner|outer|horizontal|vertical|top|right|bottom|left <amount>
- # Sets default amount pixels of inner or outer gap
- # the inner affects spacing around each view
- # the outer affects the spacing around each workspace
- # To reduce or remove outer gaps, outer gaps can be set to a negative value.
- gaps inner 0
- gaps outer 0
- gaps top 0
- gaps bottom 0
-
- # Hide gaps when there is only 1 window
- smart_gaps on
-
-
-
-
-
-
-
-# Use pactl to adjust volume in PulseAudio.
-set $refresh_i3status killall -SIGUSR1 i3status
-bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
-bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
-bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
-bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
-
-# Use Mouse+$mod to drag floating windows to their wanted position
-floating_modifier $mod
-
-# move tiling windows via drag & drop by left-clicking into the title bar,
-# or left-clicking anywhere into the window while holding the floating modifier.
-tiling_drag modifier titlebar
-
-# start a terminal
-bindsym $mod+Return exec alacritty
-
-# kill focused window
-bindsym $mod+Shift+q kill
-
-# start dmenu (a program launcher)
-bindsym $mod+d exec --no-startup-id rofi -show drun
-bindsym $mod+b exec firefox
-# A more modern dmenu replacement is rofi:
-# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
-# There also is i3-dmenu-desktop which only displays applications shipping a
-# .desktop file. It is a wrapper around dmenu, so you need that installed.
-# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
-
-# change focus
-bindsym $mod+h focus left
-bindsym $mod+j focus down
-bindsym $mod+k focus up
-bindsym $mod+l focus right
-
-# alternatively, you can use the cursor keys:
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-# move focused window
-bindsym $mod+Shift+h move left
-bindsym $mod+Shift+j move down
-bindsym $mod+Shift+k move up
-bindsym $mod+Shift+l move right
-
-# alternatively, you can use the cursor 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
-
-# split in horizontal orientation
-bindsym $mod+z split h
-
-# split in vertical orientation
-bindsym $mod+v split v
-
-# enter fullscreen mode for the focused container
-bindsym $mod+f fullscreen toggle
-
-# change container layout (stacked, tabbed, toggle split)
-bindsym $mod+s layout stacking
-bindsym $mod+w layout tabbed
-bindsym $mod+e layout toggle split
-
-# toggle tiling / floating
-bindsym $mod+Shift+space floating toggle
-
-# change focus between tiling / floating windows
-bindsym $mod+space focus mode_toggle
-
-# focus the parent container
-bindsym $mod+a focus parent
-
-# focus the child container
-#bindsym $mod+d focus child
-
-# Define names for default workspaces for which we configure key bindings later on.
-# We use variables to avoid repeating the names in multiple places.
-set $ws1 "1"
-set $ws2 "2"
-set $ws3 "3"
-set $ws4 "4"
-set $ws5 "5"
-set $ws6 "6"
-set $ws7 "7"
-set $ws8 "8"
-set $ws9 "9"
-set $ws10 "10"
-
-# switch to workspace
-bindsym $mod+1 workspace number $ws1
-bindsym $mod+2 workspace number $ws2
-bindsym $mod+3 workspace number $ws3
-bindsym $mod+4 workspace number $ws4
-bindsym $mod+5 workspace number $ws5
-bindsym $mod+6 workspace number $ws6
-bindsym $mod+7 workspace number $ws7
-bindsym $mod+8 workspace number $ws8
-bindsym $mod+9 workspace number $ws9
-bindsym $mod+0 workspace number $ws10
-
-# move focused container to workspace
-bindsym $mod+Shift+1 move container to workspace number $ws1
-bindsym $mod+Shift+2 move container to workspace number $ws2
-bindsym $mod+Shift+3 move container to workspace number $ws3
-bindsym $mod+Shift+4 move container to workspace number $ws4
-bindsym $mod+Shift+5 move container to workspace number $ws5
-bindsym $mod+Shift+6 move container to workspace number $ws6
-bindsym $mod+Shift+7 move container to workspace number $ws7
-bindsym $mod+Shift+8 move container to workspace number $ws8
-bindsym $mod+Shift+9 move container to workspace number $ws9
-bindsym $mod+Shift+0 move container to workspace number $ws10
-
-# reload the configuration file
-bindsym $mod+Shift+c reload
-# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
-bindsym $mod+Shift+r restart
-# exit i3 (logs you out of your X session)
-bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
-
-# resize window (you can also use the mouse for that)
-mode "resize" {
- # These bindings trigger as soon as you enter the resize mode
-
- # Pressing left will shrink the window’s width.
- # Pressing right will grow the window’s width.
- # Pressing up will shrink the window’s height.
- # Pressing down will grow the window’s height.
- bindsym j resize shrink width 10 px or 10 ppt
- bindsym k resize grow height 10 px or 10 ppt
- bindsym l resize shrink height 10 px or 10 ppt
- bindsym semicolon resize grow width 10 px or 10 ppt
-
- # same bindings, but for the arrow keys
- bindsym Left resize shrink width 10 px or 10 ppt
- bindsym Down resize grow height 10 px or 10 ppt
- bindsym Up resize shrink height 10 px or 10 ppt
- bindsym Right resize grow width 10 px or 10 ppt
-
- # back to normal: Enter or Escape or $mod+r
- bindsym Return mode "default"
- bindsym Escape mode "default"
- bindsym $mod+r mode "default"
-}
-
-bindsym $mod+r mode "resize"
-
-assign [class="Firefox"] $ws2
-
-# Start i3bar to display a workspace bar (plus the system information i3status
-# finds out, if available)
-#bar {
-# status_command i3status
-#}
diff --git a/lightdm-mini-greeter/etc/lightdm/lightdm-mini-greeter.conf b/lightdm-mini-greeter/etc/lightdm/lightdm-mini-greeter.conf
deleted file mode 100644
index a51d15d..0000000
--- a/lightdm-mini-greeter/etc/lightdm/lightdm-mini-greeter.conf
+++ /dev/null
@@ -1,114 +0,0 @@
-# LightDM Mini Greeter Configuration
-#
-# To test your configuration out, run: lightdm --test-mode
-
-[greeter]
-# The user to login as.
-user = void
-# Whether to show the password input's label.
-show-password-label = true
-# The text of the password input's label.
-password-label-text = Password:
-# The text shown when an invalid password is entered. May be blank.
-invalid-password-text = Invalid Password
-# Show a blinking cursor in the password input.
-show-input-cursor = true
-# The text alignment for the password input. Possible values are:
-# "left", "center", or "right"
-password-alignment = right
-# The number of characters that should fit into the password input.
-# A value of -1 will use GTK's default width.
-# Note: The entered width is a suggestion, GTK may render a narrower input.
-password-input-width = -1
-# Show the background image on all monitors or just the primary monitor.
-show-image-on-all-monitors = false
-# Show system info above the password input.
-# `<user>@<hostname>` is shown on the left side, & current time on the right.
-show-sys-info = true
-
-
-[greeter-hotkeys]
-# The modifier key used to trigger hotkeys. Possible values are:
-# "alt", "control" or "meta"
-# meta is also known as the "Windows"/"Super" key
-mod-key = meta
-# Power management shortcuts (single-key, case-sensitive)
-shutdown-key = s
-restart-key = r
-hibernate-key = h
-suspend-key = u
-# Cycle through available sessions
-session-key = e
-
-
-[greeter-theme]
-# A color from X11's `rgb.txt` file, a quoted hex string(`"#rrggbb"`) or a
-# RGB color(`rgb(r,g,b)`) are all acceptable formats.
-
-# The font to use for all text
-font = "Hasklug Nerd Font Propo"
-# The font size to use for all text
-font-size = 1em
-# The font weight to use for all text
-font-weight = medium
-# The font style to use for all text
-font-style = normal
-# The default text color
-text-color = "#9c0911"
-# The color of the error text
-error-color = "#F8F8F0"
-# An absolute path to an optional background image.
-# Note: The file should be somewhere that LightDM has permissions to read
-# (e.g., /etc/lightdm/).
-background-image = "/usr/share/backgrounds/login.png"
-# Background image size:
-# auto: unscaled
-# cover: scale image to fill screen space
-# contain: scale image to fit inside screen space
-# (more options: https://www.w3.org/TR/css-backgrounds-3/#background-size)
-background-image-size = contain
-# The screen's background color.
-background-color = "#1B1D1E"
-# The password window's background color
-window-color = "#151515"
-# The color of the password window's border
-border-color = "#9c0911"
-# The width of the password window's border.
-# A trailing `px` is required.
-border-width = 1px
-# The pixels of empty space around the password input.
-# Do not include a trailing `px`.
-layout-space = 15
-# The character used to mask your password. Possible values are:
-# "-1", "0", or a single unicode character(including emojis)
-# A value of -1 uses the default bullet & 0 displays no characters when you
-# type your password.
-password-character = -1
-# The color of the text in the password input.
-password-color = "#F8F8F0"
-# The background color of the password input.
-password-background-color = "#151515"
-# The color of the password input's border.
-# Falls back to `border-color` if missing.
-password-border-color = "#080800"
-# The width of the password input's border.
-# Falls back to `border-width` if missing.
-password-border-width = 0px
-# The border radius of the password input.
-password-border-radius = 0em
-# Override font for system info
-# Falls back to `font` if missing.
-# sys-info-font = "Mono"
-# Set font size of system info
-# Falls back to `font-size` if missing.
-sys-info-font-size = 0.8em
-# Override color for system info text
-# Falls back to `text-color` if missing.
-# sys-info-color = "#080800"
-# Margins around the system info section
-# The default `-5px -5px -5px` works well with the password label enabled.
-# If you have the label disabled, you might want to try `-5px -5px 0px`
-sys-info-margin = -5px -5px -5px
-# Relative position of window on screen (0-1 float)
-x-pos = 0.15
-y-pos = 0.5
diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json
index 48dfe4f..f3c3533 100644
--- a/nvim/.config/nvim/lazy-lock.json
+++ b/nvim/.config/nvim/lazy-lock.json
@@ -1,25 +1,6 @@
{
- "LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
- "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
- "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
- "cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
- "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
- "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
- "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
- "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
+ "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "6c4830e37743b060d13c9269394176aea6a0fbc8" },
- "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
- "nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
- "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
- "nvim-highlight-colors": { "branch": "main", "commit": "e2cb22089cc2358b2b995c09578224f142de6039" },
- "nvim-lspconfig": { "branch": "master", "commit": "b7dcde3e6195b43476ae799720b177aedc16d44c" },
- "nvim-osc52": { "branch": "main", "commit": "04cfaba1865ae5c53b6f887c3ca7304973824fb2" },
- "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" },
- "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
- "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
- "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
- "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
- "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }
+ "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }
}
diff --git a/nvim/.config/nvim/lua/plugins/lsp.lua b/nvim/.config/nvim/lua/plugins/lsp.lua
deleted file mode 100644
index 2e2c368..0000000
--- a/nvim/.config/nvim/lua/plugins/lsp.lua
+++ /dev/null
@@ -1,231 +0,0 @@
-return {
- 'neovim/nvim-lspconfig',
- dependencies = {
- 'williamboman/mason.nvim',
- 'williamboman/mason-lspconfig.nvim',
- -- Autocompletion
- 'hrsh7th/nvim-cmp',
- 'hrsh7th/cmp-buffer',
- 'hrsh7th/cmp-path',
- 'saadparwaiz1/cmp_luasnip',
- 'hrsh7th/cmp-nvim-lsp',
- 'hrsh7th/cmp-nvim-lua',
- -- Snippets
- 'L3MON4D3/LuaSnip',
- 'rafamadriz/friendly-snippets',
- },
- config = function()
- local autoformat_filetypes = {
- "lua",
- }
- -- Create a keymap for vim.lsp.buf.implementation
- vim.api.nvim_create_autocmd('LspAttach', {
- callback = function(args)
- local client = vim.lsp.get_client_by_id(args.data.client_id)
- if not client then return end
- if vim.tbl_contains(autoformat_filetypes, vim.bo.filetype) then
- vim.api.nvim_create_autocmd("BufWritePre", {
- buffer = args.buf,
- callback = function()
- vim.lsp.buf.format({
- formatting_options = { tabSize = 4, insertSpaces = true },
- bufnr = args.buf,
- id = client.id
- })
- end
- })
- end
- end
- })
-
- -- Add borders to floating windows
- vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(
- vim.lsp.handlers.hover,
- { border = 'rounded' }
- )
- vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(
- vim.lsp.handlers.signature_help,
- { border = 'rounded' }
- )
-
- -- Configure error/warnings interface
- vim.diagnostic.config({
- virtual_text = true,
- severity_sort = true,
- float = {
- style = 'minimal',
- border = 'rounded',
- header = '',
- prefix = '',
- },
- signs = {
- text = {
- [vim.diagnostic.severity.ERROR] = '✘',
- [vim.diagnostic.severity.WARN] = '▲',
- [vim.diagnostic.severity.HINT] = '⚑',
- [vim.diagnostic.severity.INFO] = '»',
- },
- },
- })
-
- -- Add cmp_nvim_lsp capabilities settings to lspconfig
- -- This should be executed before you configure any language server
- local lspconfig_defaults = require('lspconfig').util.default_config
- lspconfig_defaults.capabilities = vim.tbl_deep_extend(
- 'force',
- lspconfig_defaults.capabilities,
- require('cmp_nvim_lsp').default_capabilities()
- )
-
- -- This is where you enable features that only work
- -- if there is a language server active in the file
- vim.api.nvim_create_autocmd('LspAttach', {
- callback = function(event)
- local opts = { buffer = event.buf }
-
- vim.keymap.set('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>', opts)
- vim.keymap.set('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>', opts)
- vim.keymap.set('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>', opts)
- vim.keymap.set('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>', opts)
- vim.keymap.set('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>', opts)
- vim.keymap.set('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>', opts)
- vim.keymap.set('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<cr>', opts)
- vim.keymap.set('n', 'gl', '<cmd>lua vim.diagnostic.open_float()<cr>', opts)
- vim.keymap.set('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<cr>', opts)
- vim.keymap.set({ 'n', 'x' }, '<F3>', '<cmd>lua vim.lsp.buf.format({async = true})<cr>', opts)
- vim.keymap.set('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>', opts)
- end,
- })
-
- require('mason').setup({})
- require('mason-lspconfig').setup({
- ensure_installed = {
- "lua_ls",
- "intelephense",
- "ts_ls",
- "eslint",
- },
- handlers = {
- -- this first function is the "default handler"
- -- it applies to every language server without a custom handler
- function(server_name)
- require('lspconfig')[server_name].setup({})
- end,
-
- -- this is the "custom handler" for `lua_ls`
- lua_ls = function()
- require('lspconfig').lua_ls.setup({
- settings = {
- Lua = {
- runtime = {
- version = 'LuaJIT',
- },
- diagnostics = {
- globals = { 'vim' },
- },
- workspace = {
- library = { vim.env.VIMRUNTIME },
- },
- },
- },
- })
- end,
- },
- })
-
- local cmp = require('cmp')
-
- require('luasnip.loaders.from_vscode').lazy_load()
-
- vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
-
- cmp.setup({
- preselect = 'item',
- completion = {
- completeopt = 'menu,menuone,noinsert'
- },
- window = {
- documentation = cmp.config.window.bordered(),
- },
- sources = {
- { name = 'path' },
- { name = 'nvim_lsp' },
- { name = 'buffer', keyword_length = 3 },
- { name = 'luasnip', keyword_length = 2 },
- },
- snippet = {
- expand = function(args)
- require('luasnip').lsp_expand(args.body)
- end,
- },
- formatting = {
- fields = { 'abbr', 'menu', 'kind' },
- format = function(entry, item)
- local n = entry.source.name
- if n == 'nvim_lsp' then
- item.menu = '[LSP]'
- else
- item.menu = string.format('[%s]', n)
- end
- return item
- end,
- },
- mapping = cmp.mapping.preset.insert({
- -- confirm completion item
- ['<CR>'] = cmp.mapping.confirm({ select = false }),
-
- -- scroll documentation window
- ['<C-f>'] = cmp.mapping.scroll_docs(5),
- ['<C-u>'] = cmp.mapping.scroll_docs(-5),
-
- -- toggle completion menu
- ['<C-e>'] = cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.abort()
- else
- cmp.complete()
- end
- end),
-
- -- tab complete
- ['<Tab>'] = cmp.mapping(function(fallback)
- local col = vim.fn.col('.') - 1
-
- if cmp.visible() then
- cmp.select_next_item({ behavior = 'select' })
- elseif col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
- fallback()
- else
- cmp.complete()
- end
- end, { 'i', 's' }),
-
- -- go to previous item
- ['<S-Tab>'] = cmp.mapping.select_prev_item({ behavior = 'select' }),
-
- -- navigate to next snippet placeholder
- ['<C-d>'] = cmp.mapping(function(fallback)
- local luasnip = require('luasnip')
-
- if luasnip.jumpable(1) then
- luasnip.jump(1)
- else
- fallback()
- end
- end, { 'i', 's' }),
-
- -- navigate to the previous snippet placeholder
- ['<C-b>'] = cmp.mapping(function(fallback)
- local luasnip = require('luasnip')
-
- if luasnip.jumpable(-1) then
- luasnip.jump(-1)
- else
- fallback()
- end
- end, { 'i', 's' }),
- }),
- })
- end
-}
-
diff --git a/nvim/.config/nvim/lua/plugins/one-liners.lua b/nvim/.config/nvim/lua/plugins/one-liners.lua
deleted file mode 100644
index fe240f1..0000000
--- a/nvim/.config/nvim/lua/plugins/one-liners.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-return {
- { "tpope/vim-fugitive" },
- { "ojroques/nvim-osc52" },
- {
- "norcalli/nvim-colorizer.lua",
- config = function()
- require("colorizer").setup()
- end,
- },
- {
- "brenoprata10/nvim-highlight-colors",
- config = function()
- require('nvim-highlight-colors').setup({})
- end
- },
-}
diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua
deleted file mode 100644
index 49d1276..0000000
--- a/nvim/.config/nvim/lua/plugins/telescope.lua
+++ /dev/null
@@ -1,15 +0,0 @@
-return {
- 'nvim-telescope/telescope.nvim', version = '*',
- dependencies = {
- 'nvim-lua/plenary.nvim',
- -- optional but recommended
- { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
- },
- config = function()
- local builtin = require('telescope.builtin')
- vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
- vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
- vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
- vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
- end
-}
diff --git a/nvim/.config/nvim/lua/plugins/treesitter.lua b/nvim/.config/nvim/lua/plugins/treesitter.lua
deleted file mode 100644
index e430504..0000000
--- a/nvim/.config/nvim/lua/plugins/treesitter.lua
+++ /dev/null
@@ -1,35 +0,0 @@
-return {
- 'nvim-treesitter/nvim-treesitter',
- branch = 'master', -- Important: Use the 'main' branch
- build = ':TSUpdate',
- config = function()
-
- -- Configure nvim-treesitter with ensure_installed
- require("nvim-treesitter.configs").setup({
- ensure_installed = {
- 'lua',
- 'vim',
- 'python',
- 'javascript',
- 'typescript',
- 'go',
- 'yaml',
- 'bash',
- 'html',
- 'css',
- 'markdown',
- 'markdown_inline',
- 'sql',
- },
- highlight = {
- enable = true,
- },
- indent = {
- enable = true,
- },
-})
-
-
-
- end,
-}
diff --git a/picom/.config/picom/picom.conf b/picom/.config/picom/picom.conf
deleted file mode 100644
index 5290d9d..0000000
--- a/picom/.config/picom/picom.conf
+++ /dev/null
@@ -1,67 +0,0 @@
-# picom.conf - Responsive bounce-style minimize animation with Plank excluded
-
-# General settings
-backend = "xrender";
-vsync = true;
-use-damage = true;
-refresh-rate = 0;
-
-# Shadows (light, for a bit of depth)
-shadow = true;
-shadow-radius = 8;
-shadow-opacity = 0.25;
-shadow-offset-x = -7;
-shadow-offset-y = -7;
-shadow-exclude = [
- "name = 'Notification'",
- "class_g = 'Polybar'",
- "class_g = 'Conky'",
- "class_g = 'Plank'",
- "class_g ?= 'Dunst'",
- "_GTK_FRAME_EXTENTS@:c"
-];
-
-# Fading - snappy transition
-fading = true;
-fade-in-step = 0.08;
-fade-out-step = 0.08;
-fade-delta = 10;
-no-fading-openclose = false;
-
-# Exclude some windows from fading
-fade-exclude = [
- "class_g = 'i3-frame'",
- "class_g = 'Conky'",
- "class_g = 'Plank'",
- "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
-];
-
-# Transparency
-inactive-opacity = 1.0;
-active-opacity = 1.0;
-frame-opacity = 1.0;
-
-# Bounce animation settings for minimize effect
-animation = false;
-animation-stiffness = 500; # High stiffness for a bouncy effect
-animation-window-movement = true;
-animation-dampening = 10; # Dampening for quick bounce-back effect
-animation-for-minimize = "bounce"; # Sets bounce effect for minimize animation
-
-# Exclude specific windows from animations (like Plank)
-animation-exclude = [
- "class_g = 'Polybar'",
- "class_g = 'Conky'",
- "class_g = 'Plank'",
- "class_g ?= 'Dunst'"
-];
-
-# Rounded corners for a smooth appearance
-# corner-radius = 8;
-
-# Experimental backends for smoother rendering
-glx-no-stencil = true;
-glx-no-rebind-pixmap = true;
-use-ewmh-active-win = true;
-# detect-rounded-corners = true;
-detect-client-opacity = true;
diff --git a/polybar/.config/polybar/colors.ini b/polybar/.config/polybar/colors.ini
deleted file mode 100644
index 0ff5a29..0000000
--- a/polybar/.config/polybar/colors.ini
+++ /dev/null
@@ -1,51 +0,0 @@
-;;# Tokyo-night
-;[colors]
-
-;foreground = #a9b1d6
-;foreground2 = #bbc2cf
-;background = #1a1b26
-
-;black = #32344a
-;red = #f7768e
-;green = #9ece6a
-;yellow = #ebcb8c
-;blue = #7aa2f7
-;magenta = #ad8ee6
-;cyan = #449dab
-;white = #e5e9f0
-
-;alert = #bd2c40
-
-
-;# Tokyo-night-storm
-[colors]
-foreground = #a9b1d6
-foreground2 = #bbc2cf
-background = #24283b
-
-black = #414868
-red = #f7768e
-green = #9ece6a
-yellow = #e0af68
-blue = #7aa2f7
-magenta = #bb9af7
-cyan = #7dcfff
-white = #e5e9f0
-
-alert = #bd2c40
-
-;;# Dracula
-;background = #21222c
-;foreground = #f8f8f2
-
-;black = #21222c
-;red = #ff5555
-;green = #50fa7b
-;yellow = #f1fa8c
-;blue = #bd93f9
-;magenta = #ff92df
-;cyan = #8be9fd
-;white = #f8f8f2
-
-
-
diff --git a/polybar/.config/polybar/config.ini b/polybar/.config/polybar/config.ini
deleted file mode 100644
index 1fd8ca8..0000000
--- a/polybar/.config/polybar/config.ini
+++ /dev/null
@@ -1,222 +0,0 @@
-;==========================================================
-;
-;
-; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
-; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
-; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
-; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
-; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
-; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
-;
-; by husseinhareb :)
-;
-;==========================================================
-
-include-file = $HOME/.config/polybar/colors.ini
-
-
-;[colors]
-;background = #1E1E2E
-;background-alt = #1E1E2E
-;foreground = #C5C8C6
-;primary = #F0C674
-;secondary = #8ABEB7
-;alert = #A54242
-;disabled = #707880
-;white = #EAEAEA
-;grey = #61616C
-;green = #25D865
-;blue = #168ECA
-;mauve = #490761
-
-[settings]
-screenchange-reload = true
-pseudo-transparency = true
-
-[bar/main]
-
-width = 100%
-height = 30pt
-radius = 0
-;cursor-click = pointer
-background = ${colors.background}
-foreground = ${colors.foreground}
-
-font-0 = "Hasklug Nerd Font:weight=Regular:size=12"
-font-1 = "Symbols Nerd Font Mono:size=14"
-
-line-size = 4pt
-
-;border-size = 1pt
-;border-color = #0000000
-
-padding-left = 1
-padding-right = 1
-
-module-margin = 0
-
-
-;border-bottom-size = 1
-;border-bottom-color = ${colors.background2}
-
-;padding-left = 1
-;padding-right = 1
-;module-margin = 1
-
-modules-left = void space space date space space xwindow
-modules-center = xworkspaces
-modules-right = cpu space space memory space separator space mic space space pulseaudio space separator space wlan space separator space battery space
-
-;modules-right = pulseaudio cpu memory wlan battery date
-
-[module/xworkspaces]
-type = internal/xworkspaces
-
-label-active = 
-label-active-padding = 1
-label-active-foreground = ${colors.foreground}
-label-active-font = 1
-
-label-occupied = 
-label-occupied-padding = 1
-label-occupied-font = 1
-
-label-empty = 
-label-empty-background = ${colors.background}
-label-empty-padding = 1
-label-empty-font = 1
-
-[module/xwindow]
-type = internal/xwindow
-label = %title:0:60:...%
-label-foreground = ${colors.white}
-
-[network-base]
-type = internal/network
-interval = 5
-format-connected = <label-connected>
-format-disconnected = <label-disconnected>
-label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
-
-[module/cpu]
-type = internal/cpu
-interval = 2
-format-prefix = "CPU "
-format-prefix-foreground = ${colors.primary}
-label = %percentage:2%%
-
-[module/wlan]
-inherit = network-base
-interface-type = wireless
-label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
-
-[module/memory]
-type = internal/memory
-interval = 2
-;format-prefix = " "
-format-prefix-foreground = ${colors.magenta}
-label = %gb_used% %percentage_used%%
-label-foreground = ${colors.foreground}
-
-;[module/wlan]
-;inherit = network-base
-;interface-type = wireless
-
-;interval = 1
-;format-connected-prefix-foreground = ${colors.white}
-;format-connected-foreground = ${colors.white}
-;format-connected = <label-connected>
-;label-connected = 󰖩
-;label-connected-padding = 0
-
-;format-disconnected = <label-disconnected>
-;format-disconnected-padding = 0
-;label-disconnected = 󰖪
-;label-disconnected-foreground = ${colors.white}
-;label-disconnected-padding = 0
-
-[module/mic]
-type = custom/script
-exec = ~/.config/polybar/scripts/mic.sh
-interval = 1 # Update interval in seconds
-format-foreground = ${colors.foreground}
-format = <label>
-label = %output%
-click-left = ~/Scripts/mic.sh 1
-
-[module/pulseaudio]
-type = internal/pulseaudio
-
-format-volume-prefix = "󰕾 "
-format-volume-foreground = ${colors.foreground}
-format-volume-prefix-foreground = ${colors.foreground}
-format-volume = <label-volume>
-label-volume = %percentage%%
-
-label-muted = 󰖁 %percentage%%
-label-muted-foreground = ${colors.disabled}
-
-[module/battery]
-type = internal/battery
-full-at = 99
-low-at = 20
-battery = BAT0
-adapter = ADP1
-poll-interval = 5
-format-charging-foreground = ${colors.foreground}
-format-discharging-foreground = ${colors.foreground}
-format-charging = <animation-charging><label-charging>
-format-discharging = <ramp-capacity><label-discharging>
-label-charging = %percentage%%
-label-discharging =%percentage%%
-label-full = Full
-label-low = LOW
-
-ramp-capacity-0 = " "
-ramp-capacity-1 = " "
-ramp-capacity-2 = " "
-ramp-capacity-3 = " "
-ramp-capacity-4 = " "
-
-bar-capacity-width = 10
-
-animation-charging-0 = " "
-animation-charging-1 = " "
-animation-charging-2 = " "
-animation-charging-3 = " "
-animation-charging-4 = " "
-animation-charging-framerate = 750
-
-animation-discharging-0 = " "
-animation-discharging-1 = " "
-animation-discharging-2 = " "
-animation-discharging-3 = " "
-animation-discharging-4 = " "
-
-animation-discharging-framerate = 500
-
-animation-low-0 = !
-animation-low-1 =
-animation-low-framerate = 200
-
-[module/date]
-type = internal/date
-interval = 1
-date = %I:%M %p|%d-%m
-label = %date%
-label-foreground = ${colors.primary}
-
-[module/void]
-type = custom/text
-label = 
-label-foreground = ${colors.green}
-label-margin = 0
-
-[module/space]
-type = custom/text
-label = " "
-
-[module/separator]
-type = custom/text
-label = "|"
-label-foreground = ${colors.foreground}
diff --git a/polybar/.config/polybar/launch.sh b/polybar/.config/polybar/launch.sh
deleted file mode 100755
index e0605ce..0000000
--- a/polybar/.config/polybar/launch.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-# Terminate already running bar instances
-pkill polybar
-
-# Wait until the processes have been shut down
-while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
-
-# Launch the default bar(s)
-# Replace 'mybar' with the name(s) of your bar(s) defined in the config file
-polybar &
-# If you have multiple bars, you can launch them here as well, e.g.:
-# polybar top &
-# polybar bottom &
-
-echo "Bars launched..."
diff --git a/polybar/.config/polybar/scripts/mic.sh b/polybar/.config/polybar/scripts/mic.sh
deleted file mode 100755
index 2ed3165..0000000
--- a/polybar/.config/polybar/scripts/mic.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-mic_source=$(pactl info | grep "Default Source:" | awk '{print $3}')
-
-if [ "$1" == "1" ]; then
- # Left mouse button clicked - toggle microphone mute status
- pactl set-source-mute "$mic_source" toggle
-fi
-
-# Get the microphone status (mute/unmute)
-mic_status=$(pactl list sources | awk -v mic_source="$mic_source" '/^Source/ {in_source=0} $0 ~ ("Name: " mic_source) {in_source=1} in_source && /Mute:/ {print $2}')
-
-mic_volume=$(pactl list sources | awk -v mic_source="$mic_source" '/^Source/ {in_source=0} $0 ~ ("Name: " mic_source) {in_source=1} in_source && /Volume:/ {print $5}')
-
-# Convert the volume to percentage
-mic_percentage=$(awk -v volume="$mic_volume" 'BEGIN {split(volume, a, "%"); print a[1]}')
-
-# Check the microphone status and set the output accordingly
-if [ "$mic_status" == "yes" ]; then
- echo " Muted"
-else
- echo " $mic_percentage%"
-fi
diff --git a/rofi/.config/rofi/config.rasi b/rofi/.config/rofi/config.rasi
deleted file mode 100644
index 4719a61..0000000
--- a/rofi/.config/rofi/config.rasi
+++ /dev/null
@@ -1,29 +0,0 @@
-configuration{
- modi: ["drun", "window", "run"];
- icon-theme: "Papirus-Dark";
- show-icons: false;
- terminal: "alacritty";
- drun-display-format: "{icon} {name}";
- location: 0;
- disable-history: false;
- sidebar-mode: false;
- display-drun: " ";
- display-run: " ";
- display-window: " ";
-
- //adding vim keybindings
- kb-row-up: "Up,Control+k";
- kb-row-left: "Left,Control+h";
- kb-row-right: "Right,Control+l";
- kb-row-down: "Down,Control+j";
-
- kb-accept-entry: "Control+z,Control+y,Return,KP_Enter";
-
- //fixing up
- kb-remove-to-eol: "";
- kb-move-char-back: "Control+b";
- kb-remove-char-back: "BackSpace";
- kb-move-char-forward: "Control+f";
- kb-mode-complete: "Control+o";
-}
-@theme "tokyonight.rasi"
diff --git a/rofi/.config/rofi/tokyonight.rasi b/rofi/.config/rofi/tokyonight.rasi
deleted file mode 100644
index bc30294..0000000
--- a/rofi/.config/rofi/tokyonight.rasi
+++ /dev/null
@@ -1,95 +0,0 @@
-* {
- font: "Hasklug Nerd Font Medium 12";
-
- bg0: #222436;
- bg1: #2f334d;
- fg0: #c0caf5;
-
- accent-color: #7aa2f7;
- urgent-color: #e0af68;
-
- background-color: transparent;
- text-color: @fg0;
-
- margin: 0;
- padding: 0;
- spacing: 0;
-}
-
-window {
- location: center;
- width: 750;
- border-color: @bg1;
- border: 1px;
-
- background-color: @bg0;
-}
-
-inputbar {
- spacing: 8px;
- padding: 8px;
-
- background-color: @bg1;
-}
-
-prompt, entry, element-icon, element-text {
- vertical-align: 0.5;
-}
-
-prompt {
- text-color: @accent-color;
-}
-
-textbox {
- padding: 8px;
- background-color: @bg1;
-}
-
-listview {
- padding: 4px 0;
- lines: 8;
- columns: 1;
-
- fixed-height: false;
-}
-
-element {
- padding: 8px;
- spacing: 8px;
-}
-
-element normal normal {
- text-color: @fg0;
-}
-
-element normal urgent {
- text-color: @urgent-color;
-}
-
-element normal active {
- text-color: @accent-color;
-}
-
-element alternate active {
- text-color: @accent-color;
-}
-
-element selected {
- text-color: @bg0;
-}
-
-element selected normal, element selected active {
- background-color: @accent-color;
-}
-
-element selected urgent {
- background-color: @urgent-color;
-}
-
-element-icon {
- size: 0.8em;
-}
-
-element-text {
- text-color: inherit;
-} \ No newline at end of file
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
new file mode 100644
index 0000000..8344352
--- /dev/null
+++ b/sway/.config/sway/config
@@ -0,0 +1,228 @@
+# Default config for sway
+#
+# Copy this to ~/.config/sway/config and edit it to your liking.
+#
+# Read `man 5 sway` for a complete reference.
+
+### 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 alacritty
+# Your preferred application launcher
+set $menu fuzzel | xargs swaymsg exec --
+
+### 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 eDP-1 scale 1.5
+
+default_border pixel 0
+
+#
+# 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
+#
+# Example configuration:
+#
+# exec swayidle -w \
+# timeout 300 'swaylock -f -c 000000' \
+# timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+# before-sleep 'swaylock -f -c 000000'
+#
+# 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.
+
+### 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.
+
+### 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'
+#
+# 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+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%+
+ # Special key to take a screenshot with grim
+ bindsym Print exec grim
+
+#
+# Status Bar:
+#
+# Read `man 5 sway-bar` for more information about this section.
+bar {
+ swaybar_command waybar
+}
+
+exec pipewire
+
+#include /etc/sway/config.d/*
diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config
new file mode 100644
index 0000000..928a366
--- /dev/null
+++ b/waybar/.config/waybar/config
@@ -0,0 +1,104 @@
+{
+ "layer": "top",
+ "position": "top",
+ "height": 24,
+ "spacing": 5,
+
+ "modules-left": ["sway/workspaces", "group/usage"],
+ "modules-center": ["clock"],
+ "modules-right": ["wireplumber", "group/net", "group/bat", "tray"],
+
+ "group/usage": {
+ "orientation": "horizontal",
+ "modules": ["cpu", "memory"]
+ },
+
+ "group/bat": {
+ "orientation": "horizontal",
+ "modules": ["backlight", "battery"]
+ },
+
+ "group/net": {
+ "orientation": "horizontal",
+ "modules": ["sway/language", "network", "bluetooth"]
+ },
+
+ "sway/workspaces": {
+ "format": "{icon}",
+ "on-click": "activate",
+ "format-icons": {
+ },
+ "icon-size": 40,
+ "sort-by-number": true,
+ "persistent-workspaces": {
+ "1": [],
+ "2": [],
+ "3": []
+ }
+ },
+
+ "clock": {
+ "format": "{:%d.%m.%Y | %H:%M}"
+ },
+
+ "wireplumber": {
+ "format": "\udb81\udd7e {volume}%",
+ "max-volume": 100,
+ "scroll-step": 5
+ },
+
+ "battery": {
+ "bat": "BAT0",
+ "interval": 60,
+ "format": "{icon} {capacity}%",
+ "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"]
+ },
+
+ "backlight": {
+ "format": "\udb80\udcdf {percent}%"
+ },
+
+ "cpu": {
+ "interval": 30,
+ "format": " {usage}%"
+ },
+
+ "memory": {
+ "interval": 30,
+ "format": " {used:0.1f}G"
+ },
+
+ "temperature": {
+ "format": " {temperatureC}°C"
+ },
+
+ "network": {
+ "format": "",
+ "format-ethernet": "\udb83\udc9d ",
+ "format-wifi": "{icon} ",
+ "format-disconnected": "\udb83\udc9c ",
+ "format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
+ "tooltip-format-wifi": "{essid} ({signalStrength}%)",
+ "tooltip-format-ethernet": "{ifname}",
+ "tooltip-format-disconnected": "Disconnected"
+ },
+
+ "bluetooth": {
+ "format": "\udb80\udcaf",
+ "format-disabled": "\udb80\udcb2",
+ "format-connected": "\udb80\udcb1",
+ "tooltip-format": "{controller_alias}\t{controller_address}",
+ "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
+ "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
+ "tooltip-format-disabled": "Disabled"
+ },
+
+ "hyprland/language": {
+ "format": "{short}"
+ },
+
+ "tray": {
+ "icon-size": 16,
+ "spacing": 16
+ }
+} \ No newline at end of file
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
new file mode 100644
index 0000000..3bb3ac7
--- /dev/null
+++ b/waybar/.config/waybar/style.css
@@ -0,0 +1,67 @@
+@define-color foreground #eff0f1;
+@define-color foreground-inactive #7f8c8d;
+@define-color background #232629;
+@define-color background-alt #31363b;
+
+* {
+ font-family: Hasklug Nerd Font;
+ font-size: 14px;
+ padding: 0;
+ margin: 0;
+}
+
+#waybar {
+ color: @foreground;
+ background-color: @background;
+}
+
+#workspaces button {
+ padding-left: 1em;
+ padding-right: 1.3em;
+}
+
+/*
+#workspaces button.empty {
+ color: @foreground-inactive;
+}
+*/
+
+#workspaces button.focused {
+ color: @foreground;
+}
+
+#workspaces button:hover {
+ background: none;
+ box-shadow: none;
+ text-shadow: none;
+ /* border: 0; */
+ border-color: transparent;
+ transition: none; /* Removes any fade animations */
+ color: @foreground;
+}
+
+#workspaces button.active {
+ background-color: @background-alt;
+ border-radius: 3px;
+}
+
+#wireplumber,
+#bat,
+#tray,
+#usage,
+#net {
+ /* background-color: @background-alt; */
+ border-radius: 3px;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ margin-left: 0.3em;
+}
+
+#battery,
+#memory,
+#language,
+#cpu,
+#backlight,
+#network {
+ margin-right: 0.8em;
+}