diff --git a/ironbar/.config/ironbar/config.corn b/ironbar/.config/ironbar/config.corn
deleted file mode 100644
index f5acea8..0000000
--- a/ironbar/.config/ironbar/config.corn
+++ /dev/null
@@ -1,121 +0,0 @@
-let {
- $workspaces = {
- type = "workspaces"
- all_monitors = false
- // name_map = {
- // 1 = ""
- // 2 = "icon:firefox"
- // 3 = ""
- // Games = "icon:steam"
- // Code = ""
- // }
- }
-
- $focused = { type = "focused" }
-
- $launcher = {
- type = "launcher"
- // favorites = ["firefox" "discord" "steam"]
- show_names = false
- show_icons = true
- }
-
- $mpris = {
- type = "music"
- player_type = "mpris"
-
- on_click_middle = "playerctl play-pause"
- on_scroll_up = "playerctl volume +5"
- on_scroll_down = "playerctl volume -5"
-
- }
-
- $notifications = {
- type = "notifications"
- show_count = true
-
- icons.closed_none = ""
- icons.closed_some = ""
- icons.closed_dnd = ""
- icons.open_none = ""
- icons.open_some = ""
- icons.open_dnd = ""
- }
-
- $sys_info = {
- type = "sys_info"
-
- interval.memory = 15
- interval.cpu = 1
- // interval.temps = 5
- // interval.disks = 300
- interval.networks = 3
-
- format = [
- " {cpu_percent}% "
- " {memory_used} / {memory_total} GB"
- // " {disk_used#T@/:.1} / {disk_total#T@/:.1} TB ({disk_percent@/}%) | {disk_read} / {disk_write} MB/s"
- " {net_down@wlan0} / {net_up@wlan0} Mbps"
- // " {load_average1} | {load_average5} | {load_average15}"
- // " {uptime}"
- ]
- }
-
- $tray = { type = "tray" }
-
- $clock = { type = "clock" }
-
- $clipboard = { type = "clipboard" max_items = 75 truncate.mode = "end" truncate.length = 50 }
-
- $volume = {
- type = "volume"
- format = "{icon} {percentage}%"
- max_volume = 100
- icons.volume_high = ""
- icons.volume_medium = ""
- icons.volume_low = ""
- icons.muted = ""
- }
-
- // -- begin custom --
- $button = { type = "button" name="power-btn" label = "" on_click = "popup:toggle" }
-
- $popup = {
- type = "box"
- orientation = "vertical"
- widgets = [
- { type = "label" name = "header" label = "Power menu" }
- {
- type = "box"
- widgets = [
- { type = "button" class="power-btn" label = "" on_click = "!shutdown now" }
- { type = "button" class="power-btn" label = "" on_click = "!reboot" }
- ]
- }
- { type = "label" name = "uptime" label = "Uptime: {{30000:uptime -p | cut -d ' ' -f2-}}" }
- ]
- }
-
- $power_menu = {
- type = "custom"
- class = "power-menu"
-
- bar = [ $button ]
- popup = [ $popup ]
-
- tooltip = "Up: {{30000:uptime -p | cut -d ' ' -f2-}}"
- }
- // -- end custom --
-
- $left = [ $workspaces $launcher ]
- $right = [ $sys_info $clipboard $power_menu $clock $notifications ]
-}
-in {
- anchor_to_edges = true
- position = "top"
- icon_theme = "Paper"
- height = 32
-
- start = $left
- end = $right
-}
diff --git a/ironbar/.config/ironbar/style.css b/ironbar/.config/ironbar/style.css
deleted file mode 100644
index c19c134..0000000
--- a/ironbar/.config/ironbar/style.css
+++ /dev/null
@@ -1,276 +0,0 @@
-@define-color color_bg #2d2d2d;
-@define-color color_bg_dark #1c1c1c;
-@define-color color_border #424242;
-@define-color color_border_active #6699cc;
-@define-color color_text #ffffff;
-@define-color color_urgent #8f0a0a;
-
-/* -- base styles -- */
-
-* {
- font-family: NimbusSansDOT Nerd Font;
- font-size: 16px;
- border: none;
- border-radius: 0;
-}
-
-box, menubar, button {
- background-color: @color_bg;
- background-image: none;
- box-shadow: none;
-}
-
-button, label {
- color: @color_text;
-}
-
-button:hover {
- background-color: @color_bg_dark;
-}
-
-scale trough {
- min-width: 1px;
- min-height: 2px;
-}
-
-#bar {
- border-top: 1px solid @color_border;
-}
-
-.popup {
- border: 1px solid @color_border;
- padding: 1em;
-}
-
-.container {
- height: 0px;
-}
-
-/* -- bluetooth -- */
-.popup-bluetooth {
- min-height: 14em;
- min-width: 24em;
-}
-
-.popup-bluetooth .header {
- padding-bottom: 1.0em;
- margin-bottom: 0.6em;
- border-bottom: 1px solid @color_border;
-}
-
-.popup-bluetooth .header .label {
- margin-left: 0.5em;
-}
-
-.popup-bluetooth .disabled .spinner {
- min-width: 2.0em;
- min-height: 2.0em;
- padding: 0.4em;
-}
-
-.popup-bluetooth .devices .box .device {
- margin-bottom: 0.4em;
-}
-
-.popup-bluetooth .devices .icon {
- min-width: 2.5em;
- min-height: 2.5em;
- margin-right: 0.8em;
-}
-
-.popup-bluetooth .devices .box .device .status .footer-label {
- font-size: 0.8em;
-}
-
-.popup-bluetooth .devices .box .device .spinner {
- min-width: 1.5em;
- min-height: 1.5em;
- margin: 0.5em;
-}
-
-
-/* -- clipboard -- */
-
-.clipboard {
- margin-left: 5px;
- font-size: 1.1em;
-}
-
-.popup-clipboard .item {
- padding-bottom: 0.3em;
- border-bottom: 1px solid @color_border;
-}
-
-
-/* -- clock -- */
-
-.clock {
- font-weight: bold;
- margin-left: 5px;
-}
-
-.popup-clock .calendar-clock {
- color: @color_text;
- font-size: 2.5em;
- padding-bottom: 0.1em;
-}
-
-.popup-clock .calendar {
- background-color: @color_bg;
- color: @color_text;
-}
-
-.popup-clock .calendar .header {
- padding-top: 1em;
- border-top: 1px solid @color_border;
- font-size: 1.5em;
-}
-
-.popup-clock .calendar:selected {
- background-color: @color_border_active;
-}
-
-
-/* -- launcher -- */
-
-.launcher .item {
- margin-right: 4px;
-}
-
-.launcher .ifix examtem:not(.focused):hover {
- background-color: @color_bg_dark;
-}
-
-.launcher .open {
- border-bottom: 1px solid @color_text;
-}
-
-.launcher .focused {
- border-bottom: 1px solid @color_border_active;
-}
-
-.launcher .urgent {
- border-bottom-color: @color_urgent;
-}
-
-.popup-launcher {
- padding: 0;
-}
-
-.popup-launcher .popup-item:not(:first-child) {
- border-top: 1px solid @color_border;
-}
-
-
-/* -- music -- */
-
-.music:hover * {
- background-color: @color_bg_dark;
-}
-
-.popup-music .album-art {
- margin-right: 1em;
-}
-
-.popup-music .icon-box {
- margin-right: 0.4em;
-}
-
-.popup-music .title .icon, .popup-music .title .label {
- font-size: 1.7em;
-}
-
-.popup-music .controls *:disabled {
- color: @color_border;
-}
-
-.popup-music .volume .slider slider {
- border-radius: 100%;
-}
-
-.popup-music .volume .icon {
- margin-left: 4px;
-}
-
-.popup-music .progress .slider slider {
- border-radius: 100%;
-}
-
-/* notifications */
-
-.notifications .count {
- font-size: 0.6rem;
- background-color: @color_text;
- color: @color_bg;
- border-radius: 100%;
- margin-right: 3px;
- margin-top: 3px;
- padding-left: 4px;
- padding-right: 4px;
- opacity: 0.7;
-}
-
-/* -- script -- */
-
-.script {
- padding-left: 10px;
-}
-
-
-/* -- sys_info -- */
-
-.sysinfo {
- margin-left: 10px;
-}
-
-.sysinfo .item {
- margin-left: 5px;
-}
-
-
-/* -- tray -- */
-
-.tray {
- margin-left: 10px;
-}
-
-/* -- volume -- */
-
-.popup-volume .device-box {
- border-right: 1px solid @color_border;
-}
-
-/* -- workspaces -- */
-
-.workspaces .item.focused {
- box-shadow: inset 0 -3px;
- background-color: @color_bg_dark;
-}
-
-.workspaces .item.urgent {
- background-color: @color_urgent;
-}
-
-.workspaces .item:hover {
- box-shadow: inset 0 -3px;
-}
-
-
-/* -- custom: power menu -- */
-
-.popup-power-menu #header {
- font-size: 1.4em;
- padding-bottom: 0.4em;
- margin-bottom: 0.6em;
- border-bottom: 1px solid @color_border;
-}
-
-.popup-power-menu .power-btn {
- border: 1px solid @color_border;
- padding: 0.6em 1em;
-}
-
-.popup-power-menu #buttons > *:nth-child(1) .power-btn {
- margin-right: 1em;
-}
-
diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua
index a8bab2a..7a6f0d1 100644
--- a/nvim/.config/nvim/init.lua
+++ b/nvim/.config/nvim/init.lua
@@ -1,10 +1,30 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")
+-- Unfortunately, the file paths are too long and break things
+vim.loader.enable(false)
+
+-- Clipboard (hopefully, right now my clipboard provider is tmux ig so...)
+vim.o.clipboard = "unnamedplus"
+vim.api.nvim_set_keymap("", "", "+p", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("!", "", "+", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("t", "", "+", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("v", "", "+", { noremap = true, silent = true })
+
-- Is there a way I can set these in neovide config?
if vim.g.neovide then
+ -- Neovide copy & pasting
+ vim.keymap.set("n", "", ":w") -- Save
+ vim.keymap.set("v", "", '"+y') -- Copy
+ vim.keymap.set("n", "", '"+P') -- Paste normal mode
+ vim.keymap.set("v", "", '"+P') -- Paste visual mode
+ vim.keymap.set("c", "", "+") -- Paste command mode
+ vim.keymap.set("i", "", 'l"+Pli') -- Paste insert mode
-- Neovide Scaling support
vim.g.neovide_scale_factor = 1.0
+ local set_scale_factor = function(value)
+ vim.g.nevoide_scale_factor = value
+ end
local change_scale_factor = function(delta)
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
end
@@ -14,10 +34,10 @@ if vim.g.neovide then
vim.keymap.set("n", "", function()
change_scale_factor(1 / 1.25)
end)
- -- Neovide
+ vim.keymap.set("n", "", function()
+ set_scale_factor(1.0)
+ end)
+ -- General Neovide settings
vim.g.neovide_detach_on_quit = "always_detach"
vim.g.neovide_fullscreen = true
end
-
--- Unfortunately, the file paths are too long and break things
-vim.loader.enable(false)
diff --git a/nvim/.config/nvim/lua/config/options.lua b/nvim/.config/nvim/lua/config/options.lua
index 3ea1454..86373b2 100644
--- a/nvim/.config/nvim/lua/config/options.lua
+++ b/nvim/.config/nvim/lua/config/options.lua
@@ -1,3 +1,8 @@
-- Options are automatically loaded before lazy.nvim startup
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
-- Add any additional options here
+
+-- LSP Server to use for Python.
+vim.g.lazyvim_python_lsp = "basedpyright"
+-- Set to "ruff_lsp" to use the old LSP implementation version.
+vim.g.lazyvim_python_ruff = "ruff"
diff --git a/nvim/.config/nvim/lua/plugins/lsp.lua b/nvim/.config/nvim/lua/plugins/lsp.lua
new file mode 100644
index 0000000..df21fca
--- /dev/null
+++ b/nvim/.config/nvim/lua/plugins/lsp.lua
@@ -0,0 +1,16 @@
+return {
+ "neovim/nvim-lspconfig",
+ opts = {
+ servers = {
+ basedpyright = {
+ settings = {
+ basedpyright = {
+ analysis = {
+ typeCheckingMode = "strict",
+ },
+ },
+ },
+ },
+ },
+ },
+}
diff --git a/nvim/.config/nvim/lua/plugins/presence.lua b/nvim/.config/nvim/lua/plugins/presence.lua
new file mode 100644
index 0000000..4f78c06
--- /dev/null
+++ b/nvim/.config/nvim/lua/plugins/presence.lua
@@ -0,0 +1,25 @@
+return {
+ "andweeb/presence.nvim",
+ opts = {
+ auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
+ neovim_image_text = "certifiably NOT getting laid", -- Text displayed when hovered over the Neovim image
+ main_image = "neovim", -- Main image display (either "neovim" or "file")
+ client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
+ log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
+ debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(, true)`)
+ enable_line_number = false, -- Displays the current line number instead of the current project
+ blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
+ buttons = true, -- Configure Rich Presence button(s), either a boolean to enable/disable, a static table (`{{ label = "