diff --git a/.config/awesome/awesome-wm-widgets b/.config/awesome/awesome-wm-widgets
deleted file mode 160000
index ef70d16..0000000
--- a/.config/awesome/awesome-wm-widgets
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ef70d16c43c2f566a4fe2955b8d6c08f6c185af8
diff --git a/.config/awesome/binds/client.lua b/.config/awesome/binds/client.lua
deleted file mode 100644
index 1c516ec..0000000
--- a/.config/awesome/binds/client.lua
+++ /dev/null
@@ -1,21 +0,0 @@
--- Keys that affect the current window
-clientkeys = Gears.table.join(
- Awful.key({ Modkey, }, "f", function (c) c.fullscreen = not c.fullscreen c:raise() end,
- {description = "toggle fullscreen", group = "client"}),
- Awful.key({ Modkey, }, "q", function (c) c:kill() end,
- {description = "close", group = "client"}),
- Awful.key({ Modkey, }, "o", function (c) c:move_to_screen() end,
- {description = "move to screen", group = "client"}),
- Awful.key({ Modkey, }, "t", function (c) c.ontop = not c.ontop end,
- {description = "toggle keep on top", group = "client"}),
- Awful.key({ Modkey, "Shift" }, "n", function (c) c.maximized = not c.maximized c:raise() end,
- {description = "(un)maximize", group = "client"}),
- Awful.key({ Modkey, "Control" }, "space", Awful.client.floating.toggle ,
- {description = "toggle floating", group = "client"}),
- Awful.key({ Modkey, "Control" }, "Return", function (c) c:swap(Awful.client.getmaster()) end,
- {description = "move to master", group = "client"}),
- Awful.key({ Modkey, }, "j", function () Awful.client.focus.byidx( 1) end,
- {description = "focus next by index", group = "client"}),
- Awful.key({ Modkey, }, "k", function () Awful.client.focus.byidx(-1) end,
- {description = "focus previous by index", group = "client"})
-)
diff --git a/.config/awesome/binds/global.lua b/.config/awesome/binds/global.lua
deleted file mode 100644
index e4a1c05..0000000
--- a/.config/awesome/binds/global.lua
+++ /dev/null
@@ -1,67 +0,0 @@
-globalkeys = Gears.table.join(
- Awful.key({ }, "Print", function() os.execute("maimpick") end,
- {description = "run screenshot script", group="awesome"}),
- Awful.key({ Modkey, }, "F1", Hotkeys_popup.show_help ,
- {description = "show help", group="awesome"}),
- Awful.key({ Modkey, }, "l", function () Awful.screen.focus_relative( 1) end,
- {description = "focus next screen", group = "screen"}),
- Awful.key({ Modkey, }, "h", function () Awful.screen.focus_relative(-1) end,
- {description = "focus previous screen", group = "screen"}),
- Awful.key({ Modkey, }, "w", function () Awful.spawn(Browser) end,
- {description = "open browser", group = "launcher"}),
- Awful.key({ Modkey, "Shift" }, "w", function () Awful.spawn(Browser2) end,
- {description = "open browser2", group = "launcher"}),
- Awful.key({ Modkey, }, "e", function () Awful.spawn(Editor_cmd) end,
- {description = "open editor", group = "launcher"}),
- Awful.key({ Modkey, "Shift" }, "e", function () Awful.spawn("thunderbird") end,
- {description = "open thunderbird", group = "launcher"}),
- Awful.key({ Modkey, }, "m", function () Awful.spawn(Music) end,
- {description = "open spotify", group = "launcher"}),
- Awful.key({ Modkey, }, "d", function () Awful.spawn("discord --enable-gpu-rasterization") end,
- {description = "open discord", group = "launcher"}),
- Awful.key({ Modkey, }, "c", function () Awful.spawn("caprine") end,
- {description = "open caprine", group = "launcher"}),
- Awful.key({ Modkey, "Shift" }, "c", function () Awful.spawn("telegram-desktop") end,
- {description = "open telegram-desktop", group = "launcher"}),
- Awful.key({ Modkey, }, "g", function () Awful.spawn("godot") end,
- {description = "open godot", group = "launcher"}),
- Awful.key({ Modkey, "Shift" }, "g", function () Awful.spawn("steam-native") end,
- {description = "open steam", group = "launcher"}),
- Awful.key({ Modkey, }, "Return", function () Awful.spawn(Terminal) end,
- {description = "open a terminal", group = "launcher"}),
- Awful.key({ Modkey, }, "BackSpace", awesome.restart ,
- {description = "reload awesome", group = "awesome"}),
- Awful.key({ Modkey, "Shift" }, "Escape", awesome.quit ,
- {description = "quit awesome", group = "awesome"}),
- Awful.key({ Modkey, }, "v", function () Awful.spawn("virt-manager") end,
- {description = "open virt-manager", group = "launcher"}),
- Awful.key({ Modkey, "Shift" }, "k", function () Awful.tag.incmwfact( 0.05) end,
- {description = "resize split +", group = "layout"}),
- Awful.key({ Modkey, "Shift" }, "j", function () Awful.tag.incmwfact(-0.05) end,
- {description = "resize split -", group = "layout"}),
- Awful.key({ Modkey, }, "space", function () Awful.layout.inc( 1) end,
- {description = "select next", group = "layout"}),
- Awful.key({ Modkey, "Shift" }, "space", function () Awful.layout.inc(-1) end,
- {description = "select previous", group = "layout"}),
- Awful.key({ Modkey, }, "r", function () Awful.screen.focused().mypromptbox:run() end,
- {description = "run prompt", group = "launcher"}),
-
- -- Media
- Awful.key({}, "XF86AudioPlay", function() os.execute("playerctl play-pause") end),
- Awful.key({}, "XF86AudioStop", function() os.execute("playerctl stop") end),
- Awful.key({}, "XF86AudioNext", function() os.execute("playerctl next") end),
- Awful.key({}, "XF86AudioPrev", function() os.execute("playerctl previous") end),
- Awful.key({}, "XF86AudioRaiseVolume", function() os.execute("pamixer -i 3") end),
- Awful.key({}, "XF86AudioLowerVolume", function() os.execute("pamixer -d 3") end),
- Awful.key({}, "XF86AudioMute", function() os.execute("pamixer -t") end),
- Awful.key({}, "XF86AudioMicMute", function() os.execute("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end),
-
- Awful.key({ Modkey, }, "Tab",
- function ()
- Awful.client.focus.history.previous()
- if client.focus then
- client.focus:raise()
- end
- end,
- {description = "go back", group = "client"})
-)
diff --git a/.config/awesome/binds/init.lua b/.config/awesome/binds/init.lua
deleted file mode 100644
index 7eaa7dc..0000000
--- a/.config/awesome/binds/init.lua
+++ /dev/null
@@ -1,74 +0,0 @@
-require('binds.global')
-require('binds.client')
-
--- Mouse
-root.buttons(Gears.table.join(
- Awful.button({ }, 4, Awful.tag.viewnext),
- Awful.button({ }, 5, Awful.tag.viewprev)
-))
--- Bind all key numbers to tags.
--- Be careful: we use keycodes to make it work on any keyboard layout.
--- This should map on the top row of your keyboard, usually 1 to 9.
-for i = 1, 9 do
- globalkeys = Gears.table.join(globalkeys,
- -- View tag only.
- Awful.key({ Modkey }, "#" .. i + 9,
- function ()
- local screen = Awful.screen.focused()
- local tag = screen.tags[i]
- if tag then
- tag:view_only()
- end
- end,
- {description = "view tag #"..i, group = "tag"}),
- -- Toggle tag display.
- Awful.key({ Modkey, "Control" }, "#" .. i + 9,
- function ()
- local screen = Awful.screen.focused()
- local tag = screen.tags[i]
- if tag then
- Awful.tag.viewtoggle(tag)
- end
- end,
- {description = "toggle tag #" .. i, group = "tag"}),
- -- Move client to tag.
- Awful.key({ Modkey, "Shift" }, "#" .. i + 9,
- function ()
- if client.focus then
- local tag = client.focus.screen.tags[i]
- if tag then
- client.focus:move_to_tag(tag)
- end
- end
- end,
- {description = "move focused client to tag #"..i, group = "tag"}),
- -- Toggle tag on focused client.
- Awful.key({ Modkey, "Control", "Shift" }, "#" .. i + 9,
- function ()
- if client.focus then
- local tag = client.focus.screen.tags[i]
- if tag then
- client.focus:toggle_tag(tag)
- end
- end
- end,
- {description = "toggle focused client on tag #" .. i, group = "tag"})
- )
-end
-
-clientbuttons = Gears.table.join(
- Awful.button({ }, 1, function (c)
- c:emit_signal("request::activate", "mouse_click", {raise = true})
- end),
- Awful.button({ Modkey }, 1, function (c)
- c:emit_signal("request::activate", "mouse_click", {raise = true})
- Awful.mouse.client.move(c)
- end),
- Awful.button({ Modkey }, 3, function (c)
- c:emit_signal("request::activate", "mouse_click", {raise = true})
- Awful.mouse.client.resize(c)
- end)
-)
-
--- Set keys
-root.keys(globalkeys)
diff --git a/.config/awesome/core/init.lua b/.config/awesome/core/init.lua
deleted file mode 100644
index 3fc36c1..0000000
--- a/.config/awesome/core/init.lua
+++ /dev/null
@@ -1,31 +0,0 @@
-if awesome.startup_errors then
- Naughty.notify({ preset = naughty.config.presets.critical,
- title = "Oops, there were errors during startup!",
- text = awesome.startup_errors })
-end
-
--- Handle runtime errors after startup
-do
- local in_error = false
- awesome.connect_signal("debug::error", function (err)
- -- Make sure we don't go into an endless error loop
- if in_error then return end
- in_error = true
-
- Naughty.notify({ preset = naughty.config.presets.critical,
- title = "Oops, an error happened!",
- text = tostring(err) })
- in_error = false
- end)
-end
-
-require("awful.autofocus")
-require("awful.hotkeys_popup.keys")
-
-Gears = require("gears")
-Awful = require("awful")
-Wibox = require("wibox")
-Beautiful = require("beautiful")
-Naughty = require("naughty")
-Menubar = require("menubar")
-Hotkeys_popup = require("awful.hotkeys_popup")
diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua
deleted file mode 100644
index f48eaa3..0000000
--- a/.config/awesome/rc.lua
+++ /dev/null
@@ -1,27 +0,0 @@
-require('core')
-
-Terminal = "kitty"
-Editor = "nvim"
-Editor_cmd = Terminal .. " -e " .. Editor
-Browser = "firefox-developer-edition"
-Browser2 = "google-chrome-beta"
-Music = "spotify-launcher"
-Modkey = "Mod4"
-
-Beautiful.init(".config/awesome/theme.lua")
-
-Awful.layout.layouts = {
- Awful.layout.suit.tile.right,
- Awful.layout.suit.tile.top,
- Awful.layout.suit.tile.left,
- Awful.layout.suit.tile.bottom,
-}
-
-Menubar.utils.terminal = Terminal -- Set the terminal for applications that require it
-
-require('wibar')
-require('binds')
-require('rules')
-require('signals')
-
-Gears.timer.start_new(10, function() collectgarbage("step", 20000) return true end)
diff --git a/.config/awesome/rules/init.lua b/.config/awesome/rules/init.lua
deleted file mode 100644
index 29e35a2..0000000
--- a/.config/awesome/rules/init.lua
+++ /dev/null
@@ -1,50 +0,0 @@
-Awful.rules.rules = {
- -- All clients will match this rule.
- { rule = { },
- properties = { border_width = Beautiful.border_width,
- border_color = Beautiful.border_normal,
- focus = Awful.client.focus.filter,
- raise = true,
- keys = clientkeys,
- buttons = clientbuttons,
- screen = Awful.screen.preferred,
- placement = Awful.placement.no_overlap+Awful.placement.no_offscreen
- }
- },
-
- -- Floating clients.
- { rule_any = {
- instance = {
- "DTA", -- Firefox addon DownThemAll.
- "copyq", -- Includes session name in class.
- "pinentry",
- },
- class = {
- "Arandr",
- "Blueman-manager",
- "Gpick",
- "Kruler",
- "MessageWin", -- kalarm.
- "Sxiv",
- "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
- "Wpa_gui",
- "veromix",
- "xtightvncviewer"},
-
- -- Note that the name property shown in xprop might be set slightly after creation of the client
- -- and the name shown there might not match defined rules here.
- name = {
- "Event Tester", -- xev.
- },
- role = {
- "AlarmWindow", -- Thunderbird's calendar.
- "ConfigManager", -- Thunderbird's about:config.
- "pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
- }
- }, properties = { floating = true }},
-
- -- Add titlebars to normal clients and dialogs
- { rule_any = {type = { "normal", "dialog" }
- }, properties = { titlebars_enabled = false }
- },
-}
diff --git a/.config/awesome/signals/init.lua b/.config/awesome/signals/init.lua
deleted file mode 100644
index 29cf127..0000000
--- a/.config/awesome/signals/init.lua
+++ /dev/null
@@ -1,60 +0,0 @@
-client.connect_signal("manage", function (c)
- -- Set the windows at the slave,
- -- i.e. put it at the end of others instead of setting it master.
- -- if not awesome.startup then awful.client.setslave(c) end
-
- if awesome.startup
- and not c.size_hints.user_position
- and not c.size_hints.program_position then
- -- Prevent clients from being unreachable after screen count changes.
- Awful.placement.no_offscreen(c)
- end
-end)
-
--- Add a titlebar if titlebars_enabled is set to true in the rules.
-client.connect_signal("request::titlebars", function(c)
- -- buttons for the titlebar
- local buttons = Gears.table.join(
- Awful.button({ }, 1, function()
- c:emit_signal("request::activate", "titlebar", {raise = true})
- Awful.mouse.client.move(c)
- end),
- Awful.button({ }, 3, function()
- c:emit_signal("request::activate", "titlebar", {raise = true})
- Awful.mouse.client.resize(c)
- end)
- )
-
- Awful.titlebar(c) : setup {
- { -- Left
- Awful.titlebar.widget.iconwidget(c),
- buttons = buttons,
- layout = Wibox.layout.fixed.horizontal
- },
- { -- Middle
- { -- Title
- align = "center",
- widget = Awful.titlebar.widget.titlewidget(c)
- },
- buttons = buttons,
- layout = Wibox.layout.flex.horizontal
- },
- { -- Right
- Awful.titlebar.widget.floatingbutton (c),
- Awful.titlebar.widget.maximizedbutton(c),
- Awful.titlebar.widget.stickybutton (c),
- Awful.titlebar.widget.ontopbutton (c),
- Awful.titlebar.widget.closebutton (c),
- layout = Wibox.layout.fixed.horizontal()
- },
- layout = Wibox.layout.align.horizontal
- }
-end)
-
--- Enable sloppy focus, so that focus follows mouse.
-client.connect_signal("mouse::enter", function(c)
- c:emit_signal("request::activate", "mouse_enter", {raise = false})
-end)
-
-client.connect_signal("focus", function(c) c.border_color = Beautiful.border_focus end)
-client.connect_signal("unfocus", function(c) c.border_color = Beautiful.border_normal end)
diff --git a/.config/awesome/theme.lua b/.config/awesome/theme.lua
deleted file mode 100644
index 0c86468..0000000
--- a/.config/awesome/theme.lua
+++ /dev/null
@@ -1,69 +0,0 @@
-local theme_assets = require("beautiful.theme_assets")
-local xresources = require("beautiful.xresources")
-local dpi = xresources.apply_dpi
-local xrdb = xresources.get_current_theme()
-
-local gfs = require("gears.filesystem")
-local themes_path = gfs.get_themes_dir()
-
-local theme = {}
-
-theme.font = "monospace 11"
-theme.wallpaper = '.cache/wal/bg'
-
-theme.useless_gap = dpi(0)
-theme.border_width = dpi(1)
-
-theme.menu_height = dpi(15)
-theme.menu_width = dpi(100)
-
--- Colors
-theme.bg_normal = xrdb.background
-theme.bg_focus = xrdb.color4
-theme.bg_urgent = xrdb.color1
-theme.bg_minimize = xrdb.color4
-theme.bg_systray = theme.bg_normal
-
-theme.fg_normal = xrdb.foreground
-theme.fg_focus = xrdb.foreground
-theme.fg_urgent = xrdb.foreground
-theme.fg_minimize = xrdb.foreground
-
-theme.border_normal = xrdb.color5
-theme.border_focus = xrdb.color4
-theme.border_marked = xrdb.color10
-
--- Generate taglist squares:
-local taglist_square_size = dpi(4)
-theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
- taglist_square_size, theme.fg_normal
-)
-theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
- taglist_square_size, theme.fg_normal
-)
-
--- You can use your own layout icons like this:
-theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
-theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
-theme.layout_floating = themes_path.."default/layouts/floatingw.png"
-theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
-theme.layout_max = themes_path.."default/layouts/maxw.png"
-theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
-theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
-theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
-theme.layout_tile = themes_path.."default/layouts/tilew.png"
-theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
-theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
-theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
-theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
-theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
-theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
-theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
-
--- Define the icon theme for application icons. If not set then the icons
--- from /usr/share/icons and /usr/share/icons/hicolor will be used.
-theme.icon_theme = nil
-
-return theme
-
--- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
diff --git a/.config/awesome/wibar/init.lua b/.config/awesome/wibar/init.lua
deleted file mode 100644
index 36c7d01..0000000
--- a/.config/awesome/wibar/init.lua
+++ /dev/null
@@ -1,76 +0,0 @@
-require('wibar.widgets')
-require('wibar.taglist')
-require('wibar.tasklist')
-
-local function set_wallpaper(s)
- -- Wallpaper
- if Beautiful.wallpaper then
- local wallpaper = Beautiful.wallpaper
- -- If wallpaper is a function, call it with the screen
- if type(wallpaper) == "function" then
- wallpaper = wallpaper(s)
- end
- Gears.wallpaper.maximized(wallpaper, s, true)
- end
-end
-
--- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
-screen.connect_signal("property::geometry", set_wallpaper)
-
-Awful.screen.connect_for_each_screen(function(s)
- -- set_wallpaper(s)
-
- -- Each screen has its own tag table.
- Awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, Awful.layout.layouts[1])
-
- -- Create a promptbox for each screen
- s.mypromptbox = Awful.widget.prompt()
- -- Create an imagebox widget which will contain an icon indicating which layout we're using.
- -- We need one layoutbox per screen.
- s.mylayoutbox = Awful.widget.layoutbox(s)
- s.mylayoutbox:buttons(Gears.table.join(
- Awful.button({ }, 3, function () Awful.layout.inc(-1) end),
- Awful.button({ }, 4, function () Awful.layout.inc( 1) end),
- Awful.button({ }, 5, function () Awful.layout.inc(-1) end)))
- -- Create a taglist widget
- s.mytaglist = Awful.widget.taglist {
- screen = s,
- filter = Awful.widget.taglist.filter.all,
- buttons = Taglist_buttons
- }
-
- -- Create a tasklist widget
- s.mytasklist = Awful.widget.tasklist {
- screen = s,
- filter = Awful.widget.tasklist.filter.currenttags,
- buttons = Tasklist_buttons
- }
-
- -- Create the Wibox
- s.myWibox = Awful.wibar({ position = "top", screen = s })
-
- -- Add widgets to the Wibox
- s.myWibox:setup {
- layout = Wibox.layout.align.horizontal,
- { -- Left widgets
- layout = Wibox.layout.fixed.horizontal,
- --mylauncher,
- s.mytaglist,
- s.mypromptbox,
- },
-
- s.mytasklist, -- Middle widget
-
- { -- Right widgets
- layout = Wibox.layout.fixed.horizontal,
- Cpu_widget(),
- Ram_widget(),
- Batteryarc_widget({enable_battery_warning = false}),
- Wibox.widget.systray(),
- Mytextclock,
- s.mylayoutbox,
- },
- }
-end)
-
-os.execute('nitrogen --set-zoom-fill $(awk {print} ~/.cache/wal/wal)')
diff --git a/.config/awesome/wibar/taglist.lua b/.config/awesome/wibar/taglist.lua
deleted file mode 100644
index 1b22e1f..0000000
--- a/.config/awesome/wibar/taglist.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-Taglist_buttons = Gears.table.join(
- Awful.button({ }, 1, function(t) t:view_only() end),
- Awful.button({ Modkey }, 1, function(t)
- if client.focus then
- client.focus:move_to_tag(t)
- end
- end),
- Awful.button({ }, 3, Awful.tag.viewtoggle),
- Awful.button({ Modkey }, 3, function(t)
- if client.focus then
- client.focus:toggle_tag(t)
- end
- end),
- Awful.button({ }, 4, function(t) Awful.tag.viewnext(t.screen) end),
- Awful.button({ }, 5, function(t) Awful.tag.viewprev(t.screen) end)
- )
diff --git a/.config/awesome/wibar/tasklist.lua b/.config/awesome/wibar/tasklist.lua
deleted file mode 100644
index a21269c..0000000
--- a/.config/awesome/wibar/tasklist.lua
+++ /dev/null
@@ -1,21 +0,0 @@
-Tasklist_buttons = Gears.table.join(
- Awful.button({ }, 1, function (c)
- if c == client.focus then
- c.minimized = true
- else
- c:emit_signal(
- "request::activate",
- "tasklist",
- {raise = true}
- )
- end
- end),
- Awful.button({ }, 3, function()
- Awful.menu.client_list({ theme = { width = 250 } })
- end),
- Awful.button({ }, 4, function ()
- Awful.client.focus.byidx(1)
- end),
- Awful.button({ }, 5, function ()
- Awful.client.focus.byidx(-1)
- end))
diff --git a/.config/awesome/wibar/widgets.lua b/.config/awesome/wibar/widgets.lua
deleted file mode 100644
index 7c210e0..0000000
--- a/.config/awesome/wibar/widgets.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-Calendar_widget = require("awesome-wm-widgets.calendar-widget.calendar")
-Cpu_widget = require("awesome-wm-widgets.cpu-widget.cpu-widget")
-Ram_widget = require("awesome-wm-widgets.ram-widget.ram-widget")
-Batteryarc_widget = require("awesome-wm-widgets.batteryarc-widget.batteryarc")
-
-local cw = Calendar_widget({
- placement = 'top_right',
- start_sunday = 'true',
- previous_month_button = 4,
- next_month_button = 5,
-})
-
-Mytextclock = Wibox.widget{
- format = ' %a %b %d, %I:%M%P ',
- widget = Wibox.widget.textclock
-}
-Mytextclock:connect_signal("button::press",
- function(_, _, _, button)
- if button == 1 then cw.toggle() end
- end)
diff --git a/.config/picom.conf b/.config/picom.conf
deleted file mode 100644
index 5162756..0000000
--- a/.config/picom.conf
+++ /dev/null
@@ -1,44 +0,0 @@
-vsync = true;
-unredir-if-possible = true;
-
-backend = "glx";
-glx-no-stencil = true;
-glx-no-rebind-pixmap = false;
-
-fading = true;
-fade-delta = 5;
-fade-exclude = [ ];
-
-mark-wmwin-focused = true;
-mark-ovredir-focused = true;
-use-ewmh-active-win = false;
-detect-transient = true;
-detect-client-leader = true;
-
-wintypes :
-{
- tooltip :
- {
- fade = true;
- shadow = true;
- opacity = 0.75;
- focus = true;
- full-shadow = false;
- };
- dock :
- {
- shadow = false;
- };
- dnd :
- {
- shadow = false;
- };
- popup_menu :
- {
- opacity = 1.0;
- };
- dropdown_menu :
- {
- opacity = 1.0;
- };
-};
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc
deleted file mode 100644
index 8ed5f25..0000000
--- a/.config/shell/aliasrc
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-
-
-# Use neovim for vim if present.
-[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
-
-# /comfy/
-alias \
-v="vim ." \
-x="exit" \
-ka="killall" \
-bb="byobu" \
-
-# Shortcuts
-alias \
-cf="~/.config && v" \
-cfv="~/.config/nvim && v" \
-cfa="~/.config/awesome && v" \
-cfs="~/.config/shell && v" \
-cfl="~/.config/lf && v" \
-cfx="~/.config/x11 && v" \
-cfz="~/.config/zsh && v" \
-cfk="~/.config/kitty && v" \
-cfp="nvim ~/.config/picom.conf" \
-
-# Add verbosity
-alias \
-cp="cp -iv" \
-mv="mv -iv" \
-rm="rm -vI" \
-mkd="mkdir -pv" \
-
-# Add color
-alias \
-ls="ls -hN --color=auto --group-directories-first" \
-grep="grep --color=auto" \
-diff="diff --color=auto" \
-ccat="highlight --out-format=ansi" \
-
-# Laziness
-alias \
-hosts="sudo nvim /etc/hosts" \
-push="rsync -avzP --copy-links " \
-sup="push ~/projects/http deez:" \
-
-# Forget why
-wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
diff --git a/.config/shell/inputrc b/.config/shell/inputrc
deleted file mode 100644
index f9b94dd..0000000
--- a/.config/shell/inputrc
+++ /dev/null
@@ -1,19 +0,0 @@
-$include /etc/inputrc
-set editing-mode vi
-$if mode=vi
-
-set show-mode-in-prompt on
-set vi-ins-mode-string \1\e[6 q\2
-set vi-cmd-mode-string \1\e[2 q\2
-
-set keymap vi-command
-# these are for vi-command mode
-Control-l: clear-screen
-Control-a: beginning-of-line
-
-set keymap vi-insert
-# these are for vi-insert mode
-Control-l: clear-screen
-Control-a: beginning-of-line
-
-$endif
diff --git a/.config/shell/shortcutrc b/.config/shell/shortcutrc
deleted file mode 100644
index c92e262..0000000
--- a/.config/shell/shortcutrc
+++ /dev/null
@@ -1,6 +0,0 @@
-# vim: filetype=sh
-cf="~/.config && v" \
-cfv="~/.config/nvim && v" \
-cfa="~/.config/awesome && v" \
-cfs="~/.config/shell && v" \
-cfl="~/.config/lf && v" \
diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc
deleted file mode 100755
index 691d62d..0000000
--- a/.config/x11/xinitrc
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
- . "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
-else
- . "$HOME/.xprofile"
-fi
-
-# optimus
-if [ -x $(command -v optimus-manager) ]; then
- sudo prime-switch
- prime-offload
-fi
-
-wal -R
-ssh-agent awesome
diff --git a/.config/x11/xprofile b/.config/x11/xprofile
deleted file mode 100755
index 569fdc3..0000000
--- a/.config/x11/xprofile
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-[ -x "$(command -v g610-led)" ] && g610-led -a ff &
-if [ -f ".screenlayout/default.sh" ]; then
- . ".screenlayout/default.sh" &
-fi
-
-xmodmap -e 'clear lock' &
-xmodmap -e 'keysym Caps_Lock = Escape' &
-picom -b &
-xset r rate 300 50 &
-unclutter &
-redshift -l 43:-70 &
-xclip &
diff --git a/.scripts/doors/setup b/.scripts/doors/setup
deleted file mode 100755
index 5d8a019..0000000
--- a/.scripts/doors/setup
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-echo "
-=======================================================
-Installing D's nux (you're gonna love my nux(really))
-=======================================================
-"
-
-# Clean up
-if test -d Doors; then
- rm -rf Doors
-elif test -d .doors; then
- rm -rf .doors
-fi
-
-# Prep
-
-cd &&
-mkdir .doors
-
-# Bootstrap into distro scripts
-. /etc/os-release
-OS=$NAME
-
-if [[ $OS == *Arch* ]]; then
- cd &&
- sudo sed '/Color/s/^#//' -i /etc/pacman.conf &&
- sudo pacman -S --needed --noconfirm git rsync base-devel &&
- git clone https://github.com/adoyle0/Doors.git .doors &&
- .doors/.scripts/doors/install_min_arch
-
-elif [[ $OS == *buntu* ]]; then
- cd &&
- sudo apt-get -y install git rsync &&
- git clone https://github.com/adoyle0/Doors.git .doors &&
- .doors/.scripts/doors/install_min_ubuntu
-
-elif [[ $OS == *Fedora* ]]; then
- cd &&
- sudo dnf install -y git rsync &&
- git clone https://github.com/adoyle0/Doors.git .doors &&
- .doors/.scripts/doors/install_min_fedora
-fi
-
-# send it
-cd &&
- rsync -aqzP .doors/ .
-
-# cleanup
-cd &&
- rm -rf .git &&
- rm -rf .doors
-
-echo 'Start a new shell'
diff --git a/.scripts/doors/swal b/.scripts/doors/swal
deleted file mode 100755
index 3b9a22f..0000000
--- a/.scripts/doors/swal
+++ /dev/null
@@ -1,2 +0,0 @@
-cp $(awk {print} ~/.cache/wal/wal) ~/projects/doordesk/doordesk/public/bg.png
-cp ~/.cache/wal/colors.css ~projects/doordesk/doordesk/public/colors.css
diff --git a/.zprofile b/.zprofile
deleted file mode 100644
index 759eaf9..0000000
--- a/.zprofile
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/zsh
-
-export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
-
-unsetopt PROMPT_SP
-
-# Default programs:
-export EDITOR="nvim"
-export TERMINAL="kitty"
-export BROWSER="firefox-developer-edition"
-
-# Move config files out of home and into .config/
-export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
-export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
-export LESSHISTFILE="-"
-export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
-export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
-export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
-export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
-export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
-export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
-export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
-export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
-export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
-
-# Other program settings:
-export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
-export LESS=-R
-export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
-export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
-export LESS_TERMCAP_me="$(printf '%b' '[0m')"
-export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
-export LESS_TERMCAP_se="$(printf '%b' '[0m')"
-export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
-export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
-export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
-export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
-
-# This is the list for lf icons:
-export LF_ICONS="di=📁:\
-fi=📃:\
-tw=🤝:\
-ow=📂:\
-ln=⛓:\
-or=❌:\
-ex=🎯:\
-*.txt=✍:\
-*.mom=✍:\
-*.me=✍:\
-*.ms=✍:\
-*.png=🖼:\
-*.webp=🖼:\
-*.ico=🖼:\
-*.jpg=📸:\
-*.jpe=📸:\
-*.jpeg=📸:\
-*.gif=🖼:\
-*.svg=🗺:\
-*.tif=🖼:\
-*.tiff=🖼:\
-*.xcf=🖌:\
-*.html=🌎:\
-*.xml=📰:\
-*.gpg=🔒:\
-*.css=🎨:\
-*.pdf=📚:\
-*.djvu=📚:\
-*.epub=📚:\
-*.csv=📓:\
-*.xlsx=📓:\
-*.tex=📜:\
-*.md=📘:\
-*.r=📊:\
-*.R=📊:\
-*.rmd=📊:\
-*.Rmd=📊:\
-*.m=📊:\
-*.mp3=🎵:\
-*.opus=🎵:\
-*.ogg=🎵:\
-*.m4a=🎵:\
-*.flac=🎼:\
-*.wav=🎼:\
-*.mkv=🎥:\
-*.mp4=🎥:\
-*.webm=🎥:\
-*.mpeg=🎥:\
-*.avi=🎥:\
-*.mov=🎥:\
-*.mpg=🎥:\
-*.wmv=🎥:\
-*.m4b=🎥:\
-*.flv=🎥:\
-*.zip=📦:\
-*.rar=📦:\
-*.7z=📦:\
-*.tar.gz=📦:\
-*.z64=🎮:\
-*.v64=🎮:\
-*.n64=🎮:\
-*.gba=🎮:\
-*.nes=🎮:\
-*.gdi=🎮:\
-*.1=ℹ:\
-*.nfo=ℹ:\
-*.info=ℹ:\
-*.log=📙:\
-*.iso=📀:\
-*.img=📀:\
-*.bib=🎓:\
-*.ged=👪:\
-*.part=💔:\
-*.torrent=🔽:\
-*.jar=♨:\
-*.java=♨:\
-"
-
-[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
diff --git a/.config/kitty/kitty.conf b/configs/kitty/kitty.conf
similarity index 100%
rename from .config/kitty/kitty.conf
rename to configs/kitty/kitty.conf
diff --git a/.config/lf/lfrc b/configs/lf/lfrc
similarity index 100%
rename from .config/lf/lfrc
rename to configs/lf/lfrc
diff --git a/configs/mako/config b/configs/mako/config
new file mode 100644
index 0000000..76b23de
--- /dev/null
+++ b/configs/mako/config
@@ -0,0 +1,2 @@
+ignore-timeout=1
+default-timeout=5000
diff --git a/configs/mako/update-theme b/configs/mako/update-theme
new file mode 100755
index 0000000..ebac452
--- /dev/null
+++ b/configs/mako/update-theme
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+. "${HOME}/.cache/wal/colors.sh"
+
+conffile="~/.config/mako/config"
+
+# Associative array, color name -> color code.
+declare -A colors
+colors=(
+ ["background-color"]="${background}89"
+ ["text-color"]="$foreground"
+ ["border-color"]="$color13"
+)
+
+for color_name in "${!colors[@]}"; do
+ # replace first occurance of each color in config file
+ sed -i "0,/^$color_name.*/{s//$color_name=${colors[$color_name]}/}" $conffile
+done
+
+makoctl reload
diff --git a/.config/nvim/after/plugin/colors.lua b/configs/nvim/after/plugin/colors.lua
similarity index 100%
rename from .config/nvim/after/plugin/colors.lua
rename to configs/nvim/after/plugin/colors.lua
diff --git a/.config/nvim/after/plugin/fugitive.lua b/configs/nvim/after/plugin/fugitive.lua
similarity index 100%
rename from .config/nvim/after/plugin/fugitive.lua
rename to configs/nvim/after/plugin/fugitive.lua
diff --git a/.config/nvim/after/plugin/harpoon.lua b/configs/nvim/after/plugin/harpoon.lua
similarity index 100%
rename from .config/nvim/after/plugin/harpoon.lua
rename to configs/nvim/after/plugin/harpoon.lua
diff --git a/.config/nvim/after/plugin/lsp.lua b/configs/nvim/after/plugin/lsp.lua
similarity index 100%
rename from .config/nvim/after/plugin/lsp.lua
rename to configs/nvim/after/plugin/lsp.lua
diff --git a/.config/nvim/after/plugin/mason.lua b/configs/nvim/after/plugin/mason.lua
similarity index 100%
rename from .config/nvim/after/plugin/mason.lua
rename to configs/nvim/after/plugin/mason.lua
diff --git a/.config/nvim/after/plugin/telescope.lua b/configs/nvim/after/plugin/telescope.lua
similarity index 100%
rename from .config/nvim/after/plugin/telescope.lua
rename to configs/nvim/after/plugin/telescope.lua
diff --git a/.config/nvim/after/plugin/treesitter.lua b/configs/nvim/after/plugin/treesitter.lua
similarity index 100%
rename from .config/nvim/after/plugin/treesitter.lua
rename to configs/nvim/after/plugin/treesitter.lua
diff --git a/.config/nvim/after/plugin/undotree.lua b/configs/nvim/after/plugin/undotree.lua
similarity index 100%
rename from .config/nvim/after/plugin/undotree.lua
rename to configs/nvim/after/plugin/undotree.lua
diff --git a/.config/nvim/init.lua b/configs/nvim/init.lua
similarity index 100%
rename from .config/nvim/init.lua
rename to configs/nvim/init.lua
diff --git a/.config/nvim/lua/adam/ensure.lua b/configs/nvim/lua/adam/ensure.lua
similarity index 100%
rename from .config/nvim/lua/adam/ensure.lua
rename to configs/nvim/lua/adam/ensure.lua
diff --git a/.config/nvim/lua/adam/init.lua b/configs/nvim/lua/adam/init.lua
similarity index 100%
rename from .config/nvim/lua/adam/init.lua
rename to configs/nvim/lua/adam/init.lua
diff --git a/.config/nvim/lua/adam/packer.lua b/configs/nvim/lua/adam/packer.lua
similarity index 100%
rename from .config/nvim/lua/adam/packer.lua
rename to configs/nvim/lua/adam/packer.lua
diff --git a/.config/nvim/lua/adam/remap.lua b/configs/nvim/lua/adam/remap.lua
similarity index 100%
rename from .config/nvim/lua/adam/remap.lua
rename to configs/nvim/lua/adam/remap.lua
diff --git a/.config/nvim/lua/adam/set.lua b/configs/nvim/lua/adam/set.lua
similarity index 100%
rename from .config/nvim/lua/adam/set.lua
rename to configs/nvim/lua/adam/set.lua
diff --git a/.config/nvim/plugin/packer_compiled.lua b/configs/nvim/plugin/packer_compiled.lua
similarity index 100%
rename from .config/nvim/plugin/packer_compiled.lua
rename to configs/nvim/plugin/packer_compiled.lua
diff --git a/configs/river/init b/configs/river/init
new file mode 100755
index 0000000..b3dd44a
--- /dev/null
+++ b/configs/river/init
@@ -0,0 +1,164 @@
+#!/bin/sh
+
+waybar &
+swaybg -i ~/.cache/wal/bg &
+mako &
+
+riverctl map normal Super Return spawn kitty
+riverctl map normal Super W spawn firefox-developer-edition
+riverctl map normal Super+Shift W spawn google-chrome-beta
+riverctl map normal Super R spawn fuzzel
+riverctl map normal Super C spawn "caprine --enable-features=UseOzonePlatform --ozone-platform=wayland"
+riverctl map normal Super+Shift C spawn telegram-desktop
+riverctl map normal Super D spawn "discord --enable-features=UseOzonePlatform --ozone-platform=wayland"
+riverctl map normal Super G spawn gimp
+riverctl map normal Super+Shift G spawn steam-native
+riverctl map normal Super M spawn spotify-launcher
+
+# Super+Q to close the focused view
+riverctl map normal Super Q close
+
+# Super+Shift+E to exit river
+riverctl map normal Super+Shift E exit
+
+# Super+J and Super+K to focus the next/previous view in the layout stack
+riverctl map normal Super J focus-view next
+riverctl map normal Super K focus-view previous
+
+# Super+Shift+J and Super+Shift+K to swap the focused view with the next/previous
+# view in the layout stack
+riverctl map normal Super+Shift J swap next
+riverctl map normal Super+Shift K swap previous
+
+# Super+Period and Super+Comma to focus the next/previous output
+riverctl map normal Super Period focus-output next
+riverctl map normal Super Comma focus-output previous
+
+# Super+Shift+{Period,Comma} to send the focused view to the next/previous output
+riverctl map normal Super+Shift Period send-to-output next
+riverctl map normal Super+Shift Comma send-to-output previous
+
+# Super+Return to bump the focused view to the top of the layout stack
+riverctl map normal Super+Shift Return zoom
+
+# Super+H and Super+L to decrease/increase the main ratio of rivertile(1)
+riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05"
+riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05"
+
+# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1)
+riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1"
+riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1"
+
+# Super+Alt+{H,J,K,L} to move views
+riverctl map normal Super+Alt H move left 100
+riverctl map normal Super+Alt J move down 100
+riverctl map normal Super+Alt K move up 100
+riverctl map normal Super+Alt L move right 100
+
+# Super+Alt+Control+{H,J,K,L} to snap views to screen edges
+riverctl map normal Super+Alt+Control H snap left
+riverctl map normal Super+Alt+Control J snap down
+riverctl map normal Super+Alt+Control K snap up
+riverctl map normal Super+Alt+Control L snap right
+
+# Super+Alt+Shift+{H,J,K,L} to resize views
+riverctl map normal Super+Alt+Shift H resize horizontal -100
+riverctl map normal Super+Alt+Shift J resize vertical 100
+riverctl map normal Super+Alt+Shift K resize vertical -100
+riverctl map normal Super+Alt+Shift L resize horizontal 100
+
+# Super + Left Mouse Button to move views
+riverctl map-pointer normal Super BTN_LEFT move-view
+
+# Super + Right Mouse Button to resize views
+riverctl map-pointer normal Super BTN_RIGHT resize-view
+
+# Super + Middle Mouse Button to toggle float
+riverctl map-pointer normal Super BTN_MIDDLE toggle-float
+
+for i in $(seq 1 9)
+do
+ tags=$((1 << ($i - 1)))
+
+ # Super+[1-9] to focus tag [0-8]
+ riverctl map normal Super $i set-focused-tags $tags
+
+ # Super+Shift+[1-9] to tag focused view with tag [0-8]
+ riverctl map normal Super+Shift $i set-view-tags $tags
+
+ # Super+Control+[1-9] to toggle focus of tag [0-8]
+ riverctl map normal Super+Control $i toggle-focused-tags $tags
+
+ # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view
+ riverctl map normal Super+Shift+Control $i toggle-view-tags $tags
+done
+
+# Super+0 to focus all tags
+# Super+Shift+0 to tag focused view with all tags
+all_tags=$(((1 << 32) - 1))
+riverctl map normal Super 0 set-focused-tags $all_tags
+riverctl map normal Super+Shift 0 set-view-tags $all_tags
+
+# Super+Space to toggle float
+riverctl map normal Super Space toggle-float
+
+# Super+F to toggle fullscreen
+riverctl map normal Super F toggle-fullscreen
+
+# Super+{Up,Right,Down,Left} to change layout orientation
+riverctl map normal Super Up send-layout-cmd rivertile "main-location top"
+riverctl map normal Super Right send-layout-cmd rivertile "main-location right"
+riverctl map normal Super Down send-layout-cmd rivertile "main-location bottom"
+riverctl map normal Super Left send-layout-cmd rivertile "main-location left"
+
+# Declare a passthrough mode. This mode has only a single mapping to return to
+# normal mode. This makes it useful for testing a nested wayland compositor
+riverctl declare-mode passthrough
+
+# Super+F11 to enter passthrough mode
+riverctl map normal Super F11 enter-mode passthrough
+
+# Super+F11 to return to normal mode
+riverctl map passthrough Super F11 enter-mode normal
+
+# Various media key mapping examples for both normal and locked mode which do
+# not have a modifier
+for mode in normal locked
+do
+ # Eject the optical drive (well if you still have one that is)
+ riverctl map $mode None XF86Eject spawn 'eject -T'
+
+ # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer)
+ riverctl map $mode None XF86AudioRaiseVolume spawn 'pamixer -i 5'
+ riverctl map $mode None XF86AudioLowerVolume spawn 'pamixer -d 5'
+ riverctl map $mode None XF86AudioMute spawn 'pamixer --toggle-mute'
+
+ # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl)
+ riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause'
+ riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause'
+ riverctl map $mode None XF86AudioPrev spawn 'playerctl previous'
+ riverctl map $mode None XF86AudioNext spawn 'playerctl next'
+
+ # Control screen backlight brightness with light (https://github.com/haikarainen/light)
+ riverctl map $mode None XF86MonBrightnessUp spawn 'light -A 5'
+ riverctl map $mode None XF86MonBrightnessDown spawn 'light -U 5'
+done
+
+# Set background and border color
+riverctl background-color 0x002b36
+riverctl border-color-focused 0x93a1a1
+riverctl border-color-unfocused 0x586e75
+
+# Set keyboard repeat rate
+riverctl set-repeat 50 300
+
+# Make all views with an app-id that starts with "float" and title "foo" start floating.
+riverctl rule-add float -app-id 'float*' -title 'foo'
+
+# Make all views with app-id "bar" and any title use client-side decorations
+riverctl rule-add csd -app-id "bar"
+
+# Set the default layout generator to be rivertile and start it.
+# River will send the process group of the init executable SIGTERM on exit.
+riverctl default-layout rivertile
+rivertile -view-padding 6 -outer-padding 6 &
diff --git a/.config/shell/profile b/configs/shell/profile
similarity index 87%
rename from .config/shell/profile
rename to configs/shell/profile
index 759eaf9..eedc632 100644
--- a/.config/shell/profile
+++ b/configs/shell/profile
@@ -1,5 +1,15 @@
#!/bin/zsh
+# Keyboard lights
+[ -x "$(command -v g610-led)" ] && g610-led -a ff
+
+# The way life should be
+export XKB_DEFAULT_OPTIONS=caps:escape
+
+# Wayland stuff
+export WLR_NO_HARDWARE_CURSORS=1
+export MOZ_ENABLE_WAYLAND=1
+
export PATH="$PATH:$(du "$HOME/.local/bin" | cut -f2 | paste -sd ':' -)"
unsetopt PROMPT_SP
@@ -10,11 +20,9 @@ export TERMINAL="kitty"
export BROWSER="firefox-developer-edition"
# Move config files out of home and into .config/
-export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
export LESSHISTFILE="-"
-export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
-export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
+export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/shell/zsh"
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
@@ -115,4 +123,6 @@ ex=🎯:\
*.java=♨:\
"
-[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
+if [[ -z $WAYLAND_DISPLAY && $(tty) = "/dev/tty1" ]]; then
+ exec river
+fi
diff --git a/.config/zsh/.zshrc b/configs/shell/zsh/.zshrc
similarity index 82%
rename from .config/zsh/.zshrc
rename to configs/shell/zsh/.zshrc
index 06baec6..0f5a39f 100644
--- a/.config/zsh/.zshrc
+++ b/configs/shell/zsh/.zshrc
@@ -41,16 +41,17 @@ dicheck='rsync -havn . /dev/shm --exclude-from .dockerignore' \
# Shortcuts
alias \
-hosts="sudo nvim /etc/hosts" \
cf="~/.config && v" \
+cfh="sudo nvim /etc/hosts" \
+cfk="nvim ~/.config/kitty/kitty.conf" \
+cfl="nvim ~/.config/lf/lfrc" \
+cfm="nvim ~/.config/mako/config" \
+cfp="nvim ~/.zprofile" \
+cfr="nvim ~/.config/river/init" \
cfv="~/.config/nvim && v" \
-cfa="~/.config/awesome && v" \
-cfs="~/.config/shell && v" \
-cfl="~/.config/lf && v" \
-cfx="~/.config/x11 && v" \
-cfz="~/.config/zsh && v" \
-cfk="~/.config/kitty && v" \
-cfp="nvim ~/.config/picom.conf" \
+cfw="nvim ~/.config/waybar/config" \
+cfws="nvim ~/.config/waybar/style.css" \
+cfz="nvim ~/.config/zsh/.zshrc" \
# Add verbosity
alias \
@@ -67,9 +68,6 @@ diff="diff --color=auto" \
ccat="highlight --out-format=ansi" \
-# Forget why
-wget="wget --hsts-file='XDG_CACHE_HOME/wget-hsts'" \
-
ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
if [[ ! -d $ZSH_CACHE_DIR ]]; then
mkdir $ZSH_CACHE_DIR
diff --git a/configs/waybar/config b/configs/waybar/config
new file mode 100644
index 0000000..f1059d6
--- /dev/null
+++ b/configs/waybar/config
@@ -0,0 +1,87 @@
+{
+ // basics
+
+ "spacing": 4,
+
+
+ // modules layout
+
+ "modules-left": ["river/tags"],
+ "modules-center": ["river/window"],
+ "modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "tray", "clock"],
+
+
+ // modules config
+
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "{volume}% {icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+
+ "network": {
+ // "interface": "wlp2*", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ({signalStrength}%) ",
+ "format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
+ "format-linked": "{ifname} (No IP) ",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}"
+ },
+
+ "cpu": {
+ "format": " {usage}%",
+ "tooltip": false
+ },
+
+ "memory": {
+ "format": " {}%"
+ },
+
+ "tray": {
+ // "icon-size": 21,
+ "spacing": 10
+ },
+
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% ",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{time} {icon}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": ["", "", "", "", ""]
+ },
+
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+}
diff --git a/configs/waybar/style.css b/configs/waybar/style.css
new file mode 100644
index 0000000..43dbed2
--- /dev/null
+++ b/configs/waybar/style.css
@@ -0,0 +1,130 @@
+@import "../../.cache/wal/colors-waybar.css"; /* can't get a nice path? or brainfart */
+
+* {
+ /* `otf-font-awesome` is required to be installed for icons */
+ font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ color: @foreground;
+}
+
+window#waybar {
+ background-color: @background;
+ border-bottom: 3px solid @color3;
+ transition-property: background-color;
+ transition-duration: .5s;
+}
+
+button {
+ /* Use box-shadow instead of border so the text isn't offset */
+ box-shadow: inset 0 -3px transparent;
+ /* Avoid rounded borders under each button name */
+ border: none;
+ border-radius: 0;
+}
+
+/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
+button:hover {
+ background: inherit;
+ box-shadow: inset 0 -3px @color2;
+}
+
+#tags {
+ background-color: @background;
+}
+
+#tags button.occupied {
+ box-shadow: inset 0 -3px @color3;
+}
+
+#tags button.focused {
+ background-color: @color1;
+ box-shadow: inset 0 -3px @foreground;
+}
+#tags button.urgent {
+ color: red;
+}
+
+#idle_inhibitor,
+#clock,
+#cpu,
+#memory,
+#network,
+#tray,
+#pulseaudio {
+ background-color: @color1;
+ padding: 0 10px;
+}
+
+#idle_inhibitor.activated {
+ background-color: #ecf0f1;
+ color: #2d3436;
+}
+
+#pulseaudio.muted {
+ background-color: #90b1b1;
+ color: #2a5c45;
+}
+
+#network.disconnected {
+ background-color: #f53c3c;
+}
+
+#tray > .passive {
+ -gtk-icon-effect: dim;
+}
+
+#tray > .needs-attention {
+ -gtk-icon-effect: highlight;
+ background-color: #eb4d4b;
+}
+
+#battery {
+ background-color: #ffffff;
+ color: #000000;
+}
+
+#battery.charging, #battery.plugged {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+
+#wireplumber {
+ background-color: #fff0f5;
+ color: #000000;
+}
+
+#wireplumber.muted {
+ background-color: #f53c3c;
+}
+
+#custom-media {
+ background-color: #66cc99;
+ color: #2a5c45;
+ min-width: 100px;
+}
+
+#custom-media.custom-spotify {
+ background-color: #66cc99;
+}
+
+#custom-media.custom-vlc {
+ background-color: #ffa000;
+}
diff --git a/readme.md b/readme.md
index 6c0f28d..2d75df4 100644
--- a/readme.md
+++ b/readme.md
@@ -1,8 +1,6 @@
# Doors are sturdier than windows
-The idea is a one liner to have a quick workbench, like flipping a door on its side for a quick desk.
-
-I'm writing speedrun install scripts for my personal desktop environment that is:
+This is my personal desktop environment that is:
1. Reliable
1. Fast
@@ -13,9 +11,9 @@ I'm writing speedrun install scripts for my personal desktop environment that is
I try to use the terminal as much as possible for performance and also so it's the same experience whether
you're at the computer or connected via ssh.
-Use as much or as little as you need.
+If it's not here then you probably don't need it.
-## Features
+## Most Features
### Shell/Base
@@ -23,7 +21,7 @@ Use as much or as little as you need.
- [rsync](https://rsync.samba.org/) - For my 'push' alias
- [sl](https://github.com/eyJhb/sl) - For when you're too fast
- [btop](https://github.com/aristocratos/btop) - Top++
-- [neovim](https://github.com/neovim/neovim) - Blazingly fast editor
+- [neovim](https://github.com/neovim/neovim) - Edit text blazingly fast (even over ssh)
- [byobu](https://www.byobu.org/) - Comfy multiplexer
- [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) - Community enhancements for zsh. Easier than DIY
- [nnn](https://github.com/jarun/nnn) - Lightning fast file manager
@@ -33,24 +31,24 @@ Use as much or as little as you need.
### Graphical environment
Business:
-- [AwesomeWM](https://awesomewm.org/) - Fast and light Tiling WM configured with lua
+
+- [river](https://github.com/riverwm/river) - Dynamic wayland compositor like DWM
- [kitty](https://github.com/kovidgoyal/kitty) - Fast terminal with GPU acceleration and image support
-- [redshift](https://github.com/jonls/redshift) - Easier on the eyes at night
-- [picom](https://github.com/yshui/picom) - Compositing
-- [unclutter](https://github.com/Airblader/unclutter-xfixes) - Hide mouse cursor after inactivity
-- [xclip](https://github.com/astrand/xclip) - Make clipboard work between terminal and gui
- [playerctl](https://github.com/altdesktop/playerctl) - Handle media keys
- [acpi](https://archlinux.org/packages/community/x86_64/acpi/) - Power/thermal stuff, standby, etc. You want this for a desktop
Eye Candy:
-- [nitrogen](https://github.com/l3ib/nitrogen/) - I use it in my wal script to set wallpaper spanning across multiple screens
- [pywal](https://github.com/dylanaraps/pywal) - Set whole system color scheme from wallpaper colors
- [pywal-discord](https://github.com/FilipLitwora/pywal-discord) - See above
- [wal-telegram](https://github.com/guillaumeboehm/wal-telegram) - See above
- [Pywalfox](https://github.com/Frewacom/pywalfox) - See above
## Install
-Tested on Arch, Ubuntu Server 22.04, Fedora 37
+The install script clones this repo, installs a few dependencies, then copies my configs to `$HOME/.config/` creating a backup
+for any config files that already exist. NOTE: Only one backup per file is saved to prevent piling up backups. It's only meant
+to catch small oversights and is very verbose.
+
+Shell tested on Arch, Ubuntu Server 22.04, Fedora 37, it should work just about anywhere.
### Quick shell (start here):
As your new user in your new user's home directory run: (will overwrite some user files)
@@ -59,21 +57,10 @@ As your new user in your new user's home directory run: (will overwrite some use
2. Log out and log back in
-### Graphical environment
-If you want a graphical environment run: (Arch only)
-
-`.scripts/doors/.installdeps_full_arch`
-
-to get the rest and then:
-
-```startx``` to load it.
-
-but it might be missing some things depending on your install profile (still testing)
-
## Post Install
1. Neovim will be confused on first start until `:PackerSync` is run
### TODO:
+- make installer more granular
+- install full DE
- support more distros
-- make sure full install actually has all deps handled
-
diff --git a/.scripts/doors/install_min_arch b/scripts/install_arch
similarity index 62%
rename from .scripts/doors/install_min_arch
rename to scripts/install_arch
index 605f8c2..f10600b 100755
--- a/.scripts/doors/install_min_arch
+++ b/scripts/install_arch
@@ -1,19 +1,23 @@
#!/bin/bash
-cd
-
-if test -d yay; then
- rm -rf yay
-fi
-
+cd &&
if ! type "yay" &> /dev/null; then
+ echo "Yay not found, installing..." &&
+
+ if test -d yay; then
+ rm -rf yay
+ fi &&
+
git clone https://aur.archlinux.org/yay.git &&
cd yay &&
makepkg -si --noconfirm &&
cd &&
rm -rf yay
-fi
+else
+ echo -e "\nYay is already installed, skipping..."
+fi &&
+echo -e "\nInstalling dependencies..." &&
# Base/Shell
yay -S --needed --noconfirm \
\
@@ -26,11 +30,12 @@ byobu \
zsh \
lf \
nnn \
+kitty \
kitty-terminfo \
\
`# Aur`\
stpv-git \
-nvim-packer-git \
oh-my-zsh-git &&
+echo "" &&
sudo chsh -s /bin/zsh $USER
diff --git a/.scripts/doors/install_full_arch b/scripts/install_full_arch
similarity index 100%
rename from .scripts/doors/install_full_arch
rename to scripts/install_full_arch
diff --git a/.scripts/doors/install_min_fedora b/scripts/install_min_fedora
similarity index 100%
rename from .scripts/doors/install_min_fedora
rename to scripts/install_min_fedora
diff --git a/.scripts/doors/install_min_ubuntu b/scripts/install_min_ubuntu
similarity index 100%
rename from .scripts/doors/install_min_ubuntu
rename to scripts/install_min_ubuntu
diff --git a/.scripts/doors/wal b/scripts/wal
similarity index 100%
rename from .scripts/doors/wal
rename to scripts/wal
diff --git a/setup b/setup
new file mode 100755
index 0000000..e09d688
--- /dev/null
+++ b/setup
@@ -0,0 +1,56 @@
+#!/bin/bash
+clear
+
+curl https://doordesk.net/doors
+
+. /etc/os-release
+OS=$NAME
+echo -e "\nDetected OS as $OS"
+
+if [[ $OS == *Arch* ]]; then
+ cd &&
+ echo "Enabling Pacman colors..." &&
+ sudo sed '/Color/s/^#//' -i /etc/pacman.conf &&
+
+ echo -e "\nVerifying base requirements..." &&
+ sudo pacman -S --needed --noconfirm git base-devel &&
+
+ if test -d .doors; then
+ echo -e "\n$HOME/.doors found, checking for updates..."
+ cd .doors && git pull && cd
+ else
+ echo -e "\n$HOME/.doors not found, creating..."
+ git clone https://github.com/adoyle0/Doors.git .doors
+ fi &&
+
+ .doors/scripts/install_arch
+
+elif [[ $OS == *buntu* ]]; then
+ cd &&
+ sudo apt-get -y install git rsync &&
+ git clone https://github.com/adoyle0/Doors.git .doors &&
+ .doors/scripts/install_min_ubuntu
+
+elif [[ $OS == *Fedora* ]]; then
+ cd &&
+ sudo dnf install -y git rsync &&
+ git clone https://github.com/adoyle0/Doors.git .doors &&
+ .doors/scripts/install_min_fedora
+fi
+
+echo -e "\nInstalling Configs..." &&
+ cd .doors/configs &&
+
+ for file in *
+ do
+ if test -d $HOME/.config/$file; then
+ echo -e "\n$file already exists, creating backups..."
+ else
+ echo -e "\nWriting $file..."
+ fi
+ cp -rbv $file $HOME/.config/
+ done &&
+ echo -e "\nLinking profile..." &&
+ cp -sbv $HOME/.config/shell/profile $HOME/.zprofile &&
+
+echo -e "\nDone!"