This commit is contained in:
Andrew Haynes
2026-03-22 21:28:10 -04:00
parent e07dbf83c5
commit 3c2c2402e2
28 changed files with 276 additions and 226 deletions
-14
View File
@@ -1,14 +0,0 @@
if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
XDG_CURRENT_DESKTOP=sway dbus-run-session sway
fi
HISTFILE=~/.bash_history
HISTSIZE=100
SAVEHIST=200
eval "$(zoxide init --cmd cd bash)"
export PATH="$HOME/.local/bin:$PATH"
alias ls="ls -a --color"
alias update_world='doas emerge --ask --update --newuse --deep @world'
alias senv="sh /home/andrew/personal/dotfiles/env_linux.sh"
BIN
View File
Binary file not shown.
-50
View File
@@ -1,50 +0,0 @@
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
app-id=foot
title=foot
# font=Maple Mono Semibold:size=10
font=Iosevka NF Semibold:size=11
pad=6x6 center-when-maximized-and-fullscreen
[cursor]
# style=block
# blink=no
# blink-rate=500
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
hide-when-typing=yes
[touch]
# long-press-delay=400
[colors]
background=222436
foreground=c8d3f5
cursor=c8d3f5
regular0=1b1d2b # black
regular1=ff757f # red
regular2=c3e88d # green
regular3=ffc777 # yellow
regular4=82aaff # blue
regular5=c099ff # magenta
regular6=86e1fc # cyan
regular7=828bb8 # white
bright0=444a73 # bright black
bright1=ff757f # bright red
bright2=c3e88d # bright green
bright3=ffc777 # bright yellow
bright4=82aaff # bright blue
bright5=c099ff # bright magenta
bright6=86e1fc # bright cyan
bright7=c8d3f5 # bright white
selection-foreground=c8d3f5
selection-background=2d3f76
select-row=BTN_LEFT-4
# vim: ft=dosini
+8 -3
View File
@@ -1,15 +1,20 @@
config-file = ?~/.config/ghostty/macos/config
config-file = ?~/.config/ghostty/linux/config
font-family = "Iosevka NF Semibold"
#font-family = "Iosevka NF Semibold"
#font-family = "FiraCode Nerd Font Mono Semibold"
font-family = "JetBrainsMono Nerd Font Medium"
font-thicken = true
font-thicken-strength = 10
background = 000000
# background-opacity = 0.85
# background = 000000
# background-blur = true
confirm-close-surface = false
window-padding-x = 6
window-padding-y = 6
mouse-hide-while-typing = true
adjust-cell-height = 15%
adjust-cell-height = 5%
adjust-cell-width = -5%
alpha-blending = linear-corrected
bold-is-bright = true
mouse-hide-while-typing = true
+1 -1
View File
@@ -1,3 +1,3 @@
font-size = 14
theme = "tokyonight-moon"
theme = "rose-pine-default"
macos-titlebar-style = tabs
+22
View File
@@ -0,0 +1,22 @@
background = #1f1d2e
foreground = #e0def4
selection-background = #2f2c40
selection-foreground = #e0def4
cursor-color = #e0def4
cursor-text = #1f1d2e
palette = 0=#26233a
palette = 1=#eb6f92
palette = 2=#31748f
palette = 3=#f6c177
palette = 4=#9ccfd8
palette = 5=#c4a7e7
palette = 6=#ebbcba
palette = 7=#e0def4
palette = 8=#908caa
palette = 9=#eb6f92
palette = 10=#31748f
palette = 11=#f6c177
palette = 12=#9ccfd8
palette = 13=#c4a7e7
palette = 14=#ebbcba
palette = 15=#e0def4
+88 -49
View File
@@ -1,46 +1,45 @@
vim.opt.termguicolors = true
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable",
"https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
spec = {
{
"folke/tokyonight.nvim",
lazy = false,
priority = 1000,
opts = {},
},
{ "norcalli/nvim-colorizer.lua" },
{ "mbbill/undotree" },
{ "nvim-mini/mini.pairs", version = '*' },
{ "ibhagwan/fzf-lua", dependencies = { "nvim-tree/nvim-web-devicons" } },
{ "saghen/blink.cmp", version = "v1.*", opts = {} },
{
dir = "/Users/andrew/personal/Projects/Lua/polydev/",
opts = {
terminal = {
mode = "split",
}
}
},
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
branch = "master",
config = function()
require("nvim-treesitter.configs").setup({
highlight = { enable = true },
indent = { enable = true }
vim.pack.add({
{ src = "https://github.com/rose-pine/neovim", name = "rose-pine" },
{ src = "https://github.com/norcalli/nvim-colorizer.lua" },
{ src = "https://github.com/mbbill/undotree" },
{ src = "https://github.com/nvim-mini/mini.pairs", version = vim.version.range('*') },
{ src = "https://github.com/nvim-tree/nvim-web-devicons" },
{ src = "https://github.com/ibhagwan/fzf-lua" },
{ src = "https://github.com/saghen/blink.cmp", version = vim.version.range('*'), },
{ src = "git@moo:dmm/polydev.git", version = "main" },
{ src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
{ src = "https://github.com/alexghergh/nvim-tmux-navigation" },
})
end
},
require'nvim-tmux-navigation'.setup {
disable_when_zoomed = true -- defaults to false
}
require('nvim-treesitter').install { 'rust', 'c', 'cpp', 'lua' }
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'c', 'cpp', 'rust', 'lua' },
callback = function()
vim.treesitter.start()
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
})
require('colorizer').setup()
require("Polydev").setup({
terminal = {
mode = "split",
},
})
require("blink.cmp").setup({
completion = {
menu = {
draw = {
columns = { { "label", gap = 1 }, { "kind_icon", gap = 1, "kind" } },
}
}
}
})
require('mini.pairs').setup()
require("fzf-lua").setup({
"border-fused",
@@ -76,6 +75,11 @@ require("fzf-lua").setup({
vim.g.mapleader = " "
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 8 -- Number of spaces a <Tab> counts for
vim.opt.shiftwidth = 8 -- Number of spaces for autoindent (>>, <<, etc.)
vim.opt.expandtab = true -- Use spaces instead of tabs
vim.opt.autoindent = true -- Copy indent from current line when starting a new line
vim.opt.softtabstop = 8 -- Number of spaces for <Tab> in insert mode (backspace deletes 4 spaces)
vim.opt.wrap = false
vim.opt.swapfile = false
vim.opt.signcolumn = "yes"
@@ -86,6 +90,7 @@ vim.opt.hlsearch = false
vim.opt.completeopt = { "menuone", "noselect", "popup" }
vim.g.netrw_browse_split = 0
vim.g.netrw_banner = 0
vim.g.netrw_liststyle = 3
vim.g.netrw_winsize = 25
vim.opt.wrapscan = true -- begin search from top of the file when nothng is found
vim.opt.cursorline = true -- enable cursorline
@@ -99,31 +104,57 @@ vim.opt.smartcase = true -- However if we use a capital in search string we th
vim.opt.smartindent = true -- smarter indentation
vim.opt.smarttab = true -- make tab behaviour smarter
vim.opt.laststatus = 3
-- vim.opt.list = true
-- vim.opt.lcs = "tab:| "
-- vim.opt.colorcolumn= "80"
vim.cmd.colorscheme("tokyonight-moon")
vim.lsp.enable({ "lua_ls", "clangd" })
vim.cmd.colorscheme("rose-pine")
-- vim.cmd.colorscheme("tokyonight-moon")
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- 2. Customize the built-in lua_ls config
vim.lsp.config("lua_ls", {
capabilities = capabilities,
settings = {
Lua = {
diagnostics = { globals = { "vim" } },
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
},
},
})
vim.lsp.enable({ "lua_ls", "clangd", "rust-analyzer" })
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
vim.api.nvim_set_hl(0, "StatusLine", { bg = "none" })
vim.api.nvim_set_hl(0, "StatusLineTerm", { bg = "none" })
vim.api.nvim_set_hl(0, "StatusLineNC", { bg = "none" })
vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
vim.api.nvim_set_hl(0, 'LineNrAbove', { fg='#5c638d', bold=true })
vim.api.nvim_set_hl(0, 'LineNrBelow', { fg='#5c638d', bold=true })
vim.api.nvim_set_hl(0, "NormalFloat", { link = 'Normal' })
vim.api.nvim_set_hl(0, "StatusLine", { link = 'Normal' })
vim.api.nvim_set_hl(0, "StatusLineTerm", { link = 'Normal' })
vim.api.nvim_set_hl(0, "StatusLineNC", { link = 'Normal' })
vim.api.nvim_set_hl(0, "SignColumn", { link = 'Normal' })
-- vim.api.nvim_set_hl(0, 'LineNrAbove', { link = 'Conceal', bold = true })
-- vim.api.nvim_set_hl(0, 'LineNrBelow', { link = 'Conceal', bold = true })
vim.api.nvim_set_hl(0, 'LineNrAbove', { link = 'NonText', bold = true })
vim.api.nvim_set_hl(0, 'LineNrBelow', { link = 'NonText', bold = true })
vim.api.nvim_set_hl(0, "LineNr", { link = 'Normal' })
vim.api.nvim_set_hl(0, "FoldColumn", { link = 'Normal' })
vim.api.nvim_set_hl(0, "CursorLineNr", { bg = "none", link = 'MatchParen', bold = true })
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
vim.keymap.set("n", "<leader>ff", vim.lsp.buf.format)
vim.keymap.set("n", "<leader>vs", ":vsplit<CR>")
vim.keymap.set("n", "<leader>ss", ":split<CR>")
vim.keymap.set("n", "<leader>E", ":Ex<CR>")
vim.keymap.set("n", "<C-u>", "<C-u>zz")
vim.keymap.set("n", "<C-d>", "<C-d>zz")
vim.keymap.set("x", "<leader>p", [["_dP]])
vim.keymap.set('n', '<leader><leader>', ":FzfLua files<CR>")
vim.keymap.set('n', '<leader>gh', ":FzfLua helptags<CR>")
vim.keymap.set('n', '<leader>gg', ":FzfLua live_grep<CR>")
vim.keymap.set('n', '<leader>fh', ":FzfLua helptags<CR>")
vim.keymap.set('n', '<leader>fg', ":FzfLua live_grep<CR>")
vim.keymap.set('n', '<leader>fm', ":FzfLua manpages<CR>")
vim.keymap.set('n', '<leader>xx', ":FzfLua diagnostics_workspace<CR>")
vim.keymap.set('n', '<leader>po', ":PolydevOpen<CR>")
vim.keymap.set('n', '<leader>fs', vim.lsp.buf.document_symbol)
vim.keymap.set('n', '<leader>gd', vim.lsp.buf.definition)
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references)
vim.keymap.set("n", "<leader>gR", vim.lsp.buf.rename)
@@ -131,3 +162,11 @@ vim.keymap.set("n", "<leader>gc", vim.lsp.buf.code_action)
vim.keymap.set("n", "<leader>uu", ":UndotreeToggle<CR>")
vim.keymap.set("n", "<leader>[", "<c-w>H", { silent = true, noremap = true, })
vim.keymap.set("n", "<leader>]", "<c-w>K", { silent = true, noremap = true, })
vim.keymap.set("n", "[q", ":cprev<CR>zz", { desc = "Previous Quickfix Item" })
vim.keymap.set("n", "]q", ":cnext<CR>zz", { desc = "Next Quickfix Item" })
vim.keymap.set("n", "<leader>qo", ":copen<CR>", { desc = "Open Quickfix" })
vim.keymap.set("n", "<leader>qc", ":cclose<CR>", { desc = "Close Quickfix" })
vim.keymap.set("n", "<C-h>", ":NvimTmuxNavigateLeft<CR>", { silent = true })
vim.keymap.set("n", "<C-j>", ":NvimTmuxNavigateDown<CR>", { silent = true })
vim.keymap.set("n", "<C-k>", ":NvimTmuxNavigateUp<CR>", { silent = true })
vim.keymap.set("n", "<C-l>", ":NvimTmuxNavigateRight<CR>", { silent = true })
+65
View File
@@ -0,0 +1,65 @@
vim.g.mapleader = " "
vim.g.termguicolors = true
vim.o.nu = true
vim.o.relativenumber = true
vim.o.cursorline = true
vim.o.expandtab = true
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.hlsearch = false
vim.o.incsearch = true
vim.o.swapfile = false
vim.o.backup = false
vim.o.wrap = false
vim.o.undofile = true
vim.o.undodir = os.getenv("HOME") .. "/.cache/nvim/undodir"
vim.o.list = true
--vim.o.listchars = "tabs:> "
vim.o.path = "**"
vim.cmd(":colorscheme retrobox")
vim.cmd(":command! -nargs=+ Grep execute 'silent grep! <args>' | copen")
vim.treesitter.language.register("cpp", "c")
vim.api.nvim_create_autocmd("FileType", {
pattern = {
"c", "h", "cpp",
"lua"
},
callback = function() vim.treesitter.start() end,
})
local map = vim.keymap.set
map("n", "<C-h>", "<C-w><C-h>")
map("n", "<C-j>", "<C-w><C-j>")
map("n", "<C-k>", "<C-w><C-k>")
map("n", "<C-l>", "<C-w><C-l>")
map("n", "<C-d>", "<C-d>zz")
map("n", "<C-u>", "<C-u>zz")
map({ "i", "n" }, "<C-n>", "<C-x><C-]>")
map({ "i", "n" }, "<C- >", "<C-x><C-o>")
map("n", "n", "nzzzv")
map("n", "N", "Nzzzv")
map("v", "J", ":m '>+1<CR>gv=gv")
map("v", "K", ":m '<-2<CR>gv=gv")
map("n", ";", "q:")
map("t", "<ESC>", "<C-\\><C-n>")
map("n", "<A-h>", ":below term<CR>i")
map("n", "<leader>w", ":write<CR>")
map("n", "<leader>q", ":quit<CR>")
map("n", "<leader>Q", ":quit!<CR>")
map("n", "<leader>y", "\"+y")
map("n", "<leader>e", ":Ex<CR>")
map("n", "<leader>v", ":edit $MYVIMRC<CR>")
map("n", "<leader>ff", ":find ")
map("n", "<leader>fg", ":Grep ")
map("n", "<leader>r", ":make!<CR>")
map("n", "<leader>R", ":set makeprg=")
map("n", "<leader>x", ":copen<CR>")
map("n", "<leader>c", ":!ctags -R .<CR>")
+17
View File
@@ -0,0 +1,17 @@
-- ~/.config/nvim/lsp/rust-analyzer.lua
return {
cmd = { "rust-analyzer" },
filetypes = { "rust" },
root_markers = { "Cargo.toml", ".git" },
settings = {
["rust-analyzer"] = {
diagnostics = {
enable = false, -- As you requested
},
checkOnSave = {
enable = true,
command = "clippy",
},
},
},
}
+9 -26
View File
@@ -1,32 +1,15 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
$directory\
$character"""
$character\
$directory
"""
[directory]
style = "blue"
[character]
success_symbol = "[❯](purple)"
error_symbol = "[❯](red)"
vimcmd_symbol = "[❮](green)"
[git_branch]
format = "[$branch]($style)"
style = "bright-black"
[git_status]
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)"
style = "cyan"
conflicted = "​"
untracked = "​"
modified = "​"
staged = "​"
renamed = "​"
deleted = "​"
stashed = "≡"
[git_state]
format = '\([$state( $progress_current/$progress_total)]($style)\) '
style = "bright-black"
# success_symbol = "[❯](purple)"
# error_symbol = "[❯](red)"
# vimcmd_symbol = "[❮](green)"
success_symbol = "[->](purple)"
error_symbol = "[->](red)"
vimcmd_symbol = "[->](green)"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 MiB

-50
View File
@@ -1,50 +0,0 @@
exec --no-startup-id dbus-update-activation-environment --all
for_window [app_id="foot"] move container to workspace 1
for_window [app_id="zen"] move container to workspace 2
for_window [class="steam"] move container to workspace 3
for_window [app_id="org.prismlauncher.PrismLauncher"] move container to workspace 3
for_window [instance="engine"] floating enable
font pango: Iosevka NF SemiBold 10
default_border pixel 0
gaps inner 5
gaps outer 2
exec_always pipewire &
exec_always wireplumber &
exec_always pipewire-pulse &
exec_always sh -c 'if ! tmux has-session -t Home 2>/dev/null; then tmux new-session -d -s Home; fi'
output HDMI-A-1 resolution 1920x1080@120Hz position 0,0
input * xkb_options ctrl:nocaps
input "1133:50504:Logitech_USB_Receiver_Mouse" {
accel_profile "flat"
pointer_accel -0.1
}
set $mod Mod1
floating_modifier $mod normal
bindsym $mod+Return exec foot -e tmux a
bindsym $mod+y exec foot -e yazi
bindsym $mod+Shift+s exec steam
bindsym $mod+f exec /home/andrew/personal/zen/zen-bin
bindsym $mod+p exec prismlauncher
bindsym $mod+k kill
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym --locked XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindsym --locked XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindsym --locked XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
include /etc/sway/config.d/*
+4 -3
View File
@@ -18,11 +18,11 @@ if-shell '[[ $(uname) == "Linux" ]]' {
set -as terminal-overrides ',foot:Tc'
}
set-option -g default-shell $SHELL
set -g status-style 'fg=#c3e88d bg=#1b1d2b'
set -g status-style 'fg=#eb6f92 bg=#26233a'
set -g status-left-length 100
set -g status-right-length 20
set -g status-left "#[fg=#ffc777, bold] [#S] #[fg=#ffc777,nobold]~ "
set -g status-right "#[fg=#c3e88d] %m-%d-%Y #[fg=#ffc777] %H:%M "
set -g status-left "#[fg=#f6c177, bold] #S #[fg=#f6c177,nobold]-> "
set -g status-right "#[fg=#eb6f92] %m-%d-%Y #[fg=#f6c177] %H:%M "
set -g base-index 1
set -g pane-base-index 1
@@ -47,6 +47,7 @@ bind -n C-S-k resize-pane -U 5
bind -n C-S-l resize-pane -R 5
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
+15
View File
@@ -0,0 +1,15 @@
Host *
AddKeysToAgent yes
UseKeychain yes # macOS specific
IdentityFile ~/.ssh/id_ed25519
Host moo
HostName git.local.moomancer.xyz
User git
IdentityFile ~/.ssh/id_ed25519 # Path to your private key
Host oasis
HostName 100.90.3.48
User oasis
Port 2222
IdentityFile ~/.ssh/id_ed25519
+9
View File
@@ -68,3 +68,12 @@ rm -f "$target"
cp "$HOME/personal/dotfiles/.config/starship.toml" "$target"
echo "Copied: starship.toml → $target"
rm -rf ~/.config/ghostty/linux
echo "Copying .ssh to $HOME"
target="$HOME/.ssh/config"
rm -rf "$target"
cp "$HOME/personal/dotfiles/.ssh/config" "$target"
echo "Copied: .ssh → $target"
echo
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
defaults write com.apple.dock autohide -bool true
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.4
killall Dock