diff --git a/Xresources b/Xresources
index 2e4652b..4e69796 100644
--- a/Xresources
+++ b/Xresources
@@ -6,5 +6,5 @@ Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
-
+URxvt.font: xft:Hack Nerd Font:size=16
rofi.color-enabled: true
diff --git a/alacritty/alacritty.toml b/alacritty/alacritty.toml
index 2ac29aa..cfccdb6 100644
--- a/alacritty/alacritty.toml
+++ b/alacritty/alacritty.toml
@@ -28,5 +28,3 @@ live_config_reload = true
import = [
"~/.config/alacritty/my_theme.toml"
]
-
-[terminal]
diff --git a/eww/eww.scss b/eww/eww.scss
new file mode 100644
index 0000000..a8bbc69
--- /dev/null
+++ b/eww/eww.scss
@@ -0,0 +1,377 @@
+/** Global *******************************************/
+*{
+ all: unset;
+ font-family: feather;
+ font-family: Iosevka;
+}
+
+/** Background **************************************
+.bg {
+ background-image: url("images/bg.png");
+ background-color: #474D59;
+ opacity: 1;
+} */
+
+/** Generic window ***********************************/
+.genwin {
+ background-color: #15161E;
+ border-radius: 16px;
+}
+
+/** Profile ******************************************/
+.face {
+ background-size: 200px;
+ min-height: 200px;
+ min-width: 200px;
+ margin: 65px 0px 0px 0px;
+ border-radius: 100%;
+}
+
+.fullname {
+ color: #ef596f;
+ font-size : 30px;
+ font-weight : bold;
+}
+
+.username {
+ color: #6BB2C0;
+ font-size : 22px;
+ font-weight : bold;
+ margin : -15px 0px 0px 0px;
+}
+
+/** System ********************************************/
+.iconcpu, .iconmem, .iconbright, .iconbat {
+ font-size : 32px;
+ font-weight : normal;
+}
+.iconcpu {
+ color: #f7768e;
+}
+.iconmem {
+ color: #9ece6a;
+}
+.iconbright {
+ color: #e0af68;
+}
+.iconbat {
+ color: #7aa2f7;
+}
+
+.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough {
+ all: unset;
+ background-color: #282C34;
+ border-radius: 16px;
+ min-height: 28px;
+ min-width: 240px;
+}
+
+.cpu_bar, .mem_bar, .bright_bar, .bat_bar, scale trough highlight {
+ all: unset;
+ border-radius: 16px;
+}
+
+.cpu_bar scale trough highlight {
+ background-color: #f7768e;
+}
+.mem_bar scale trough highlight {
+ background-color: #9ece6a;
+}
+.bright_bar scale trough highlight {
+ background-color: #e0af68;
+}
+.bat_bar scale trough highlight {
+ background-color: #7aa2f7;
+}
+
+/** Clock ********************************************/
+.time_hour, .time_min {
+ color: #7dcfff;
+ font-size : 70px;
+ font-weight : bold;
+}
+.time_hour {
+ margin : 15px 0px 0px 20px;
+}
+.time_min {
+ margin : 0px 0px 10px 0px;
+}
+
+.time_mer {
+ color: #9ece6a;
+ font-size : 40px;
+ font-weight : bold;
+ margin : 20px 0px 0px 0px;
+}
+
+.time_day {
+ color: #e0af68;
+ font-size : 30px;
+ font-weight : normal;
+ margin : 0px 0px 20px -20px;
+}
+
+/** Uptime ********************************************/
+.icontimer {
+ color: #bb9af7;
+ font-size : 90px;
+ font-weight : normal;
+}
+
+.uphour {
+ color: #c0caf5;
+ font-size : 42px;
+ font-weight : bold;
+}
+
+.upmin {
+ color: #c0caf5;
+ font-size : 32px;
+ font-weight : bold;
+}
+
+/** Music ***************************************/
+.album_art {
+ background-size: 240px;
+ min-height: 240px;
+ min-width: 240px;
+ margin: 20px;
+ border-radius: 14px;
+}
+
+.song {
+ color: #6BB2C0;
+ font-size : 24px;
+ font-weight : bold;
+ margin : 40px 0px 0px 0px;
+}
+
+.artist {
+ color: #e0af68;
+ font-size : 16px;
+ font-weight : normal;
+ margin : 0px 0px 15px 0px;
+}
+
+.btn_prev, .btn_play, .btn_next {
+ font-family: Iosevka Nerd Font;
+}
+.btn_prev {
+ color: #e0af68;
+ font-size : 32px;
+ font-weight : normal;
+}
+.btn_play {
+ color: #9ece6a;
+ font-size : 48px;
+ font-weight : bold;
+}
+.btn_next {
+ color: #e0af68;
+ font-size : 32px;
+ font-weight : normal;
+}
+
+.music_bar scale trough highlight {
+ all: unset;
+ background-color: #bb9af7;
+ border-radius: 8px;
+}
+.music_bar scale trough {
+ all: unset;
+ background-color: #282C34;
+ border-radius: 8px;
+ min-height: 20px;
+ min-width: 310px;
+ margin : 10px 0px 0px 0px;
+}
+
+/** Weather ***************************************/
+.iconweather {
+ font-family: Iosevka Nerd Font;
+ font-size : 120px;
+ font-weight : normal;
+ margin : 15px 0px 0px 30px;
+}
+
+.label_temp {
+ color : #7dcfff;
+ font-size : 80px;
+ font-weight : bold;
+ margin : -15px 30px 0px 0px;
+}
+
+.label_stat {
+ color : #f7768e;
+ font-size : 38px;
+ font-weight : bold;
+}
+
+.label_quote {
+ color : #a9b1d6;
+ font-size : 18px;
+ font-weight : normal;
+}
+
+/** Applications ***************************************/
+.appbox {
+ margin : 15px 0px 0px 25px;
+}
+
+.app_fox, .app_telegram, .app_discord, .app_terminal,
+.app_files, .app_geany, .app_code, .app_gimp, .app_vbox {
+ background-repeat: no-repeat;
+ background-size: 64px;
+ min-height: 64px;
+ min-width: 64px;
+ margin: 8px 8px 0px 8px;
+}
+
+.app_fox {}
+.app_telegram {}
+.app_discord {}
+.app_terminal {}
+.app_files {}
+.app_geany {}
+.app_code {}
+.app_gimp {}
+.app_vbox {}
+
+/** Links ***************************************/
+.iconweb, .iconmail {
+ color: #FFFFFF;
+ font-family: Iosevka Nerd Font;
+ font-size : 70px;
+ font-weight : normal;
+}
+.iconmail {
+ color: #DF584E;
+}
+
+.github {
+ background-color: #24292E;
+ border-radius: 16px;
+}
+.reddit {
+ background-color: #E46231;
+ border-radius: 16px;
+}
+.twitter {
+ background-color: #61AAD6;
+ border-radius: 16px;
+}
+.youtube {
+ background-color: #DF584E;
+ border-radius: 16px;
+}
+.mail {
+ background-color: #FFFFFF;
+ border-radius: 16px;
+}
+
+.mailbox {
+ background-color: #E5E5E5;
+ border-radius: 10px;
+ margin: 48px 0px 48px 0px;
+}
+.label_mails {
+ color: #404040;
+ font-size : 32px;
+ font-weight : bold;
+ margin: 0px 12px 0px 12px;
+}
+
+/** Power buttons ***************************************/
+.btn_logout, .btn_sleep, .btn_reboot, .btn_poweroff {
+ font-size : 48px;
+ font-weight : bold;
+}
+
+.btn_logout {
+ color: #f7768e;
+}
+.btn_sleep {
+ color: #9ece6a;
+}
+.btn_reboot {
+ color: #e0af68;
+}
+.btn_poweroff {
+ color: #7aa2f7;
+}
+
+/** Home folders ***************************************/
+.hddbox {
+ background-color: #282C34;
+ border-radius: 10px;
+ margin : 15px;
+}
+.hddicon {
+ color: #7dcfff;
+ font-family: Iosevka Nerd Font;
+ font-size : 70px;
+ font-weight : normal;
+ margin : 25px 20px 25px 40px;
+}
+.hdd_label {
+ color: #c0caf5;
+ font-size : 48px;
+ font-weight : bold;
+ margin : 0px 0px 0px 15px;
+}
+.fs_sep {
+ color: #15161E;
+ font-size : 36px;
+ font-weight : bold;
+}
+
+.iconfolder1, .iconfolder2, .iconfolder3, .iconfolder4, .iconfolder5, .iconfolder6 {
+ font-family: Iosevka Nerd Font;
+ font-size : 32px;
+ font-weight : normal;
+ margin : 0px 0px 0px 75px;
+}
+.iconfolder1 {
+ color: #f7768e;
+}
+.iconfolder2 {
+ color: #9ece6a;
+}
+.iconfolder3 {
+ color: #e0af68;
+}
+.iconfolder4 {
+ color: #7dcfff;
+}
+.iconfolder5 {
+ color: #bb9af7;
+}
+.iconfolder6 {
+ color: #7aa2f7;
+}
+
+.label_folder1, .label_folder2, .label_folder3, .label_folder4, .label_folder5, .label_folder6 {
+ font-size : 22px;
+ font-weight : normal;
+ margin : 0px 0px 0px 30px;
+}
+.label_folder1 {
+ color: #f7768e;
+}
+.label_folder2 {
+ color: #9ece6a;
+}
+.label_folder3 {
+ color: #e0af68;
+}
+.label_folder4 {
+ color: #7dcfff;
+}
+.label_folder5 {
+ color: #bb9af7;
+}
+.label_folder6 {
+ color: #7aa2f7;
+}
+
+/** EOF *************************************************/}
diff --git a/eww/eww.yuck b/eww/eww.yuck
new file mode 100644
index 0000000..40e04ac
--- /dev/null
+++ b/eww/eww.yuck
@@ -0,0 +1,61 @@
+
+(defpoll calendar_day :interval "20h" "date '+%d'")
+(defpoll calendar_year :interval "20h" "date '+%Y'")
+(defpoll HOUR :interval "5s" `date +\"%I\"`)
+(defpoll MIN :interval "5s" `date +\"%M\"`)
+(defpoll MER :interval "5s" `date +\"%p\"`)
+(defpoll DAY :interval "5s" `date +\"%A\"`)
+
+
+
+(defwindow example
+ :monitor 0
+ :geometry (geometry :width "100%"
+ :anchor "top left")
+ (cal)
+)
+
+(defwidget cal []
+ (box :class "cal" :orientation "v"
+ (box :class "cal-in"
+ (calendar :class "cal"
+ :day calendar_day
+ :year calendar_year))))
+
+(defwindow quote
+ :wm-ignore true
+ :monitor 0
+ :windowtype "dock"
+ :geometry (geometry :x "200px"
+ :y "65px"
+ :width "170px"
+ :height "200px"
+ :anchor "top left")
+(clock))
+
+
+;(defwindow searchapps
+; :wm-ignore: true
+; :monitor 0
+; :windowtype "normal"
+; :geometry (geometry :x "40%"
+; :y "30%"
+; :width "20%"
+; :height "50%"
+; :anchor "top left")
+;(searchapps))
+
+(defpoll quote_text :interval "3600s" `curl ifconfig.me`)
+
+(defwidget clock []
+ (box :class "genwin" :orientation "h" :spacing 50 :space-evenly false :vexpand "false" :hexpand "false"
+ (box :orientation "h" :spacing 0
+ (label :class "time_hour" :valign "start" :wrap "true" :limit-width 25 :text HOUR)
+ (label :class "time_min" :valign "end" :wrap "true" :limit-width 25 :text MIN))
+ (box :orientation "v" :spacing 0
+ (label :class "time_mer" :valign "start" :halign "end" :wrap "true" :limit-width 25 :text MER)
+ (label :class "time_day" :valign "end" :halign "end" :wrap "true" :limit-width 25 :text DAY))))
+
+(defwidget quote[]
+ (box :class "quote" :orientation "v" :space-evenly false :halign "center" :valign "center"
+ (label :class "quote-text" :text "${quote_text}" :wrap true)))
diff --git a/i3/config b/i3/config
index 04285f6..4106ea2 100644
--- a/i3/config
+++ b/i3/config
@@ -27,7 +27,7 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU
floating_modifier $mod
# start a terminal
-bindsym $mod+Return exec alacritty
+bindsym $mod+Return exec prime-run alacritty
# kill focused window
bindsym $mod+Shift+q kill
diff --git a/mako/config b/mako/config
new file mode 100644
index 0000000..22f10db
--- /dev/null
+++ b/mako/config
@@ -0,0 +1,7 @@
+background-color=#4A4A4A
+border-size=0
+font=Mononoki Nerd Font 14
+default-timeout=10000
+max-visible=3
+layer=overlay
+border-radius=5
diff --git a/mako/launch.sh b/mako/launch.sh
new file mode 100755
index 0000000..369295d
--- /dev/null
+++ b/mako/launch.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+trap "killall -q mako" EXIT
+mako
diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json
index 6804239..cb194cf 100644
--- a/nvim/lazy-lock.json
+++ b/nvim/lazy-lock.json
@@ -1,9 +1,9 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
- "LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" },
+ "LuaSnip": { "branch": "master", "commit": "0abc8f390b278c3b4aabc4c004ac8a088b65cf24" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"cheatsheet.nvim": { "branch": "master", "commit": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef" },
- "clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" },
+ "clangd_extensions.nvim": { "branch": "main", "commit": "78c2ecd659d54972be17aa6ba2deac3c53223b80" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" },
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
@@ -12,28 +12,29 @@
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp-spell": { "branch": "master", "commit": "694a4e50809d6d645c1ea29015dad0c293f019d6" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
- "fidget.nvim": { "branch": "main", "commit": "e32b672d8fd343f9d6a76944fedb8c61d7d8111a" },
- "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
- "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" },
- "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
- "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
- "mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
- "neogen": { "branch": "main", "commit": "d7f9461727751fb07f82011051338a9aba07581d" },
- "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
- "none-ls-extras.nvim": { "branch": "main", "commit": "70659cc3d38151424298ab46b0f67f2251cef231" },
- "none-ls.nvim": { "branch": "main", "commit": "1917c86818b5e058f53c2ea0ad38fc57534d62fc" },
- "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
- "nvim-colorizer.lua": { "branch": "master", "commit": "81e676d3203c9eb6e4c0ccf1eba1679296ef923f" },
- "nvim-lspconfig": { "branch": "master", "commit": "effe4bf2e1afb881ea67291c648b68dd3dfc927a" },
- "nvim-surround": { "branch": "main", "commit": "fcfa7e02323d57bfacc3a141f8a74498e1522064" },
- "nvim-tree.lua": { "branch": "master", "commit": "776a5cdfac948b490e06f1d1d22c4cb986e40699" },
- "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
- "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
- "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
- "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
+ "fidget.nvim": { "branch": "main", "commit": "82404b196e73a00b1727a91903beef5ddc319d22" },
+ "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
+ "gitsigns.nvim": { "branch": "main", "commit": "25050e4ed39e628282831d4cbecb1850454ce915" },
+ "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
+ "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
+ "mini.icons": { "branch": "main", "commit": "520995f1d75da0e4cc901ee95080b1ff2bc46b94" },
+ "neogen": { "branch": "main", "commit": "23e7e9f883d01289ebd90e98025acc860ea26366" },
+ "nightfox.nvim": { "branch": "main", "commit": "26b61b1f856ec37cae3cb64f5690adb955f246a1" },
+ "none-ls-extras.nvim": { "branch": "main", "commit": "167f29529ff1438e673b1792a71aaf79ddd6c74f" },
+ "none-ls.nvim": { "branch": "main", "commit": "01f8e62ea11603e59ad9ff7afcfa94fd183f76d6" },
+ "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
+ "nvim-colorizer.lua": { "branch": "master", "commit": "664c0b7cea1de71f8b65dfe951b7996fc3e6ccde" },
+ "nvim-lspconfig": { "branch": "master", "commit": "229b79051b380377664edc4cbd534930154921a1" },
+ "nvim-surround": { "branch": "main", "commit": "2e93e154de9ff326def6480a4358bfc149d5da2c" },
+ "nvim-tree.lua": { "branch": "master", "commit": "07f541fcaa4a5ae019598240362449ab7e9812b3" },
+ "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
+ "nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" },
+ "outline.nvim": { "branch": "main", "commit": "2a132953b944561d45b52e4541ebfff71934a742" },
+ "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
- "telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
- "vim-floaterm": { "branch": "master", "commit": "a11b930f55324e9b05e2ef16511fe713f1b456a7" },
+ "roslyn.nvim": { "branch": "main", "commit": "dedfc3f539c51a5841feb572e8b73ec58ff2ca9d" },
+ "telescope.nvim": { "branch": "master", "commit": "7d324792b7943e4aa16ad007212e6acc6f9fe335" },
+ "vim-floaterm": { "branch": "master", "commit": "bb4ba7952e906408e1f83b215f55ffe57efcade6" },
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
diff --git a/nvim/lua/plugins/lspconfig.lua b/nvim/lua/plugins/lspconfig.lua
index e5bd95d..5e5ad79 100644
--- a/nvim/lua/plugins/lspconfig.lua
+++ b/nvim/lua/plugins/lspconfig.lua
@@ -77,6 +77,7 @@ return {
'neovim/nvim-lspconfig',
event = { "BufReadPre", "BufNewFile" },
dependencies = {
+ "seblyng/roslyn.nvim",
'hrsh7th/nvim-cmp',
'RRethy/vim-illuminate',
'j-hui/fidget.nvim',
@@ -169,8 +170,15 @@ return {
},
})
+ vim.lsp.config("bashls", {
+ cmd = {'bash-language-server', 'start' },
+ filetypes = {'bash', 'sh'}
+ })
+
+ require("roslyn").setup()
vim.lsp.enable({ "lua_ls",
"clangd",
+ "bashls",
"ts_ls",
"hls",
"ruff",
@@ -178,6 +186,7 @@ return {
"marksman",
"tailwindcss",
"rust_analyzer",
+ "wgsl_analyzer",
"julials",
"pyright"
})
diff --git a/rofi/config.rasi b/rofi/config.rasi
index 27b354e..9c8b768 100644
--- a/rofi/config.rasi
+++ b/rofi/config.rasi
@@ -2,7 +2,7 @@
configuration {
show-icons: true;
- icon-theme: "Papirus";
+ icon-theme: "kora";
}
@theme "~/.config/rofi/tokyonight.rasi"
diff --git a/rofi/rofi-themes-collection b/rofi/rofi-themes-collection
new file mode 160000
index 0000000..c8239a4
--- /dev/null
+++ b/rofi/rofi-themes-collection
@@ -0,0 +1 @@
+Subproject commit c8239a45edced3502894e1716a8b661fdea8f1c9
diff --git a/scripts/set_wallpaper.sh b/scripts/set_wallpaper.sh
new file mode 100755
index 0000000..869daaf
--- /dev/null
+++ b/scripts/set_wallpaper.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# randomly selects a wallpaper from wallpapers directory
+
+dir="$HOME/.wallpapers"
+wallpapers=("$dir"/*)
+idx=$(( RANDOM % ${#wallpapers[@]}))
+selected="${wallpapers[$idx]}"
+
+awww img "$selected"
diff --git a/sway/config b/sway/config
new file mode 100644
index 0000000..c8ee004
--- /dev/null
+++ b/sway/config
@@ -0,0 +1,202 @@
+include /etc/sway/config.d/*
+output * allow_tearing yes
+output * max_render_time off
+
+xwayland enable
+
+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:Noto Sans Nerd Font 12
+
+# 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@ +5%
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+# start a terminal
+bindsym $mod+Return exec alacritty
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# custom bindings
+# start dmenu (a program launcher)
+bindsym $mod+d exec --no-startup-id "rofi -combi-modi window,drun -show combi -modi combi -show-icons"
+# bindsym $mod+d exec vicinae toggle; exec swaymsg
+bindsym $mod+p exec bwmenu
+bindsym --release Print exec --no-startup-id ~/.config/scripts/grimshot copy area
+bindsym $mod+Print exec --no-startup-id ~/.config/scripts/grimshot save area
+
+bindsym $mod+x [urgent=latest] focus
+bindsym $mod+c exec "rofi -show calc -modi calc -no-show-match -no-sort"
+# Make the currently focused window a scratchpad
+bindsym $mod+Shift+minus move scratchpad
+
+# Show the first scratchpad window
+bindsym $mod+minus scratchpad show
+
+# change focus
+bindsym $mod+j focus left
+bindsym $mod+k focus down
+bindsym $mod+l focus up
+bindsym $mod+semicolon 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+j move left
+bindsym $mod+Shift+k move down
+bindsym $mod+Shift+l move up
+bindsym $mod+Shift+semicolon 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
+bindsym $mod+Shift+n exec swaync-client -t -sw
+
+# split in horizontal orientation
+bindsym $mod+h 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
+
+bindsym $mod+Home exec swaylock --screenshots --effect-pixelate 10 --clock
+
+# 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
+
+bindsym $mod+Shift+r sway reload
+#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"
+
+focus_follows_mouse no
+
+# default colors
+# border background text indicator child border
+client.focused #EA4335 #285577 #ffffff #2e9ef4 #285577
+client.focused_inactive #333333 #222222 #888888 #292d2e #222222
+client.unfocused #333333 #222222 #888888 #292d2e #222222
+
+title_align center
+for_window [class="^.*"] border pixel 1
+for_window [window_role="pop-up"] floating enable
+for_window [window_role="bubble"] floating enable
+for_window [window_role="task_dialog"] floating enable
+for_window [window_role="Preferences"] floating enable
+for_window [window_type="dialog"] floating enable
+for_window [window_type="menu"] floating enable
+for_window [shell="xwayland"] title_format "[XWayland] %title"
+
+default_floating_border none
+hide_edge_borders none
+gaps inner 0
+gaps outer 0
+
+# seat seat0 xcursor_theme my_cursor_theme my_cursor_size
+
+# copying
+exec_always --no-startup-id ~/.config/sway/import_gsettings.sh
+
+set $clipboard cliphist list | rofi | cliphist decode | wl-copy
+exec --no-startup-id kanshi
+exec --no-startup-id ~/.config/waybar/launch.sh
+
+exec --no-startup-id wl-paste --watch cliphist store
+exec --no-startup-id awww-daemon --no-cache
+exec --no-startup-id udiskie --tray
+
+exec --no-startup-id swaync
+
+# set a random wallpaper on reload
+exec_always --no-startup-id ~/.config/sway/set_wallpaper.sh
diff --git a/sway/import_gsettings.sh b/sway/import_gsettings.sh
new file mode 100755
index 0000000..967620f
--- /dev/null
+++ b/sway/import_gsettings.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# usage: import-gsettings
+config="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
+if [ ! -f "$config" ]; then exit 1; fi
+
+gnome_schema="org.gnome.desktop.interface"
+gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
+font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
+gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
+gsettings set "$gnome_schema" icon-theme "$icon_theme"
+gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
+gsettings set "$gnome_schema" font-name "$font_name"
diff --git a/sway/set_wallpaper.sh b/sway/set_wallpaper.sh
new file mode 100755
index 0000000..773af12
--- /dev/null
+++ b/sway/set_wallpaper.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+dir="$HOME/.wallpapers"
+wallpapers=("$dir"/*)
+idx=$(( RANDOM % ${#wallpapers[@]}))
+selected="${wallpapers[$idx]}"
+
+awww img "$selected"
diff --git a/sway/sway-contrib b/sway/sway-contrib
new file mode 160000
index 0000000..2d6e5a9
--- /dev/null
+++ b/sway/sway-contrib
@@ -0,0 +1 @@
+Subproject commit 2d6e5a9dfba137251547f99befc330ef93d70551
diff --git a/waybar/config b/waybar/config
new file mode 100644
index 0000000..aea7978
--- /dev/null
+++ b/waybar/config
@@ -0,0 +1,90 @@
+{
+ "layer": "top",
+ "position": "bottom",
+ "spacing": 5,
+
+ "modules-left": ["sway/workspaces", "sway/mode", "wlr/taskbar", "sway/window"],
+ "modules-center": ["clock"],
+ "modules-right": ["cpu", "memory", "network", "pulseaudio", "battery", "tray", "custom/poweroff"],
+
+ "sway/workspaces": {
+ "disable-scroll": true,
+ "format": "{name}"
+ },
+ "wlr/taskbar" : {
+ "format": "{icon}",
+ "icon-size": 20,
+ "spacing": 3,
+ "on-click": "activate",
+ "on-click-middle": "close",
+ },
+ "cpu": {
+ "format": " {usage}%",
+ "tooltip": false
+ },
+ "memory": {
+ "format": "\uf4bc {used:0.1f}G | {avail:0.1f}G",
+ "tooltip": false,
+ },
+ "network": {
+ "family": "ipv4",
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": " {essid}",
+ "format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
+ "format-disconnected": "Disconnected ⚠",
+ "tooltip-format": "{ifname}: {ipaddr}/{cidr}",
+ "interval": 5
+ },
+ "pulseaudio": {
+ "format": "{icon} {volume}%",
+ "format-muted": "\ueee8 ",
+ "format-source": "{volume}%",
+ "format-source-muted": "",
+ "on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
+ "format-icons": {
+ "headphones": "",
+ "handsfree": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["\uf027", "\uf028 "]
+ },
+ },
+ "clock": {
+ "interval": 1,
+ "format": "{:%r}",
+ "format-alt": "{:%A, %B %d, %Y | %r}",
+ "tooltip-format": "{calendar}",
+ "calendar": {
+ "format": {
+ "today": "{}",
+ }
+ },
+ },
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 20,
+ "critical": 10
+ },
+ "format": " {capacity}%",
+ "format-charging": "\udb80\udc85 {capacity}%",
+ "format-plugged": "",
+ "format-icons": ["", "", "", "", ""]
+ },
+ "sway/window": {
+ "format": "{app_id}",
+ "icon" : true
+ },
+ "tray": {
+ "icon-size": 18,
+ "spacing": 5,
+ "show-passive-items": "true"
+ },
+ /*"custom/poweroff": {
+ "format": "\udb81\udc25 ",
+ "on-click": "wlogout",
+ "tooltip": false,
+ }*/
+}
diff --git a/waybar/launch.sh b/waybar/launch.sh
new file mode 100755
index 0000000..066b0c4
--- /dev/null
+++ b/waybar/launch.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+CONFIG_FILES="$HOME/.config/waybar/config $HOME/.config/waybar/style.css"
+
+trap "killall waybar" EXIT
+
+while true; do
+ waybar &
+ inotifywait -e create,modify $CONFIG_FILES
+ killall waybar
+done
diff --git a/waybar/style.css b/waybar/style.css
new file mode 100644
index 0000000..d07a9b7
--- /dev/null
+++ b/waybar/style.css
@@ -0,0 +1,57 @@
+@define-color foreground #eff0f1;
+@define-color foreground-inactive #7f8c8d;
+@define-color background #161616;
+@define-color background-alt #31363b;
+
+* {
+ font-family: "NotoSans Nerd Font";
+ font-size: 16px;
+}
+window#waybar {
+ background-image: linear-gradient(to right,
+ #161616 0%,
+ #31363b 51%,
+ #161616 100%);
+
+ color: #ffffff;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+#waybar {
+ background-color: @background;
+ color: @foreground;
+}
+
+#workspaces button {
+ padding-left: 1em;
+ padding-right: 1.3em;
+ color: @foreground-inactive;
+}
+
+#workspaces button.focused {
+ background-color: @background-alt;
+ color: @foreground;
+ border-radius: 1px;
+}
+
+#taskbar {
+ color: @foreground;
+}
+
+#clock, #battery, #cpu, #memory, #network, #pulseaudio, #tray, #mode, #custom-poweroff {
+ padding-left: 0.25em;
+ padding-right: 0.25em;
+}
+
+#window {
+ padding-left: 0.25em;
+ padding-right: 0.5em;
+}
+
+#custom-poweroff {
+ padding-left: 0;
+ font-size: 22;
+}
+#custom-poweroff:hover {
+ color: red;
+}
diff --git a/xinitrc b/xinitrc
index 37ee3bb..7ce9208 100755
--- a/xinitrc
+++ b/xinitrc
@@ -2,6 +2,7 @@ export QT_STYLE_OVERRIDE=kvantum
export XDG_SESSION_TYPE=X11
systemctl --user import-environment DISPLAY
#xrandr --setprovideroutputsource modesetting NVIDIA-0
+#xrandr --auto
autorandr --change
xset -dpms
diff --git a/zshrc b/zshrc
index a2504b2..8cfdf93 100644
--- a/zshrc
+++ b/zshrc
@@ -10,13 +10,10 @@ CASE_SENSITIVE="true"
zstyle ':omz:update' mode auto # update automatically without asking
zstyle ':omz:update' frequency 7
-plugins=(zsh-autosuggestions sudo web-search poetry copypath gitignore)
+plugins=(zsh-autosuggestions sudo web-search copypath gitignore)
source $ZSH/oh-my-zsh.sh
-export LANG=en_US.UTF-8
-export EDITOR='nvim'
-export VISUAL='nvim-qt'
alias vim='nvim'
alias ws='web_search'
alias ncspot='~/.config/ncspot/playerctl_notifier.sh & ncspot'
@@ -57,4 +54,3 @@ export PATH
## Completion scripts setup. Remove the following line to uninstall
[[ -f /home/frosty/.dart-cli-completion/zsh-config.zsh ]] && . /home/frosty/.dart-cli-completion/zsh-config.zsh || true
## [/Completion]
-