initial commit

This commit is contained in:
bartal laearsson
2026-06-29 12:42:38 +01:00
commit d16e497c83
15 changed files with 882 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
[main]
font=DejaVu Sans Mono:size=14
pad=10x10
term=foot
[cursor]
style=block
blink=no
[colors]
alpha=0.90
background=1a1b26
foreground=c0caf5
regular0=15161e
regular1=f7768e
regular2=9ece6a
regular3=e0af68
regular4=7aa2f7
regular5=bb9af7
regular6=7dcfff
regular7=a9b1d6
bright0=414868
bright1=f7768e
bright2=9ece6a
bright3=e0af68
bright4=7aa2f7
bright5=bb9af7
bright6=7dcfff
bright7=c0caf5
+26
View File
@@ -0,0 +1,26 @@
[user]
name = Bartal Læarsson
email = bartal@flo.fo
signingkey = ~/.ssh/id_ed25519.pub
[commit]
gpgsign = true
[tag]
gpgsign = true
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.ssh/allowed_signers
[core]
editor = nvim
autocrlf = input
[pull]
rebase = true
[push]
autoSetupRemote = true
[init]
defaultBranch = main
[merge]
conflictstyle = diff3
[diff]
colorMoved = zebra
+490
View File
@@ -0,0 +1,490 @@
vim.g.mapleader = " "
vim.g.maplocalleader = " "
vim.g.have_nerd_font = true
vim.o.number = true
vim.o.relativenumber = true
vim.o.mouse = "a"
vim.o.showmode = false
vim.schedule(function()
vim.o.clipboard = "unnamedplus"
end)
vim.o.breakindent = true
vim.o.undofile = true
vim.o.ignorecase = true
vim.o.smartcase = true
vim.o.signcolumn = "yes"
vim.o.updatetime = 250
vim.o.timeoutlen = 300
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.list = true
vim.opt.listchars = { tab = "» ", trail = "·", nbsp = "" }
vim.o.inccommand = "split"
vim.o.cursorline = true
vim.o.scrolloff = 15
vim.o.confirm = true
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")
vim.diagnostic.config({
update_in_insert = false,
severity_sort = true,
float = { border = "rounded", source = "if_many" },
underline = { severity = { min = vim.diagnostic.severity.WARN } },
virtual_text = true,
virtual_lines = false,
jump = { float = true },
})
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" })
vim.keymap.set("t", "<Esc><Esc>", "<C-\\><C-n>", { desc = "Exit terminal mode" })
vim.keymap.set("n", "<C-h>", "<C-w><C-h>", { desc = "Move focus to the left window" })
vim.keymap.set("n", "<C-l>", "<C-w><C-l>", { desc = "Move focus to the right window" })
vim.keymap.set("n", "<C-j>", "<C-w><C-j>", { desc = "Move focus to the lower window" })
vim.keymap.set("n", "<C-k>", "<C-w><C-k>", { desc = "Move focus to the upper window" })
vim.api.nvim_create_autocmd("TextYankPost", {
desc = "Highlight when yanking (copying) text",
group = vim.api.nvim_create_augroup("kickstart-highlight-yank", { clear = true }),
callback = function()
vim.hl.on_yank()
end,
})
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
error("Error cloning lazy.nvim:\n" .. out)
end
end
---@type vim.Option
local rtp = vim.opt.rtp
rtp:prepend(lazypath)
require("lazy").setup({
{ "NMAC427/guess-indent.nvim", opts = {} },
{
"lewis6991/gitsigns.nvim",
---@module 'gitsigns'
---@type Gitsigns.Config
---@diagnostic disable-next-line: missing-fields
opts = {
signs = {
add = { text = "+" }, ---@diagnostic disable-line: missing-fields
change = { text = "~" }, ---@diagnostic disable-line: missing-fields
delete = { text = "_" }, ---@diagnostic disable-line: missing-fields
topdelete = { text = "" }, ---@diagnostic disable-line: missing-fields
changedelete = { text = "~" }, ---@diagnostic disable-line: missing-fields
},
},
},
{
"nvim-telescope/telescope.nvim",
enabled = true,
event = "VimEnter",
dependencies = {
"nvim-lua/plenary.nvim",
{
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
cond = function()
return vim.fn.executable("make") == 1
end,
},
{ "nvim-telescope/telescope-ui-select.nvim" },
{ "nvim-tree/nvim-web-devicons", enabled = vim.g.have_nerd_font },
},
config = function()
require("telescope").setup({
extensions = {
["ui-select"] = { require("telescope.themes").get_dropdown() },
},
})
pcall(require("telescope").load_extension, "fzf")
pcall(require("telescope").load_extension, "ui-select")
local builtin = require("telescope.builtin")
vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp" })
vim.keymap.set("n", "<leader>sk", builtin.keymaps, { desc = "[S]earch [K]eymaps" })
vim.keymap.set("n", "<leader>sf", builtin.find_files, { desc = "[S]earch [F]iles" })
vim.keymap.set("n", "<leader>ss", builtin.builtin, { desc = "[S]earch [S]elect Telescope" })
vim.keymap.set({ "n", "v" }, "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
vim.keymap.set("n", "<leader>sr", builtin.resume, { desc = "[S]earch [R]esume" })
vim.keymap.set("n", "<leader>s.", builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
vim.keymap.set("n", "<leader>sc", builtin.commands, { desc = "[S]earch [C]ommands" })
vim.keymap.set("n", "<leader><leader>", builtin.buffers, { desc = "[ ] Find existing buffers" })
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("telescope-lsp-attach", { clear = true }),
callback = function(event)
local buf = event.buf
vim.keymap.set("n", "grr", builtin.lsp_references, { buffer = buf, desc = "[G]oto [R]eferences" })
vim.keymap.set(
"n",
"gri",
builtin.lsp_implementations,
{ buffer = buf, desc = "[G]oto [I]mplementation" }
)
vim.keymap.set("n", "grd", builtin.lsp_definitions, { buffer = buf, desc = "[G]oto [D]efinition" })
vim.keymap.set(
"n",
"gO",
builtin.lsp_document_symbols,
{ buffer = buf, desc = "Open Document Symbols" }
)
vim.keymap.set(
"n",
"gW",
builtin.lsp_dynamic_workspace_symbols,
{ buffer = buf, desc = "Open Workspace Symbols" }
)
vim.keymap.set(
"n",
"grt",
builtin.lsp_type_definitions,
{ buffer = buf, desc = "[G]oto [T]ype Definition" }
)
end,
})
vim.keymap.set("n", "<leader>/", function()
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
winblend = 20,
previewer = false,
}))
end, { desc = "[/] Fuzzily search in current buffer" })
vim.keymap.set("n", "<leader>s/", function()
builtin.live_grep({
grep_open_files = true,
prompt_title = "Live Grep in Open Files",
})
end, { desc = "[S]earch [/] in Open Files" })
vim.keymap.set("n", "<leader>sn", function()
builtin.find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "[S]earch [N]eovim files" })
end,
},
{
"neovim/nvim-lspconfig",
dependencies = {
{ "j-hui/fidget.nvim", opts = {} },
},
config = function()
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("kickstart-lsp-attach", { clear = true }),
callback = function(event)
local map = function(keys, func, desc, mode)
mode = mode or "n"
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = "LSP: " .. desc })
end
map("grn", vim.lsp.buf.rename, "[R]e[n]ame")
map("gra", vim.lsp.buf.code_action, "[G]oto Code [A]ction", { "n", "x" })
map("grD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
local client = vim.lsp.get_client_by_id(event.data.client_id)
if client and client:supports_method("textDocument/documentHighlight", event.buf) then
local highlight_augroup =
vim.api.nvim_create_augroup("kickstart-lsp-highlight", { clear = false })
vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.document_highlight,
})
vim.api.nvim_create_autocmd({ "CursorMoved", "CursorMovedI" }, {
buffer = event.buf,
group = highlight_augroup,
callback = vim.lsp.buf.clear_references,
})
vim.api.nvim_create_autocmd("LspDetach", {
group = vim.api.nvim_create_augroup("kickstart-lsp-detach", { clear = true }),
callback = function(event2)
vim.lsp.buf.clear_references()
vim.api.nvim_clear_autocmds({
group = "kickstart-lsp-highlight",
buffer = event2.buf,
})
end,
})
end
if client and client:supports_method("textDocument/inlayHint", event.buf) then
map("<leader>th", function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({ bufnr = event.buf }))
end, "[T]oggle Inlay [H]ints")
end
end,
})
local servers = {
clangd = {},
zls = {},
gopls = {},
rust_analyzer = {},
omnisharp = {},
jdtls = {},
ts_ls = {},
lua_ls = {
on_init = function(client)
if client.workspace_folders then
local path = client.workspace_folders[1].name
if
path ~= vim.fn.stdpath("config")
and (vim.uv.fs_stat(path .. "/.luarc.json") or vim.uv.fs_stat(path .. "/.luarc.jsonc"))
then
return
end
end
client.config.settings.Lua = vim.tbl_deep_extend("force", client.config.settings.Lua, {
runtime = {
version = "LuaJIT",
path = { "lua/?.lua", "lua/?/init.lua" },
},
workspace = {
checkThirdParty = false,
library = vim.tbl_extend("force", vim.api.nvim_get_runtime_file("", true), {
"${3rd}/luv/library",
"${3rd}/busted/library",
}),
},
})
end,
settings = {
Lua = {},
},
},
}
for name, server in pairs(servers) do
vim.lsp.config(name, server)
vim.lsp.enable(name)
end
end,
},
{
"stevearc/conform.nvim",
event = { "BufWritePre" },
cmd = { "ConformInfo" },
keys = {
{
"<leader>f",
function()
require("conform").format({ async = true, lsp_format = "fallback" })
end,
mode = "",
desc = "[F]ormat buffer",
},
},
---@module 'conform'
---@type conform.setupOpts
opts = {
notify_on_error = false,
format_on_save = function(bufnr)
local disable_filetypes = { c = true, cpp = true }
if disable_filetypes[vim.bo[bufnr].filetype] then
return nil
else
return {
timeout_ms = 500,
lsp_format = "fallback",
}
end
end,
formatters_by_ft = {
lua = { "stylua" },
python = { "isort", "black" },
},
},
},
{
"saghen/blink.cmp",
event = "VimEnter",
version = "1.*",
dependencies = {
{
"L3MON4D3/LuaSnip",
version = "2.*",
build = (function()
if vim.fn.has("win32") == 1 or vim.fn.executable("make") == 0 then
return
end
return "make install_jsregexp"
end)(),
dependencies = {},
opts = {},
},
},
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
keymap = {
preset = "default",
},
appearance = {
nerd_font_variant = "mono",
},
completion = {
documentation = { auto_show = false, auto_show_delay_ms = 500 },
},
sources = {
default = { "lsp", "path", "snippets" },
},
snippets = { preset = "luasnip" },
fuzzy = { implementation = "prefer_rust_with_warning" },
signature = { enabled = true },
},
},
{
"folke/tokyonight.nvim",
priority = 1000,
config = function()
---@diagnostic disable-next-line: missing-fields
require("tokyonight").setup({
styles = {
comments = { italic = true },
},
})
vim.cmd.colorscheme("tokyonight-night")
end,
},
{
"folke/todo-comments.nvim",
event = "VimEnter",
dependencies = { "nvim-lua/plenary.nvim" },
---@module 'todo-comments'
---@type TodoOptions
---@diagnostic disable-next-line: missing-fields
opts = { signs = false },
},
{
"nvim-mini/mini.nvim",
config = function()
require("mini.ai").setup({ n_lines = 500 })
require("mini.surround").setup()
local statusline = require("mini.statusline")
statusline.setup({ use_icons = vim.g.have_nerd_font })
---@diagnostic disable-next-line: duplicate-set-field
statusline.section_location = function()
return "%2l:%-2v"
end
end,
},
{
"nvim-treesitter/nvim-treesitter",
lazy = false,
branch = "main",
build = ":TSUpdate",
config = function()
-- Pre-install parsers for languages we know we use.
-- For any other filetype, the FileType autocmd below will
-- auto-install the parser on first open.
local parsers = {
"javascript",
"typescript",
"tsx",
"json",
"bash",
"c",
"c_sharp",
"diff",
"go",
"html",
"java",
"lua",
"luadoc",
"markdown",
"markdown_inline",
"python",
"query",
"rust",
"vim",
"vimdoc",
"zig",
}
local installed = require("nvim-treesitter.config").get_installed()
local to_install = vim.tbl_filter(function(p)
return not vim.tbl_contains(installed, p)
end, parsers)
if #to_install > 0 then
require("nvim-treesitter").install(to_install)
end
-- Helper: try to start treesitter highlighting + indentation for a buffer
local function treesitter_try_attach(buf, language)
if not pcall(vim.treesitter.start, buf, language) then
return
end
local has_indent_query = pcall(vim.treesitter.query.get, language, "indents")
if has_indent_query then
vim.bo[buf].indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end
end
-- On every FileType event:
-- 1. If the parser is already installed, attach immediately.
-- 2. If not, auto-install it then attach once done.
vim.api.nvim_create_autocmd("FileType", {
callback = function(args)
local buf, filetype = args.buf, args.match
local language = vim.treesitter.language.get_lang(filetype)
if not language then
return
end
if vim.treesitter.language.add(language) then
-- Parser already available — attach right away
treesitter_try_attach(buf, language)
else
-- Parser missing — install it, then attach
require("nvim-treesitter").install(language):await(function()
treesitter_try_attach(buf, language)
end)
end
end,
})
end,
},
}, { ---@diagnostic disable-line: missing-fields
ui = {
icons = vim.g.have_nerd_font and {} or {
cmd = "",
config = "🛠",
event = "📅",
ft = "📂",
init = "",
keys = "🗝",
plugin = "🔌",
runtime = "💻",
require = "🌙",
source = "📄",
start = "🚀",
task = "📌",
lazy = "💤 ",
},
},
})
+9
View File
@@ -0,0 +1,9 @@
Host flo-homeserver
HostName 10.0.0.2
User bl
ProxyJump vps
Host vps
HostName 139.59.166.35
User bl
IdentityFile ~/.ssh/id_ed25519
+118
View File
@@ -0,0 +1,118 @@
# Sway workstation configuration translated from NixOS behavior.
set $mod Mod4
set $term foot -e tmux new-session -A -s main
set $browser zen
set $menu rofi -show drun
font pango:DejaVu Sans Mono 10
output * scale 1
output * bg ~/.config/sway/tux.png fill
input type:keyboard {
xkb_layout fo
xkb_model pc105
}
input type:touchpad {
natural_scroll disabled
tap enabled
}
gaps inner 5
gaps outer 10
smart_gaps on
default_border pixel 2
default_floating_border pixel 2
client.focused #33ccff #33ccff #1a1b26 #33ccff #33ccff
client.focused_inactive #595959 #595959 #c0caf5 #595959 #595959
client.unfocused #595959 #595959 #c0caf5 #595959 #595959
floating_modifier $mod normal
# Applications and session
bindsym $mod+t exec $term
bindsym $mod+b exec $browser
bindsym $mod+d exec $menu
bindsym $mod+q kill
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit Sway?' -B 'Exit' 'swaymsg exit'
# Focus movement
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move windows
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Workspaces
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
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
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
# Layout and scratchpad
bindsym $mod+s layout toggle split
bindsym $mod+e layout toggle split
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+space floating toggle
bindsym $mod+minus scratchpad show
bindsym $mod+Shift+minus move scratchpad
# Hardware controls
bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindsym XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindsym XF86MonBrightnessUp exec brightnessctl set 5%+
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
bindsym Print exec grim -g "$(slurp)" "$HOME/Pictures/screenshot-$(date +%Y%m%d-%H%M%S).png"
# Session services
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
exec /usr/libexec/lxqt-policykit-agent
exec nm-applet --indicator
exec mako
exec ~/.config/waybar/launch.sh
Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+28
View File
@@ -0,0 +1,28 @@
set -ga terminal-overrides ",xterm-256color:RGB"
set -g display-time 4000
set -g status-position top
setw -g pane-base-index 1
# Tokyo Night Colors
bg="#1a1b26"
default_fg="#c0caf5"
session_fg="#9ece6a"
session_selection_fg="#1a1b26"
session_selection_bg="#7aa2f7"
active_window_fg="#7dcfff"
active_pane_border="#7aa2f7"
set -g status-left-length 200
set -g status-right-length 200
set -g status-left "#[fg=${session_fg},bold,bg=${bg}] #S #[fg=${default_fg},nobold,bg=${bg}] | "
set -g status-right "#[fg=${active_window_fg},bg=${bg}] 󰁹 #(acpi -b | awk -F', ' '{print $2}') #[fg=${default_fg},nobold,bg=${bg}] | #[fg=${active_window_fg},bg=${bg}] %H:%M #[fg=${default_fg},nobold,bg=${bg}] | #[fg=${session_fg},bg=${bg}] %a %Y-%m-%d "
set -g status-justify left
set -g status-style "bg=${bg}"
set -g window-status-format "#[fg=${default_fg},bg=default] #I:#W"
set -g window-status-current-format "#[fg=${active_window_fg},bold,bg=default] #[underscore]#I:#W"
set -g window-status-last-style "fg=${default_fg},bg=default"
set -g message-command-style "bg=default,fg=${default_fg}"
set -g message-style "bg=default,fg=${default_fg}"
set -g mode-style "bg=${session_selection_bg},fg=${session_selection_fg}"
set -g pane-active-border-style "fg=${active_pane_border},bg=default"
set -g pane-border-style "fg=brightblack,bg=default"
+12
View File
@@ -0,0 +1,12 @@
set -g prefix C-b
setw -g mode-keys vi
set -g default-shell /usr/bin/zsh
set -sg escape-time 0
set -g focus-events on
set -g default-terminal tmux-256color
set -g history-limit 10000
setw -g aggressive-resize on
set -g base-index 1
setw -g pane-base-index 1
source-file ~/.config/tmux/theme.conf
+44
View File
@@ -0,0 +1,44 @@
{
"layer": "top",
"position": "top",
"height": 34,
"margin-top": 8,
"margin-left": 0,
"margin-right": 0,
"modules-left": ["sway/workspaces", "sway/window"],
"modules-center": ["clock"],
"modules-right": ["pulseaudio", "network", "battery", "tray"],
"sway/workspaces": {
"all-outputs": true,
"disable-scroll": true,
"format": "{name}"
},
"sway/window": {
"max-length": 40
},
"clock": {
"format": "{:%a %b %d %I:%M %p}"
},
"battery": {
"format": "{capacity}%"
},
"network": {
"format-wifi": "wifi {essid}",
"format-ethernet": "wired",
"format-disconnected": "offline",
"on-click": "nm-connection-editor"
},
"pulseaudio": {
"format": "vol {volume}%",
"format-muted": "muted",
"on-click": "pavucontrol"
}
}
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -euo pipefail
config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/waybar"
base_config="$config_dir/config"
runtime_config="$config_dir/config.runtime"
width=$(swaymsg -r -t get_outputs | jq -r '[.[] | select(.focused)][0] // .[0] // {rect: {width: 1440}} | .rect.width // 1440')
if ! [[ "$width" =~ ^[0-9]+$ ]] || (( width == 0 )); then
width=1440
fi
margin=$((width * 125 / 1000))
jq --argjson margin "$margin" '
.["margin-left"] = $margin
| .["margin-right"] = $margin
' "$base_config" > "$runtime_config"
exec waybar -c "$runtime_config"
+49
View File
@@ -0,0 +1,49 @@
@import "themes/current.css";
* {
font-family: "DejaVu Sans Mono", monospace;
font-size: 13px;
border: none;
border-radius: 10px;
}
window#waybar {
background: @bar-bg;
color: @text;
border-radius: 18px;
border: 1px solid @border;
}
window#waybar > box {
padding: 0 4px;
}
#workspaces label {
padding: 0 10px;
margin: 5px 3px;
color: @text;
background: transparent;
}
#workspaces .active {
background: @accent;
color: @accent-fg;
}
#window {
padding: 0 12px;
margin: 5px 4px;
background: @accent;
color: @accent-fg;
font-weight: bold;
}
#clock,
#battery,
#network,
#pulseaudio,
#tray {
padding: 0 12px;
margin: 5px 4px;
background: @module-bg;
}
+7
View File
@@ -0,0 +1,7 @@
@define-color bar-bg rgba(17, 17, 27, 0.82);
@define-color module-bg rgba(49, 50, 68, 0.85);
@define-color border rgba(203, 166, 247, 0.35);
@define-color text #cdd6f4;
@define-color accent #cba6f7;
@define-color accent-fg #11111b;
+6
View File
@@ -0,0 +1,6 @@
@define-color bar-bg rgba(17, 17, 27, 0.82);
@define-color module-bg rgba(49, 50, 68, 0.85);
@define-color border rgba(203, 166, 247, 0.35);
@define-color text #cdd6f4;
@define-color accent #cba6f7;
@define-color accent-fg #11111b;
+6
View File
@@ -0,0 +1,6 @@
@define-color bar-bg rgba(249, 245, 215, 0.88);
@define-color module-bg rgba(235, 219, 178, 0.86);
@define-color border rgba(181, 118, 20, 0.35);
@define-color text #3c3836;
@define-color accent #b57614;
@define-color accent-fg #f9f5d7;
+36
View File
@@ -0,0 +1,36 @@
HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000
SAVEHIST=10000
setopt append_history
alias gp='git push'
alias gcm='git commit -am'
alias gsw='git switch'
alias gst='git status'
alias ga='git add .'
alias gtree="git log --graph --all --pretty=format:'%C(yellow)%h%Creset%C(cyan)%d%Creset %s %C(dim)(%cr) <%an>%Creset'"
alias typ='typora --enable-features=UseOzonePlatform --ozone-platform=wayland &'
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
export GOPATH="${GOPATH:-$HOME/go}"
export PATH="$HOME/.scripts:$HOME/.local/bin:$HOME/.cargo/bin:$HOME/.bun/bin:$HOME/bin/zig:$HOME/bin/zls:$GOPATH/bin:$PATH"
start-ssh-agent() {
local agent_env="$HOME/.ssh/agent.env"
if [[ -f "$agent_env" ]]; then
source "$agent_env" >/dev/null
fi
if ! ssh-add -l &>/dev/null; then
eval "$(ssh-agent -s)" >/dev/null
ssh-agent -s >"$agent_env"
chmod 600 "$agent_env"
ssh-add ~/.ssh/id_ed25519 2>/dev/null || ssh-add ~/.ssh/id_rsa 2>/dev/null
fi
}
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
eval "$(fzf --zsh)"
eval "$(starship init zsh)"