diff --git a/.config/fish/alias.fish b/.config/fish/alias.fish index 4833220..49a3ace 100644 --- a/.config/fish/alias.fish +++ b/.config/fish/alias.fish @@ -50,9 +50,14 @@ if command -q lsof alias udp "lsof -PniUDP" end +# MPV +if command -q mpv + alias music "mpv music --shuffle --no-video" +end + # Neovim -if command -q $EDITOR - alias e $EDITOR +if command -q nvim + alias e nvim end # Pacman @@ -107,11 +112,13 @@ if command -q tmux end # ... +alias align "column -t -o ' '" alias cfg "config" alias cls "clear" alias debug "blinkenlights" alias disasm "llvm-objdump --disassembler-color=on --x86-asm-syntax=intel -d" alias ff "fastfetch" +alias fn "rg --files | rg" alias hex "hexdump -C" alias log "journalctl" alias utc "date -u +'%Y-%m-%dT%H:%M:%SZ'" diff --git a/.config/fish/config.fish b/.config/fish/config.fish index b2182b9..b4bace5 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -1,13 +1,13 @@ -# Set environment variables from .env -while read -la line - set -l keyval (string split -m1 "=" $line) - set -l key (string trim $keyval[1]) - set -l value (string trim $keyval[2..]) - set -l value (eval echo $value) - set -xg $key $value -end < ~/.env - -# Interactive mode aliases if status is-interactive + # Aliases source $HOME/.config/fish/alias.fish + + # Set environment variables from .env + while read -la line + set -l keyval (string split -m1 "=" $line) + set -l key (string trim $keyval[1]) + set -l value (string trim $keyval[2..]) + set -l value (eval echo $value) + set -xg $key $value + end < ~/.env end \ No newline at end of file diff --git a/.config/hypr/autostart.conf b/.config/hypr/autostart.conf index a6a17b5..c791a3e 100644 --- a/.config/hypr/autostart.conf +++ b/.config/hypr/autostart.conf @@ -1,11 +1,12 @@ # Autostart exec-once = swaybg -i ~/pictures/wallpapers/01.png exec-once = wl-paste --watch cliphist store -exec-once = /usr/libexec/pipewire-launcher exec-once = $statusbar exec-once = ssh-agent -D -a $SSH_AUTH_SOCK +exec-once = openrc --user gui # Disabled +#exec-once = /usr/libexec/pipewire-launcher #exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP #exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 #exec-once = waypaper --restore \ No newline at end of file diff --git a/.config/hypr/keys.conf b/.config/hypr/keys.conf index 57978f8..b2b2422 100644 --- a/.config/hypr/keys.conf +++ b/.config/hypr/keys.conf @@ -2,24 +2,26 @@ $main = SUPER # Apps bind = $main, B, exec, $browser -bind = $main, D, exec, $editor -bind = $main, E, exec, $files -bind = $main, F1, exec, $systeminfo +bind = $main, E, exec, $editor +bind = $main, F, exec, $files +bind = $main, K, exec, $calendar bind = $main, L, exec, $lockscreen +bind = $main, M, exec, $email bind = $main, P, exec, $processmonitor -bind = $main, Return, exec, $floating bind = $main, S, exec, pkill $statusbar || $statusbar -bind = $main, Space, exec, pkill $menu || $menu bind = $main, T, exec, $terminal bind = $main, W, exec, $wallpaper bind = $main, U, exec, $update -bind = , Print, exec, $screenshot +bind = $main, F1, exec, $systeminfo +bind = $main, Return, exec, $floating +bind = $main, Space, exec, pkill $menu || $menu +bind =, Print, exec, $screenshot # Window management bind = $main, C, killactive, -bind = $main, F, fullscreen, -bind = $main, V, togglefloating, bind = $main, J, togglesplit, +bind = $main, V, togglefloating, +bind = $main, Super_R, fullscreen, # Session management bind = $main, Backspace, exit, diff --git a/.config/hypr/programs.conf b/.config/hypr/programs.conf index 038748b..f39c23d 100644 --- a/.config/hypr/programs.conf +++ b/.config/hypr/programs.conf @@ -1,6 +1,5 @@ # Apps $browser = firefox -$email = evolution $logout = wlogout $lockscreen = swaylock $menu = fuzzel @@ -11,7 +10,9 @@ $terminal = foot $wallpaper = waypaper # Terminal based +$calendar = $terminal -e calcurse $editor = $terminal -e nvim +$email = $terminal -e aerc $files = $terminal -e nnn $center = [float;size 960 540;center] $floating = $center $terminal diff --git a/.config/nvim/colors/monokai.lua b/.config/nvim/colors/monokai.lua new file mode 100644 index 0000000..e52480a --- /dev/null +++ b/.config/nvim/colors/monokai.lua @@ -0,0 +1,246 @@ +vim.cmd("highlight clear") +vim.o.background = "dark" +vim.o.termguicolors = true +vim.g.colors_name = "monokai" + +local c = { + base0 = "#222426", + base1 = "#272a30", + base2 = "#26292C", + base3 = "#2E323C", + base4 = "#333842", + base5 = "#4d5154", + base6 = "#9ca0a4", + base7 = "#b1b1b1", + base8 = "#e3e3e1", + border = "#a1b5b1", + brown = "#504945", + white = "#f8f8f0", + grey = "#8F908A", + black = "#000000", + pink = "#f92672", + green = "#a6e22e", + aqua = "#66d9ef", + yellow = "#e6db74", + orange = "#fd971f", + purple = "#ae81ff", + red = "#e95678", + diff_add = "#3d5213", + diff_remove = "#4a0f23", + diff_change = "#27406b", + diff_text = "#23324d", +} + +local hl = function(group, opts) + vim.api.nvim_set_hl(0, group, opts) +end + +-- Syntax +hl("Normal", { fg = c.white, bg = c.base2 }) +hl("NormalFloat", { bg = c.base1 }) +hl("Pmenu", { fg = c.white, bg = c.base3 }) +hl("PmenuSel", { fg = c.base4, bg = c.orange }) +hl("PmenuSelBold", { fg = c.base4, bg = c.orange }) +hl("PmenuThumb", { fg = c.purple, bg = c.green }) +hl("PmenuSbar", { bg = c.base3 }) +hl("Cursor", { reverse = true }) +hl("ColorColumn", { bg = c.base3 }) +hl("CursorLine", { bg = c.base3 }) +hl("NonText", { fg = c.base5 }) +hl("Visual", { bg = c.base4 }) +hl("VisualNOS", { bg = c.base3 }) +hl("Search", { fg = c.base2, bg = c.yellow }) +hl("IncSearch", { fg = c.base2, bg = c.orange }) +hl("CursorLineNr", { fg = c.orange, bg = c.base2 }) +hl("MatchParen", { fg = c.pink }) +hl("Question", { fg = c.yellow }) +hl("ModeMsg", { fg = c.white, bold = true }) +hl("MoreMsg", { fg = c.white, bold = true }) +hl("ErrorMsg", { fg = c.red, bold = true }) +hl("WarningMsg", { fg = c.yellow, bold = true }) +hl("VertSplit", { fg = c.brown }) +hl("LineNr", { fg = c.base5, bg = c.base2 }) +hl("SignColumn", { fg = c.white, bg = c.base2 }) +hl("StatusLine", { fg = c.base7, bg = c.base3 }) +hl("StatusLineNC", { fg = c.grey, bg = c.base3 }) +hl("Tabline", {}) +hl("TabLineFill", {}) +hl("TabLineSel", { bg = c.base4 }) +hl("SpellBad", { fg = c.red, undercurl = true }) +hl("SpellCap", { fg = c.purple, undercurl = true }) +hl("SpellRare", { fg = c.aqua, undercurl = true }) +hl("SpellLocal", { fg = c.pink, undercurl = true }) +hl("SpecialKey", { fg = c.pink }) +hl("Title", { fg = c.yellow, bold = true }) +hl("Directory", { fg = c.aqua }) +hl("DiffAdd", { bg = c.diff_add }) +hl("DiffDelete", { bg = c.diff_remove }) +hl("DiffChange", { bg = c.diff_change }) +hl("DiffText", { bg = c.diff_text }) +hl("diffAdded", { fg = c.green }) +hl("diffRemoved", { fg = c.pink }) +hl("Folded", { fg = c.grey, bg = c.base3 }) +hl("FoldColumn", { fg = c.white, bg = c.black }) +hl("Constant", { fg = c.aqua }) +hl("Number", { fg = c.purple }) +hl("Float", { fg = c.purple }) +hl("Boolean", { fg = c.purple }) +hl("Character", { fg = c.yellow }) +hl("String", { fg = c.yellow }) +hl("Type", { fg = c.aqua }) +hl("Structure", { fg = c.aqua }) +hl("StorageClass", { fg = c.aqua }) +hl("Typedef", { fg = c.aqua }) +hl("Identifier", { fg = c.white }) +hl("Function", { fg = c.green, italic = true }) +hl("Statement", { fg = c.pink }) +hl("Operator", { fg = c.pink }) +hl("Label", { fg = c.pink }) +hl("Keyword", { fg = c.pink, italic = true }) +hl("PreProc", { fg = c.green }) +hl("Include", { fg = c.aqua, italic = true }) +hl("Define", { fg = c.pink }) +hl("Macro", { fg = c.pink }) +hl("PreCondit", { fg = c.pink }) +hl("Special", { fg = c.white }) +hl("SpecialChar", { fg = c.pink }) +hl("Delimiter", { fg = c.white }) +hl("SpecialComment", { fg = c.grey, italic = true }) +hl("Tag", { fg = c.orange }) +hl("Todo", { fg = c.orange }) +hl("Comment", { fg = c.base6, italic = true }) +hl("Underlined", { underline = true }) +hl("Ignore", {}) +hl("Error", { fg = c.red }) +hl("Terminal", { fg = c.white, bg = c.base2 }) +hl("EndOfBuffer", { fg = c.base2 }) +hl("Conceal", { fg = c.grey }) +hl("vCursor", { reverse = true }) +hl("iCursor", { reverse = true }) +hl("lCursor", { reverse = true }) +hl("CursorIM", { reverse = true }) +hl("CursorColumn", { bg = c.base3 }) +hl("Whitespace", { fg = c.base5 }) +hl("WildMenu", { fg = c.white, bg = c.orange }) +hl("QuickFixLine", { fg = c.purple, bold = true }) +hl("Debug", { fg = c.orange }) +hl("debugBreakpoint", { fg = c.base2, bg = c.red }) +hl("Conditional", { fg = c.pink }) +hl("Repeat", { fg = c.pink }) +hl("Exception", { fg = c.pink }) + +-- Plugins +--hl("@annotation", { fg = c.green }) +--hl("@attribute", { fg = c.green }) +--hl("@boolean", { fg = c.purple }) +--hl("@character", { fg = c.yellow }) +--hl("@character.special", { fg = c.purple }) +--hl("@comment", { fg = c.base6, italic = true }) +--hl("@conceal", { fg = c.grey }) +--hl("@conditional", { fg = c.pink }) +--hl("@conditional.ternary", { fg = c.pink }) +--hl("@constant", { fg = c.aqua }) +--hl("@constant.builtin", { fg = c.purple }) +--hl("@constant.macro", { fg = c.purple }) +--hl("@constructor", { fg = c.aqua }) +--hl("@debug", { fg = c.pink }) +--hl("@define", { fg = c.aqua }) +--hl("@definition", { fg = c.green }) +--hl("@definition.associated", { fg = c.green }) +--hl("@definition.constant", { fg = c.green }) +--hl("@definition.enum", { fg = c.green }) +--hl("@definition.field", { fg = c.green }) +--hl("@definition.function", { fg = c.green }) +--hl("@definition.import", { fg = c.white }) +--hl("@definition.macro", { fg = c.green, italic = true }) +--hl("@definition.method", { fg = c.green }) +--hl("@definition.namespace", { fg = c.white }) +--hl("@definition.parameter", { fg = c.orange }) +--hl("@definition.type", { fg = c.green }) +--hl("@definition.var", { fg = c.green }) +--hl("@error", { fg = c.red }) +--hl("@exception", { fg = c.pink }) +--hl("@field", { fg = c.white }) +--hl("@float", { fg = c.purple }) +--hl("@function", { fg = c.green, italic = true }) +--hl("@function.builtin", { fg = c.aqua }) +--hl("@function.call", { fg = c.white }) +--hl("@function.macro", { fg = c.green, italic = true }) +--hl("@include", { fg = c.aqua, italic = true }) +--hl("@keyword", { fg = c.pink, italic = true }) +--hl("@keyword.function", { fg = c.aqua, italic = true }) +--hl("@keyword.operator", { fg = c.pink }) +--hl("@keyword.return", { fg = c.pink }) +--hl("@label", { fg = c.pink }) +--hl("@math", { fg = c.yellow }) +--hl("@method", { fg = c.green }) +--hl("@method.call", { fg = c.white }) +--hl("@namespace", { fg = c.purple }) +--hl("@number", { fg = c.purple }) +--hl("@operator", { fg = c.pink }) +--hl("@parameter", { fg = c.orange }) +--hl("@parameter.reference", { fg = c.white }) +--hl("@preproc", { fg = c.green }) +--hl("@property", { fg = c.white }) +--hl("@punctuation.bracket", { fg = c.white }) +--hl("@punctuation.delimiter", { fg = c.white }) +--hl("@punctuation.special", { fg = c.pink }) +--hl("@reference", { fg = c.white }) +--hl("@repeat", { fg = c.pink }) +--hl("@scope", { fg = c.white }) +--hl("@storageclass", { fg = c.aqua }) +--hl("@storageclass.lifetime", { fg = c.aqua }) +--hl("@strike", { fg = c.grey }) +--hl("@string", { fg = c.yellow }) +--hl("@string.escape", { fg = c.purple }) +--hl("@string.regex", { fg = c.purple }) +--hl("@string.special", { fg = c.purple }) +--hl("@symbol", { fg = c.purple }) +--hl("@tag", { fg = c.pink }) +--hl("@tag.attribute", { fg = c.green }) +--hl("@tag.delimiter", { fg = c.white }) +--hl("@text", { fg = c.green }) +--hl("@text.danger", { fg = c.red, bold = true }) +--hl("@text.diff.add", { fg = c.diff_add }) +--hl("@text.diff.delete", { fg = c.diff_remove }) +--hl("@text.emphasis", { bold = true }) +--hl("@text.environment", { fg = c.purple }) +--hl("@text.environment.name", { fg = c.aqua }) +--hl("@text.literal", { fg = c.yellow }) +--hl("@text.math", { fg = c.yellow }) +--hl("@text.note", { fg = c.aqua, bold = true }) +--hl("@text.quote", { fg = c.grey }) +--hl("@text.reference", { fg = c.orange, italic = true }) +--hl("@text.strike", { fg = c.grey }) +--hl("@text.strong", { bold = true }) +--hl("@text.title", { fg = c.yellow, bold = true }) +--hl("@text.todo", { fg = c.aqua }) +--hl("@text.underline", { underline = true }) +--hl("@text.uri", { fg = c.aqua, underline = true }) +--hl("@text.warning", { fg = c.yellow, bold = true }) +--hl("@todo", { fg = c.aqua }) +--hl("@type", { fg = c.aqua }) +--hl("@type.builtin", { fg = c.aqua }) +--hl("@type.definition", { fg = c.aqua }) +--hl("@type.qualifier", { fg = c.pink }) +--hl("@uri", { fg = c.aqua, underline = true }) +--hl("@variable", { fg = c.white }) +--hl("@variable.builtin", { fg = c.orange }) +--hl("dbui_tables", { fg = c.white }) +--hl("DiagnosticSignError", { fg = c.red }) +--hl("DiagnosticSignWarn", { fg = c.yellow }) +--hl("DiagnosticSignInfo", { fg = c.white }) +--hl("DiagnosticSignHint", { fg = c.aqua }) +--hl("DiagnosticVirtualTextError", { fg = c.red }) +--hl("DiagnosticVirtualTextWarn", { fg = c.yellow }) +--hl("DiagnosticVirtualTextInfo", { fg = c.white }) +--hl("DiagnosticVirtualTextHint", { fg = c.aqua }) +--hl("DiagnosticUnderlineError", { undercurl = true, sp = c.red }) +--hl("DiagnosticUnderlineWarn", { undercurl = true, sp = c.yellow }) +--hl("DiagnosticUnderlineInfo", { undercurl = true, sp = c.white }) +--hl("DiagnosticUnderlineHint", { undercurl = true, sp = c.aqua }) +--hl("CursorWord0", { bg = c.white, fg = c.black }) +--hl("CursorWord1", { bg = c.white, fg = c.black }) +--hl("NvimTreeFolderName", { fg = c.white }) +--hl("NvimTreeRootFolder", { fg = c.pink }) +--hl("NvimTreeSpecialFile", { fg = c.white }) \ No newline at end of file diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index bb18638..30972e0 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,5 +1,6 @@ require("boot") require("settings") +require("colors") require("keys") require("events") require("commands") diff --git a/.config/nvim/lua/colors.lua b/.config/nvim/lua/colors.lua new file mode 100644 index 0000000..537fa75 --- /dev/null +++ b/.config/nvim/lua/colors.lua @@ -0,0 +1 @@ +vim.cmd("colorscheme monokai") \ No newline at end of file diff --git a/.env b/.env index 5feb1f3..4e93052 100644 --- a/.env +++ b/.env @@ -16,8 +16,10 @@ RUSTUP_HOME=$XDG_DATA_HOME/rustup W3M_DIR=$XDG_DATA_HOME/w3m WINEPREFIX=$XDG_DATA_HOME/wine GOAMD64=v3 +GOARM64=v8.2 BROWSER=firefox EDITOR=nvim +VISUAL=$EDITOR LANG=en_US.UTF-8 PAGER=less SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket