Compare commits

..

4 Commits

Author SHA1 Message Date
jasonhilder 8c06125493 Really never ends. 2026-07-03 10:45:31 +02:00
jasonhilder d7863ed010 Its just dotfiles... 2026-07-03 09:28:42 +02:00
jasonhilder 5bb60e1a35 Getting old now... 2026-07-03 08:13:08 +02:00
jasonhilder 00d3b3c3d9 Testing new remote 2026-07-02 10:17:39 +02:00
13 changed files with 124 additions and 86 deletions
+2 -2
View File
@@ -93,5 +93,5 @@ These are not run automatically by `install.sh` — they are opt-in.
---
This setup prioritises **stability** and **simplicity** over customisation. Void Linux + XFCE4 + X11
provides a fast, predictable base with minimal moving parts.
This setup prioritises **stability** and **simplicity** over customisation.
Void Linux + XFCE4 + X11 provides a fast, predictable base with minimal moving parts.
+32 -13
View File
@@ -1,7 +1,7 @@
[general]
[font]
size = 13
size = 12
offset = { x = 0, y = 3 }
normal = { family = "JetBrainsMono Nerd Font", style = "Regular" }
@@ -14,20 +14,39 @@ padding.y = 10
style.shape = "Beam"
style.blinking = "Always"
# LACKLUSTER COLORS
# Kanagawa Wave Alacritty Colors
[colors.primary]
background = '#101010'
foreground = '#dcd7ba'
[colors.normal]
# black is gray0
black = '#111111'
red = '#C11F1F'
green = '#789978'
yellow = '#ffAA88'
blue = '#7788AA'
magenta = '#BD61A3'
# cyan is set to lack
cyan = '#708090'
# white is set to luster
white = '#DEEEED'
black = '#090618'
red = '#c34043'
green = '#76946a'
yellow = '#c0a36e'
blue = '#7e9cd8'
magenta = '#957fb8'
cyan = '#6a9589'
white = '#c8c093'
[colors.bright]
black = '#727169'
red = '#e82424'
green = '#98bb6c'
yellow = '#e6c384'
blue = '#7fb4ca'
magenta = '#938aa9'
cyan = '#7aa89f'
white = '#dcd7ba'
[colors.selection]
background = '#2d4f67'
foreground = '#c8c093'
[[colors.indexed_colors]]
index = 16
color = '#ffa066'
[[colors.indexed_colors]]
index = 17
color = '#ff5d62'
+5 -3
View File
@@ -48,18 +48,20 @@ function M.setup()
local title = widgets.make_title()
local vol = widgets.make_vol()
local cpu = widgets.make_cpu()
local brightness = widgets.make_brightness()
local clock = wibox.widget.textclock("%Y-%m-%d %H:%M")
local right = wibox.layout.fixed.horizontal()
local function push(w) right:add(widgets.padded(w, 4, 4)) end
push(wibox.widget.systray()); right:add(widgets.sep())
push(wibox.widget.systray()); right:add(widgets.sep())
push(vol); right:add(widgets.sep())
push(cpu); right:add(widgets.sep())
push(clock); right:add(widgets.sep())
push(clock);
push(brightness);
push(s.mylayoutbox)
s.mywibox = awful.wibar {
position = "top", screen = s, height = 45, bg = colors.background, fg = colors.foreground,
position = "top", screen = s, height = 45, bg = colors.background, fg = colors.white,
shape = function(cr, w, h) gears.shape.rounded_rect(cr, w, h, 0) end,
}
+8 -8
View File
@@ -1,12 +1,12 @@
return {
background = "#111111",
background_alt = "#1a1a1a",
foreground = "#d3dae3",
accent = "#6e6e6e",
accent_alt = "#6ba0e8",
red = "#e35b5b",
green = "#98c379",
yellow = "#e5c07b",
disabled = "#707880",
white = "#ffffff",
foreground = "#dcd7ba", -- kanagawa foreground
accent = "#6a9589", -- black (bright) - muted gray, same role as old #6e6e6e
accent_alt = "#7fb4ca", -- blue (normal) - crystalBlue
red = "#e82424", -- red (bright) - samuraiRed, vivid
green = "#98bb6c", -- green (bright) - springGreen
yellow = "#e6c384", -- yellow (bright) - carpYellow
disabled = "#6a9589", -- cyan (normal) - muted, low-contrast
white = "#ffffff", -- white (normal) - dimmer than foreground
}
+16 -14
View File
@@ -15,23 +15,25 @@ M.globalkeys = gears.table.join(
awful.key({ modkey }, "l", function() awful.client.focus.bydirection("right") end, { description = "focus right", group = "client" }),
-- Directional move (swap clients in the tiling layout)
awful.key({ modkey, "Shift" }, "h", function() awful.client.swap.bydirection("left") end, { description = "move left", group = "client" }),
awful.key({ modkey, "Shift" }, "j", function() awful.client.swap.bydirection("down") end, { description = "move down", group = "client" }),
awful.key({ modkey, "Shift" }, "k", function() awful.client.swap.bydirection("up") end, { description = "move up", group = "client" }),
awful.key({ modkey, "Shift" }, "l", function() awful.client.swap.bydirection("right") end, { description = "move right", group = "client" }),
awful.key({ modkey, "Control" }, "h", function() awful.client.swap.bydirection("left") end, { description = "move left", group = "client" }),
awful.key({ modkey, "Control" }, "j", function() awful.client.swap.bydirection("down") end, { description = "move down", group = "client" }),
awful.key({ modkey, "Control" }, "k", function() awful.client.swap.bydirection("up") end, { description = "move up", group = "client" }),
awful.key({ modkey, "Control" }, "l", function() awful.client.swap.bydirection("right") end, { description = "move right", group = "client" }),
-- Resize the master/other split
awful.key({ modkey, "Control" }, "h", function() awful.tag.incmwfact(-0.05) end, { description = "shrink master", group = "layout" }),
awful.key({ modkey, "Control" }, "l", function() awful.tag.incmwfact( 0.05) end, { description = "grow master", group = "layout" }),
awful.key({ modkey, "Shift" }, "h", function() awful.tag.incmwfact(-0.05) end, { description = "shrink master", group = "layout" }),
awful.key({ modkey, "Shift" }, "l", function() awful.tag.incmwfact( 0.05) end, { description = "grow master", group = "layout" }),
-- Launching / layout
awful.key({ modkey }, "Return", function() awful.spawn(terminal) end, { description = "open a terminal", group = "launcher" }),
awful.key({ modkey }, "e", function() awful.spawn("thunar") end, { description = "Filemanager", group = "system" }),
awful.key({ modkey }, "w", function() awful.spawn("chromium") end, { description = "Browser", group = "internet" }),
awful.key({ modkey }, "t", function() awful.layout.inc(1) end, { description = "next layout", group = "layout" }),
awful.key({ modkey }, "p", function() awful.spawn("xfce4-screenshooter") end, { description = "screenshot", group = "system" }),
awful.key({ modkey }, "w", function() awful.layout.inc(1) end, { description = "next layout", group = "layout" }),
-- Alt tab only in max mode
-- screenshooter
awful.key({ modkey, "Control" }, "p", function() awful.spawn("xfce4-screenshooter") end, { description = "screenshot", group = "system" }),
-- Alt tab current workspace windows
awful.key({ "Mod1" }, "Tab", function() awful.client.focus.byidx(1) end),
-- Media keys
@@ -46,8 +48,7 @@ M.globalkeys = gears.table.join(
awful.key({ modkey }, "b", function () awful.spawn("/home/jason/.local/bin/bookmarks") end, {description = "bookmarks", group = "internet"}),
-- Awesome control
awful.key({ modkey, "Shift" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" })
awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" })
)
-- Workspace keys 1..5: Alt+N view, Alt+Shift+N move client to tag
@@ -58,7 +59,8 @@ for i = 1, 5 do
local tag = screen.tags[i]
if tag then tag:view_only() end
end, { description = "view tag #" .. i, group = "tag" }),
awful.key({ modkey, "Shift" }, "#" .. i + 9, function()
awful.key({ modkey, "Control" }, "#" .. i + 9, function()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then client.focus:move_to_tag(tag) end
@@ -71,7 +73,7 @@ M.clientkeys = gears.table.join(
awful.key({ modkey }, "q", function(c) c:kill() end, { description = "kill window", group = "client" }),
awful.key({ modkey }, "f", function(c) c.fullscreen = not c.fullscreen; c:raise() end, { description = "toggle fullscreen", group = "client" }),
awful.key({ modkey }, "m", function(c) c:swap(awful.client.getmaster()) end, { description = "make master", group = "client" }),
awful.key({ modkey, "Shift" }, "space", awful.client.floating.toggle, { description = "toggle floating", group = "client" })
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle, { description = "toggle floating", group = "client" })
)
M.clientbuttons = gears.table.join(
+2 -1
View File
@@ -8,7 +8,8 @@ client.connect_signal("manage", function(c)
end
-- New windows open into the stack (to the right); first window becomes master.
if not awesome.startup then awful.client.setslave(c) end
c.shape = function(cr, width, height) gears.shape.rounded_rect(cr, width, height, 13) end -- 13 = corner radius
-- 0 or ie 13 = corner radius
c.shape = function(cr, width, height) gears.shape.rounded_rect(cr, width, height, 0) end
end)
client.connect_signal("property::floating", function(c)
+6 -5
View File
@@ -14,9 +14,9 @@ beautiful.border_focus = colors.accent
beautiful.taglist_bg_focus = colors.accent
beautiful.taglist_fg_focus = colors.background
beautiful.taglist_fg_occupied = colors.white
beautiful.taglist_fg_occupied = colors.accent
beautiful.taglist_bg_occupied = colors.background
beautiful.taglist_fg_empty = colors.disabled
beautiful.taglist_fg_empty = colors.white
beautiful.taglist_bg_empty = colors.background
beautiful.taglist_bg_urgent = colors.red
beautiful.taglist_fg_urgent = colors.background
@@ -32,15 +32,16 @@ naughty.config.defaults.margin = 12
naughty.config.defaults.spacing = 8
naughty.config.defaults.icon_size = 48
naughty.config.defaults.border_width = 3
naughty.config.defaults.font = "JetBrainsMono Nerd Font 11"
naughty.config.defaults.font = "JetBrainsMono Nerd Font 12"
naughty.config.defaults.shape = function(cr, w, h) gears.shape.rounded_rect(cr, w, h, 13) end
naughty.config.presets.normal = {
bg = colors.background, fg = colors.foreground, border_color = colors.background_alt,
border_width = 3, font = "JetBrainsMono Nerd Font 11", timeout = 5,
border_width = 3, font = "JetBrainsMono Nerd Font 12", timeout = 5,
}
naughty.config.presets.low = naughty.config.presets.normal
naughty.config.presets.critical = {
bg = colors.background, fg = colors.red, border_color = colors.red,
border_width = 3, font = "JetBrainsMono Nerd Font 11", timeout = 0, -- stays until dismissed
border_width = 3, font = "JetBrainsMono Nerd Font 12", timeout = 0, -- stays until dismissed
}
+38 -4
View File
@@ -7,7 +7,7 @@ local M = {}
-- "ICON value" with ICON tinted accent, like polybar's *-prefix-foreground.
function M.label(icon, val)
return string.format("<span foreground='%s'>%s</span> %s", colors.accent, icon, val or "")
return string.format("<span foreground='%s'>%s</span> %s", colors.white, icon, val or "")
end
-- A slim separator in the disabled color, like polybar's separator.
@@ -39,7 +39,7 @@ end
function M.make_cpu()
return awful.widget.watch(
{ "bash", "-c", [[LANG=C top -bn2 -d0.3 | grep -m2 '^%Cpu' | tail -1 | awk '{printf "%.0f", 100 - $8}']] },
3, function(w, out) w.markup = M.label("CPU", out:gsub("%s+$", "") .. "%") end)
3, function(w, out) w.markup = M.label("<span font_size='large'> </span>", out:gsub("%s+$", "") .. "%") end)
end
-- Volume: click to mute, scroll to adjust, right-click for the mixer.
@@ -61,12 +61,12 @@ function M.make_vol()
awful.spawn.easy_async_with_shell(vol_cmd, function(out)
local muted, pct = out:match("(%a+)%s+(%d+)%%")
if muted == nil and pct == nil then
w.markup = string.format("<span foreground='%s'>VOL n/a</span>", colors.disabled)
w.markup = string.format("<span foreground='%s'><span font_size='large'>󱄠</span> n/a</span>", colors.disabled)
return
end
muted = muted == "yes"
pct = pct or "0"
w.markup = muted and string.format("<span foreground='%s'>MUTE</span>", colors.disabled) or M.label("VOL", pct .. "%")
w.markup = muted and string.format("<span foreground='%s'>MUTE</span>", colors.yellow) or M.label("<span font_size='large'>󱄠</span>", pct .. "%")
end)
end
@@ -81,4 +81,38 @@ function M.make_vol()
return w
end
-- Brightness: click to toggle between night (default gamma) and day (boosted).
function M.make_brightness()
local OUTPUT = "HDMI-A-0"
local DAY_CMD = "xrandr --output " .. OUTPUT .. " --set CTM \"1.1,0,0,0,1.1,0,0,0,1.1\" --gamma 1.08:1.08:1.08"
local NIGHT_CMD = "xrandr --output " .. OUTPUT .. " --set CTM \"1,0,0,0,1,0,0,0,1\" --gamma 1.0:1.0:1.0"
local w = wibox.widget.textbox()
local is_day = true
local function render()
local icon = is_day and " 󱁞 " or " 󱠩 "
w.markup = string.format(
"<span font_family='JetBrainsMono Nerd Font' foreground='%s' font_size='large'>%s</span>",
colors.white, icon
)
end
local function apply(day)
local cmd = day and DAY_CMD or NIGHT_CMD
awful.spawn.easy_async_with_shell(cmd, function()
is_day = day
render()
end)
end
w:buttons(gears.table.join(
awful.button({ }, 1, function() apply(not is_day) end)
))
apply(true)
return w
end
return M
+1 -2
View File
@@ -12,7 +12,7 @@ terminal = "alacritty"
editor = os.getenv("EDITOR") or "nano"
-- Layouts: suit.tile = master column LEFT, stack column RIGHT.
awful.layout.layouts = { awful.layout.suit.tile, awful.layout.suit.max, awful.layout.suit.floating }
awful.layout.layouts = { awful.layout.suit.tile, awful.layout.suit.max }
-- Kill xfce4-notifyd on startup (with a short delay + retry, in case it
-- hasn't started yet at this point in the session)
@@ -50,4 +50,3 @@ bling.module.wallpaper.setup {
position = "fit",
background = "#181818",
}
+1
View File
@@ -87,6 +87,7 @@ alias bat='bat --theme="ansi" --paging=never'
# Application shortcuts
alias vi='nvim'
alias :q='exit'
alias lg='lazygit'
alias files='thunar .'
alias fetch='pfetch'
+3 -2
View File
@@ -46,7 +46,8 @@ vim.pack.add({
{ src = 'https://github.com/nvim-tree/nvim-tree.lua' },
{ src = 'https://github.com/romus204/tree-sitter-manager.nvim' },
{ src = 'https://github.com/lukas-reineke/indent-blankline.nvim' },
{ src = 'https://github.com/slugbyte/lackluster.nvim' },
{ src = 'https://github.com/rebelot/kanagawa.nvim' },
{ src = 'https://github.com/rose-pine/neovim' },
{ src = 'https://github.com/xiyaowong/transparent.nvim' },
})
@@ -58,7 +59,7 @@ require("ibl").setup({
indent = { char = "" },
scope = { show_start = false, show_end = false },
})
vim.cmd.colorscheme('lackluster-night')
vim.cmd.colorscheme('kanagawa')
vim.api.nvim_set_hl(0, "WinSeparator", { fg = "#54546D" })
-- Lsp specific, uses nvim-lspconfigs with the below
+3 -2
View File
@@ -7,7 +7,8 @@ fade-out-step = 0.04;
#################################
# Corners #
#################################
corner-radius = 12;
# corner-radius = 0;
#################################
# FAST SNAPPY ANIMATIONS #
#################################
@@ -218,7 +219,7 @@ animations = (
#################################
# General Settings #
#################################
backend = "xrender";
backend = "glx";
dithered-present = false;
vsync = true;
detect-rounded-corners = true;
+7 -30
View File
@@ -2,43 +2,35 @@
/* -- Palette, matches colors{} in awesome rc.lua -- */
bg0: #111111; /* colors.background */
bg1: #1a1a1a; /* colors.background_alt */
fg0: #d3dae3; /* colors.foreground */
fg0: #dcd7ba; /* colors.foreground */
fg-selected: #ffffff; /* colors.white */
accent: #616161; /* colors.accent */
accent-alt: #6ba0e8; /* colors.accent_alt */
red: #e35b5b; /* colors.red */
disabled: #707880; /* colors.disabled */
accent: #6a9589; /* colors.accent */
accent-alt: #727169; /* colors.accent_alt */
red: #e82424; /* colors.red */
disabled: #6a9589; /* colors.disabled */
font: "JetBrainsMono Nerd Font 14";
background-color: transparent;
text-color: @fg0;
}
window {
transparency: "real";
/* Anchor top-center, right below the wibar. */
location: north;
anchor: north;
y-offset: 48px;
width: 32em;
height: 26em; /* fixed — box size no longer changes with result count */
background-color: @bg0;
border: 3px;
border-color: @accent;
border-radius: 13px; /* matches gears.shape.rounded_rect radius in rc.lua */
border-radius: -1px; /* matches gears.shape.rounded_rect radius in rc.lua */
padding: 14px;
}
mainbox {
children: [ inputbar, message, listview, mode-switcher ];
spacing: 10px;
background-color: transparent;
}
/* -- Search field -- */
inputbar {
children: [ prompt, entry ];
@@ -47,23 +39,19 @@ inputbar {
border-radius: 10px;
padding: 10px 14px;
}
prompt {
text-color: @accent-alt;
}
entry {
placeholder: "Search";
placeholder-color: @disabled;
text-color: @fg0;
cursor: text;
}
/* -- List/grid toggle icons, top-right (matches screenshot) -- */
mode-switcher {
enabled: false; /* flip to true if you use rofi's built-in mode tabs */
}
/* -- Results -- */
listview {
lines: 8;
@@ -74,7 +62,6 @@ listview {
fixed-height: true; /* box height stays locked, doesn't shrink/grow with result count */
dynamic: false; /* don't resize dynamically as you type either */
}
/*
* Rofi tracks row state as a combination of position (normal/alternate,
* i.e. even/odd rows for banding) and status (normal/urgent/active/selected).
@@ -87,59 +74,49 @@ element {
border-radius: 10px;
orientation: horizontal;
}
element normal.normal,
element alternate.normal {
background-color: @bg1;
text-color: @fg0;
}
element normal.urgent,
element alternate.urgent {
background-color: @bg1;
text-color: @red;
}
element normal.active,
element alternate.active {
background-color: @bg1;
text-color: @accent-alt;
}
element selected.normal {
background-color: @accent;
background-color: @accent-alt;
text-color: @fg-selected;
}
element selected.urgent {
background-color: @red;
text-color: @fg-selected;
}
element selected.active {
background-color: @accent-alt;
text-color: @bg0;
}
element-icon {
size: 24px;
padding: 0 12px 0 0;
vertical-align: 0.5;
background-color: transparent;
}
element-text {
vertical-align: 0.5;
text-color: inherit;
background-color: transparent;
}
message {
background-color: @bg1;
border-radius: 10px;
padding: 8px 12px;
}
textbox {
text-color: @fg0;
}