diff options
| -rw-r--r-- | .bashrc | 95 | ||||
| -rw-r--r-- | .config/dunst/dunstrc | 39 | ||||
| -rw-r--r-- | .config/foot/foot.ini | 6 | ||||
| -rw-r--r-- | .config/jellyfin-tui/config.yaml | 6 | ||||
| -rw-r--r-- | .config/kanata/config.kbd | 39 | ||||
| -rw-r--r-- | .config/luastatus/alsa.lua | 33 | ||||
| -rw-r--r-- | .config/luastatus/battery.lua | 57 | ||||
| -rw-r--r-- | .config/luastatus/playerctl.lua | 43 | ||||
| -rw-r--r-- | .config/luastatus/separator.lua | 6 | ||||
| -rw-r--r-- | .config/luastatus/time-date.lua | 13 | ||||
| -rw-r--r-- | .config/luastatus/wireless.lua | 70 | ||||
| -rw-r--r-- | .config/ly/config.ini | 265 | ||||
| -rw-r--r-- | .config/mimeapps.list | 21 | ||||
| -rw-r--r-- | .config/rofi/config.rasi | 10 | ||||
| -rw-r--r-- | .config/rofi/theme.rasi | 111 | ||||
| -rw-r--r-- | .config/shell/vars | 2 | ||||
| -rw-r--r-- | .config/sway/config | 278 | ||||
| -rw-r--r-- | .config/swaylock/config | 39 | ||||
| -rw-r--r-- | .config/systemd/user/.gitignore | 1 | ||||
| -rw-r--r-- | .config/systemd/user/cliphist.service | 13 | ||||
| -rw-r--r-- | .config/systemd/user/kanata.service | 22 | ||||
| -rw-r--r-- | .ghci | 1 | ||||
| -rw-r--r-- | .gitconfig | 3 | ||||
| -rwxr-xr-x | .local/bin/battery-screen | 70 | ||||
| -rwxr-xr-x | .local/bin/lock-screen | 13 | ||||
| -rwxr-xr-x | .local/bin/rofi-notes | 9 | ||||
| -rwxr-xr-x | .local/bin/rofi-powermenu | 49 | ||||
| -rwxr-xr-x | .local/bin/rofi-ppd | 48 | ||||
| -rwxr-xr-x | .local/bin/rofi-translate | 60 | ||||
| -rwxr-xr-x | .local/bin/rofi-wifimenu | 38 | ||||
| -rwxr-xr-x | .local/bin/take-slurpshot | 18 | ||||
| -rw-r--r-- | .local/share/applications/jellyfin-tui.desktop | 5 | ||||
| -rw-r--r-- | .local/share/applications/yazi.desktop | 6 | ||||
| -rw-r--r-- | .stow-local-ignore | 2 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | config/bat/config (renamed from .config/bat/config) | 0 | ||||
| -rw-r--r-- | config/bat/themes/modus_vivendi.tmTheme (renamed from .config/bat/themes/modus_vivendi.tmTheme) | 0 | ||||
| -rw-r--r-- | config/eza/theme.yml (renamed from .config/eza/theme.yml) | 0 | ||||
| -rw-r--r-- | config/lazygit/.gitignore | 1 | ||||
| -rw-r--r-- | config/lazygit/config.yml (renamed from .config/lazygit/config.yml) | 0 | ||||
| -rw-r--r-- | config/nvim/.gitignore (renamed from .config/nvim/.gitignore) | 0 | ||||
| -rw-r--r-- | config/nvim/.luarc.json (renamed from .config/nvim/.luarc.json) | 0 | ||||
| -rw-r--r-- | config/nvim/ftplugin/markdown.lua (renamed from .config/nvim/ftplugin/markdown.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/init.lua (renamed from .config/nvim/init.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/config/colemak.lua (renamed from .config/nvim/lua/config/colemak.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/config/keymaps.lua (renamed from .config/nvim/lua/config/keymaps.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/config/options.lua (renamed from .config/nvim/lua/config/options.lua) | 2 | ||||
| -rw-r--r-- | config/nvim/lua/manager.lua (renamed from .config/nvim/lua/manager.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/autopairs.lua (renamed from .config/nvim/lua/plugins/autopairs.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/cmp.lua (renamed from .config/nvim/lua/plugins/cmp.lua) | 32 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/colorizer.lua (renamed from .config/nvim/lua/plugins/colorizer.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/compile.lua (renamed from .config/nvim/lua/plugins/compile.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/image.lua (renamed from .config/nvim/lua/plugins/image.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lastplace.lua (renamed from .config/nvim/lua/plugins/lastplace.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lazygit.lua (renamed from .config/nvim/lua/plugins/lazygit.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/lualine.lua (renamed from .config/nvim/lua/plugins/lualine.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/modus-themes.lua (renamed from .config/nvim/lua/plugins/modus-themes.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/oil.lua (renamed from .config/nvim/lua/plugins/oil.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/rainbow-delimiters.lua (renamed from .config/nvim/lua/plugins/rainbow-delimiters.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/render-markdown.lua (renamed from .config/nvim/lua/plugins/render-markdown.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/scratch-buffer.lua | 11 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/telescope.lua (renamed from .config/nvim/lua/plugins/telescope.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/todo-comments.lua (renamed from .config/nvim/lua/plugins/todo-comments.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/ui.lua (renamed from .config/nvim/lua/plugins/ui.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/plugins/zk.lua (renamed from .config/nvim/lua/plugins/zk.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/scripts/diagnostics.lua (renamed from .config/nvim/lua/scripts/diagnostics.lua) | 0 | ||||
| -rw-r--r-- | config/nvim/lua/scripts/init.lua (renamed from .config/nvim/lua/scripts/init.lua) | 0 | ||||
| -rw-r--r-- | config/shell/alias (renamed from .config/shell/alias) | 2 | ||||
| -rw-r--r-- | config/shell/functions (renamed from .config/shell/functions) | 0 | ||||
| -rw-r--r-- | config/shell/vars | 6 | ||||
| -rw-r--r-- | config/starship/config.toml | 91 | ||||
| -rw-r--r-- | config/yazi/keymap.toml (renamed from .config/yazi/keymap.toml) | 0 | ||||
| -rw-r--r-- | config/yazi/modus_vivendi.tmTheme (renamed from .config/yazi/modus_vivendi.tmTheme) | 0 | ||||
| -rw-r--r-- | config/yazi/theme.toml (renamed from .config/yazi/theme.toml) | 0 | ||||
| -rw-r--r-- | config/yazi/yazi.toml (renamed from .config/yazi/yazi.toml) | 0 | ||||
| -rw-r--r-- | config/zk/config.toml (renamed from .config/zk/config.toml) | 2 | ||||
| -rw-r--r-- | config/zk/templates/note.md (renamed from .config/zk/templates/note.md) | 0 | ||||
| -rw-r--r-- | flake.lock | 48 | ||||
| -rw-r--r-- | flake.nix | 31 | ||||
| -rw-r--r-- | home.nix | 55 |
80 files changed, 260 insertions, 1516 deletions
diff --git a/.bashrc b/.bashrc deleted file mode 100644 index b1d2c7b..0000000 --- a/.bashrc +++ /dev/null @@ -1,95 +0,0 @@ -# Source Default /etc/bashrc -if [ -f /etc/bashrc ]; then - . /etc/bashrc -fi - -# Add .local/bin to PATH -if ! [[ "$PATH" =~ "$HOME/.local/bin:" ]]; then - PATH="$HOME/.local/bin:$PATH" -fi -export PATH - -# Custom Shell variables, aliases, and functions -[ -f "$HOME/.config/shell/alias" ] && source "$HOME/.config/shell/alias" -[ -f "$HOME/.config/shell/vars" ] && source "$HOME/.config/shell/vars" -[ -f "$HOME/.config/shell/functions" ] && source "$HOME/.config/shell/functions" - -# Custom Prompt -USER_COLOR="\[\e[35m\]" # magenta -VENV_COLOR="\[\e[33m\]" # yellow -DIR_COLOR="\[\e[32m\]" # green -GIT_COLOR="\[\e[34m\]" # blue -GIT_DIRTY_COLOR="\[\e[31m\]" # red -PROMPT_SYMBOL_COLOR="\[\e[33m\]" # yellow -RESET_COLOR="\[\e[0m\]" # blank -WHITE_COLOR="\[\e[37m\]" # white -TOOLBOX_COLOR="\[\e[36m\]" # cyan - -shorten_path() { - if [[ "$PWD" == "$HOME" ]]; then - echo "~" - return - fi - - if [[ "$PWD" == "$HOME/"* ]]; then - local rel="${PWD#$HOME/}" - local depth - IFS='/' read -ra parts <<< "$rel" - depth=${#parts[@]} - - if (( depth == 1 )); then - echo "~/${parts[0]}" - elif (( depth == 2 )); then - echo ".../${parts[0]}/${parts[1]}" - else - echo ".../${parts[-2]}/${parts[-1]}" - fi - return - fi - - IFS='/' read -ra parts <<< "$PWD" - if (( ${#parts[@]} > 3 )); then - echo ".../${parts[-2]}/${parts[-1]}" - else - echo "$PWD" - fi -} - -git_branch() { - git symbolic-ref --short HEAD 2>/dev/null \ - || git rev-parse --short HEAD 2>/dev/null -} - -git_dirty() { - if [[ -n "$(git status --porcelain 2>/dev/null)" ]]; then - echo " ✗" - else - echo " ✓" - fi -} - -set_prompt() { - local user="${USER_COLOR}\u${RESET_COLOR}" - - local toolbox="" - if [[ -n "$TOOLBOX_PATH" ]]; then - toolbox="${TOOLBOX_COLOR}(tlbx)${RESET_COLOR}" - fi - - local venv="" - if [[ -n "$VIRTUAL_ENV" ]]; then - venv="${VENV_COLOR}($(basename "$VIRTUAL_ENV"))${RESET_COLOR} " - fi - - local path="${DIR_COLOR}$(shorten_path)${RESET_COLOR}" - local git_info="" - local branch="$(git_branch)" - - if [[ -n "$branch" ]]; then - git_info=" ${WHITE_COLOR}on${RESET_COLOR} ${GIT_COLOR}${branch}${RESET_COLOR}${GIT_DIRTY_COLOR}$(git_dirty)${RESET_COLOR}" - fi - - PS1="${user}${toolbox} ${WHITE_COLOR}in${RESET_COLOR} ${venv}${path}${git_info}\n${PROMPT_SYMBOL_COLOR}λ${RESET_COLOR} " -} - -PROMPT_COMMAND="set_prompt${PROMPT_COMMAND:+; $PROMPT_COMMAND}" diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc deleted file mode 100644 index 7f94795..0000000 --- a/.config/dunst/dunstrc +++ /dev/null @@ -1,39 +0,0 @@ -[global] - width = (200,600) - offset = (24,24) - - progress_bar_min_width = 380 - progress_bar_max_width = 380 - progress_bar_corner_radius = 0 - - padding = 10 - horizontal_padding = 10 - frame_width = 2 - gap_size = 3 - origin = "top-right" - font = "Google Sans 12" - - enable_recursive_icon_lookup = true - corner_radius = 0 - - background = "#000000" - foreground = "#ffffff" - -[urgency_low] - background = "#000000" - highlight = "#ffffff" - frame_color = "#ffffff" - format = "<b><span foreground='#31748f'>%s</span></b>\n%b" - -[urgency_normal] - background = "#000000" - highlight = "#ffffff" - frame_color = "#ffffff" - format = "<b><span foreground='#e0def4'>%s</span></b>\n%b" - -[urgency_critical] - background = "#000000" - highlight = "#ffffff" - frame_color = "#ffffff" - default_icon = "dialog-error" - format = "<b><span foreground='#36263d'>%s</span></b>\n%b" diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini deleted file mode 100644 index be335dc..0000000 --- a/.config/foot/foot.ini +++ /dev/null @@ -1,6 +0,0 @@ -[main] -include=/usr/share/foot/themes/modus-vivendi -font=GoogleSansCodeNF:size=12 - -[cursor] -style=beam diff --git a/.config/jellyfin-tui/config.yaml b/.config/jellyfin-tui/config.yaml deleted file mode 100644 index 30322e0..0000000 --- a/.config/jellyfin-tui/config.yaml +++ /dev/null @@ -1,6 +0,0 @@ -servers: -- name: NAS - quick_connect: true - url: https://iv.venomade.com - -rounded_corners: false diff --git a/.config/kanata/config.kbd b/.config/kanata/config.kbd deleted file mode 100644 index a805cf7..0000000 --- a/.config/kanata/config.kbd +++ /dev/null @@ -1,39 +0,0 @@ -#| -This minimal config changes Caps Lock to act as Caps Lock on quick tap, but -if held, it will act as Left Ctrl. It also changes the backtick/grave key to -act as backtick/grave on quick tap, but change ijkl keys to arrow keys on hold. - -This text between the two pipe+octothorpe sequences is a multi-line comment. -|# - -;; Text after double-semicolons are single-line comments. - -#| -One defcfg entry may be added, which is used for configuration key-pairs. These -configurations change kanata's behaviour at a more global level than the other -configuration entries. -|# - -(defcfg - #| - This configuration will process all keys pressed inside of kanata, even if - they are not mapped in defsrc. This is so that certain actions can activate - at the right time for certain input sequences. By default, unmapped keys are - not processed through kanata due to a Windows issue related to AltGr. If you - use AltGr in your keyboard, you will likely want to follow the simple.kbd - file while unmapping lctl and ralt from defsrc. - |# - process-unmapped-keys yes -) - -(defsrc - caps -) - -(deflayer default - @cap -) - -(defalias - cap (tap-hold 200 200 esc lctl) -) diff --git a/.config/luastatus/alsa.lua b/.config/luastatus/alsa.lua deleted file mode 100644 index fc0f13b..0000000 --- a/.config/luastatus/alsa.lua +++ /dev/null @@ -1,33 +0,0 @@ -widget = { - plugin = 'alsa', - cb = function(t) - local symbol = '' - if t.mute then - return { full_text = ' ', color = '#ed8796' } - else - local percent = (t.vol.cur - t.vol.min) / (t.vol.max - t.vol.min) * 100 - if percent <= 30 then - symbol = '' - elseif percent >= 70 then - symbol = '' - if percent >= 99.5 then - return { - full_text = string.format('%s %d%%', symbol, math.floor(0.5 + percent)), - color = '#b7bdf8' - } - end - end - - return { - full_text = string.format('%s%3d%%', symbol, math.floor(0.5 + percent)), - color = '#b7bdf8' - } - end - end, - event = [[ - local t = ... - if t.button == 1 then - os.execute('pactl set-sink-mute @DEFAULT_SINK@ toggle &') - end - ]], -} diff --git a/.config/luastatus/battery.lua b/.config/luastatus/battery.lua deleted file mode 100644 index 459599e..0000000 --- a/.config/luastatus/battery.lua +++ /dev/null @@ -1,57 +0,0 @@ -local function read(path) - local f = io.open(path) - if not f then return nil end - local v = tonumber(f:read('*l')) - f:close() - return v -end - -widget = { - plugin = 'timer', - opts = { period = 2 }, - cb = function() - local base = '/sys/class/power_supply/macsmc-battery/' - - local energy_now = read(base .. 'energy_now') - local energy_full = read(base .. 'energy_full') - local status_f = io.open(base .. 'status') - - if not energy_now or not energy_full or not status_f then - return { { full_text = 'bat ?' } } - end - - local status = status_f:read('*l') - status_f:close() - - local capacity = math.floor(energy_now / energy_full * 100 + 0.5) - - local text_color = '#ffffff' - local battery_symbol = ' ' - - if capacity < 30 then - text_color = '#ed8796' - battery_symbol = '' - elseif capacity > 70 then - text_color = '#a6da95' - battery_symbol = '' - else - text_color = '#eed49f' - battery_symbol = '' - end - - local symbol = ({ - Charging = '', - Discharging = battery_symbol, - })[status] or ' ' - - return { - { full_text = string.format('%s %2d%%', symbol, capacity), color = text_color } - } - end, - event = [[ - local t = ... - if t.button == 1 then - os.execute('~/.local/bin/rofi-ppd &') - end - ]], -} diff --git a/.config/luastatus/playerctl.lua b/.config/luastatus/playerctl.lua deleted file mode 100644 index a3e743c..0000000 --- a/.config/luastatus/playerctl.lua +++ /dev/null @@ -1,43 +0,0 @@ -local player = 'jellyfin-tui' - -widget = { - plugin = 'timer', - opts = { period = 2 }, - cb = function() - - local handle = io.popen('playerctl -p ' .. player .. ' status') - local playerctl_status = string.sub(handle:read("*a"), 1, -2) - handle:close() - - local symbol = '' - - if (playerctl_status == 'Playing') or (playerctl_status == 'Paused') then - local handle = io.popen('playerctl -p ' .. player ..' metadata title') - local playerctl_title = string.sub(handle:read("*a"), 1, -2) - handle:close() - - local handle = io.popen('playerctl -p ' .. player .. ' metadata artist') - local playerctl_artist = string.sub(handle:read("*a"), 1, -2) - handle:close() - - if playerctl_status == 'Playing' then - symbol = '' - end - - return { - { full_text = string.format('%s - %s %s', playerctl_artist, playerctl_title, symbol), color = "#f2cdcd" } - } - end - - return { - { full_text = " "} - } - end, - -- TODO: Figure out if this can stop being hardcoded - event = [[ - local t = ... - if t.button == 1 then - os.execute('playerctl -p jellyfin-tui play-pause') - end - ]], -} diff --git a/.config/luastatus/separator.lua b/.config/luastatus/separator.lua deleted file mode 100644 index 1a3ef01..0000000 --- a/.config/luastatus/separator.lua +++ /dev/null @@ -1,6 +0,0 @@ -widget = { - plugin = 'fs', - cb = function() - return { full_text = "|", color = "#333333" } - end, -} diff --git a/.config/luastatus/time-date.lua b/.config/luastatus/time-date.lua deleted file mode 100644 index 8d5bfe7..0000000 --- a/.config/luastatus/time-date.lua +++ /dev/null @@ -1,13 +0,0 @@ -local months = {'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Sep', 'Out', 'Nov', 'Dez'} -local days = {'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', ''} - -widget = { - plugin = 'timer', - cb = function() - local d = os.date('*t') - return { - {full_text = string.format('%s %d %s', days[d.wday] , d.day, months[d.month])}, - {full_text = string.format('%02d:%02d ', d.hour, d.min)}, - } - end, -} diff --git a/.config/luastatus/wireless.lua b/.config/luastatus/wireless.lua deleted file mode 100644 index e3d53d7..0000000 --- a/.config/luastatus/wireless.lua +++ /dev/null @@ -1,70 +0,0 @@ -local MIN_DBM, MAX_DBM = -90, -20 -local COLOR_DIM = '#709080' - -local function clamp(x, lo, hi) - if x < lo then return lo end - if x > hi then return hi end - return x -end - -local function make_wifi_level(dbm) - dbm = clamp(dbm, MIN_DBM, MAX_DBM) - - -- Normalize to [0, 1] - local t = (dbm - MIN_DBM) / (MAX_DBM - MIN_DBM) - - local level - if t < 0.25 then - level = '' - elseif t < 0.50 then - level = '' - elseif t < 0.75 then - level = '' - else - level = '' - end - - return { - full_text = level, - color = COLOR_DIM, - } -end - -widget = { - plugin = 'network-linux', - opts = { - wireless = true, - timeout = 10, - }, - cb = function(t) - if not t then - return nil - end - local r = {} - for iface, params in pairs(t) do - if params.wireless then - if params.wireless.ssid then - r[#r + 1] = { - full_text = params.wireless.ssid, - color = COLOR_DIM, - } - end - if params.wireless.signal_dbm then - r[#r + 1] = make_wifi_level(params.wireless.signal_dbm) - end - elseif iface ~= 'lo' and (params.ipv4 or params.ipv6) then - r[#r + 1] = { - full_text = string.format('[%s]', iface), - color = COLOR_DIM, - } - end - end - return r - end, - event = [[ - local t = ... - if t.button == 1 then - os.execute('~/.local/bin/rofi-wifimenu &') - end - ]], -} diff --git a/.config/ly/config.ini b/.config/ly/config.ini deleted file mode 100644 index f70ca36..0000000 --- a/.config/ly/config.ini +++ /dev/null @@ -1,265 +0,0 @@ -# Allow empty password or not when authenticating -allow_empty_password = false - -# The active animation -animation = none - -# Stop the animation after some time -animation_timeout_sec = 0 - -# The character used to mask the password -asterisk = * - -# The number of failed authentications before a special animation is played... ;) -auth_fails = 10 - -# Identifier for battery whose charge to display at top left -battery_id = macsmc-battery - -# Automatic login configuration -# PAM service name to use for automatic login -auto_login_service = ly-autologin - -# Session name to launch automatically -auto_login_session = null - -# Username to automatically log in -auto_login_user = null - -# Background color id -bg = 0x00000000 - -# Change the state and language of the big clock -bigclock = en - -# Set bigclock to 12-hour notation. -bigclock_12hr = false - -# Set bigclock to show the seconds. -bigclock_seconds = false - -# Blank main box background -blank_box = true - -# Border foreground color id -border_fg = 0x00FFFFFF - -# Title to show at the top of the main box -box_title = null - -# Brightness decrease command -brightness_down_cmd = /usr/bin/brightnessctl -q -n s 10%- - -# Brightness decrease key, or null to disable -brightness_down_key = F5 - -# Brightness increase command -brightness_up_cmd = /usr/bin/brightnessctl -q -n s +10% - -# Brightness increase key, or null to disable -brightness_up_key = F6 - -# Erase password input on failure -clear_password = true - -# Format string for clock in top right corner (see strftime specification). Example: %c -clock = null - -# CMatrix animation foreground color id -cmatrix_fg = 0x0000FF00 - -# CMatrix animation character string head color id -cmatrix_head_col = 0x01FFFFFF - -# CMatrix animation minimum codepoint. It uses a 16-bit integer -cmatrix_min_codepoint = 0x21 - -# CMatrix animation maximum codepoint. It uses a 16-bit integer -cmatrix_max_codepoint = 0x7B - -# Color mixing animation first color id -colormix_col1 = 0x00FF0000 - -# Color mixing animation second color id -colormix_col2 = 0x000000FF - -# Color mixing animation third color id -colormix_col3 = 0x20000000 - -# Custom sessions directory -custom_sessions = /etc/ly/custom-sessions - -# Input box active by default on startup -default_input = password - -# DOOM animation fire height (1 thru 9) -doom_fire_height = 6 - -# DOOM animation fire spread (0 thru 4) -doom_fire_spread = 2 - -# DOOM animation custom top color (low intensity flames) -doom_top_color = 0x009F2707 - -# DOOM animation custom middle color (medium intensity flames) -doom_middle_color = 0x00C78F17 - -# DOOM animation custom bottom color (high intensity flames) -doom_bottom_color = 0x00FFFFFF - -# Dur file path -dur_file_path = /etc/ly/example.dur - -# Dur offset x direction -dur_x_offset = 0 - -# Dur offset y direction -dur_y_offset = 0 - -# Set margin to the edges of the DM (useful for curved monitors) -edge_margin = 0 - -# Error background color id -error_bg = 0x00000000 - -# Error foreground color id -error_fg = 0x01FF0000 - -# Foreground color id -fg = 0x00FFFFFF - -# Render true colors (if supported) -full_color = true - -# Game of Life entropy interval (0 = disabled, >0 = add entropy every N generations) -gameoflife_entropy_interval = 10 - -# Game of Life animation foreground color id -gameoflife_fg = 0x0000FF00 - -# Game of Life frame delay (lower = faster animation, higher = slower) -gameoflife_frame_delay = 6 - -# Game of Life initial cell density (0.0 to 1.0) -gameoflife_initial_density = 0.4 - -# Command executed when pressing hibernate key (can be null) -hibernate_cmd = null - -# Specifies the key used for hibernate (F1-F12) -hibernate_key = F4 - -# Remove main box borders -hide_borders = false - -# Remove power management command hints -hide_key_hints = false - -# Remove keyboard lock states from the top right corner -hide_keyboard_locks = false - -# Remove version number from the top left corner -hide_version_string = false - -# Command executed when no input is detected for a certain time -inactivity_cmd = null - -# Executes a command after a certain amount of seconds -inactivity_delay = 0 - -# Initial text to show on the info line -initial_info_text = null - -# Input boxes length -input_len = 34 - -# Active language -lang = en - -# Command executed when logging in -login_cmd = null - -# Path for login.defs file (used for listing all local users on the system on -# Linux) -login_defs_path = /etc/login.defs - -# Command executed when logging out -logout_cmd = null - -# General log file path -ly_log = /var/log/ly.log - -# Main box horizontal margin -margin_box_h = 2 - -# Main box vertical margin -margin_box_v = 1 - -# Event timeout in milliseconds -min_refresh_delta = 5 - -# Set numlock on/off at startup -numlock = false - -# Default path -path = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - -# Command executed when pressing restart_key -restart_cmd = /sbin/shutdown -r now - -# Specifies the key used for restart (F1-F12) -restart_key = F2 - -# Save the current desktop and login as defaults, and load them on startup -save = true - -# Service name (set to ly to use the provided pam config file) -service_name = ly - -# Session log file path -session_log = .local/state/ly-session.log - -# Setup command -setup_cmd = /etc/ly/setup.sh - -# Command executed when pressing shutdown_key -shutdown_cmd = /sbin/shutdown -a now - -# Specifies the key used for shutdown (F1-F12) -shutdown_key = F1 - -# Command executed when pressing sleep key (can be null) -sleep_cmd = null - -# Specifies the key used for sleep (F1-F12) -sleep_key = F3 - -# Command executed when starting Ly (before the TTY is taken control of) -start_cmd = null - -# Center the session name. -text_in_center = false - -# Default vi mode -vi_default_mode = normal - -# Enable vi keybindings -vi_mode = false - -# Wayland desktop environments -waylandsessions = /usr/share/wayland-sessions - -# Xorg server command -x_cmd = /usr/bin/X - -# Xorg virtual terminal number -x_vt = null - -# Xorg xauthority edition tool -xauth_cmd = /usr/bin/xauth - -# xinitrc -xinitrc = ~/.xinitrc - -# Xorg desktop environments -xsessions = /usr/share/xsessions diff --git a/.config/mimeapps.list b/.config/mimeapps.list deleted file mode 100644 index f31391c..0000000 --- a/.config/mimeapps.list +++ /dev/null @@ -1,21 +0,0 @@ - -[Default Applications] -inode/directory=yazi.desktop -image/bmp=imv.desktop -image/gif=imv.desktop -image/jpeg=imv.desktop -image/jpg=imv.desktop -image/pjpeg=imv.desktop -image/png=imv.desktop -image/tiff=imv.desktop -image/heif=imv.desktop -image/avif=imv.desktop -image/x-bmp=imv.desktop -image/x-pcx=imv.desktop -image/x-png=imv.desktop -image/x-portable-anymap=imv.desktop -image/x-portable-bitmap=imv.desktop -image/x-portable-graymap=imv.desktop -image/x-portable-pixmap=imv.desktop -image/x-tga=imv.desktop -image/x-xbitmap=imv.desktop diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi deleted file mode 100644 index c80fd01..0000000 --- a/.config/rofi/config.rasi +++ /dev/null @@ -1,10 +0,0 @@ -configuration { - display-drun: "Applications:"; - display-windows: "Windows:"; - drun-display-format: "{icon} {name}"; - font: "Google Sans 12"; - modi: "window,run,drun"; - show-icons: false; -} - -@theme "/home/venomade/.config/rofi/theme.rasi" diff --git a/.config/rofi/theme.rasi b/.config/rofi/theme.rasi deleted file mode 100644 index 6cac4e6..0000000 --- a/.config/rofi/theme.rasi +++ /dev/null @@ -1,111 +0,0 @@ -* { - font: "Google Sans 11"; - - bg0 : #000000; - bg1 : #000000; - bg2 : #ffffff; - bg3 : #ffffff; - fg0 : #ffffff; - fg1 : #a9b1d6; - fg2 : #737aa2; - red : #f7768e; - green : #9ece6a; - yellow : #e0af68; - blue : #7aa2f7; - magenta : #9a7ecc; - cyan : #4abaaf; - purple : #b6a2e9; - - accent: @purple; - urgent: @yellow; - - background-color : transparent; - text-color : @fg0; - - margin : 0; - padding : 0; - spacing : 0; -} - -element-icon, element-text, scrollbar { - cursor: pointer; -} - -window { - width : 280px; - background-color: @bg1; - border: 1px; - border-color: @bg3; - border-radius: 0px; -} - -inputbar { - spacing : 8px; - padding : 4px 8px; - - background-color: @bg0; -} - -icon-search, entry, element-icon, element-text { - vertical-align: 0.5; -} - -icon-search { - expand : false; - filename : "search-symbolic"; - size : 14px; -} - -textbox { - padding : 4px 8px; - background-color : @bg2; -} - -listview { - padding : 4px 0px; - lines : 12; - columns : 1; - scrollbar : false; - fixed-height : false; - dynamic : true; -} - -element { - padding : 4px 8px; - spacing : 8px; -} - -element normal urgent { - text-color: @urgent; -} - -element normal active { - text-color: @accent; -} - -element alternate active { - text-color: @accent; -} - -element selected { - text-color : @bg1; - background-color : @accent; -} - -element selected urgent { - background-color: @urgent; -} - -element-icon { - size: 0.8em; -} - -element-text { - text-color: inherit; -} - -scrollbar { - handle-width : 4px; - handle-color : @fg2; - padding : 0 4px; -} diff --git a/.config/shell/vars b/.config/shell/vars deleted file mode 100644 index 974c435..0000000 --- a/.config/shell/vars +++ /dev/null @@ -1,2 +0,0 @@ -export EDITOR=nvim -export ZK_NOTEBOOK_DIR=/home/venomade/Documents/Notes diff --git a/.config/sway/config b/.config/sway/config deleted file mode 100644 index a5d6b0f..0000000 --- a/.config/sway/config +++ /dev/null @@ -1,278 +0,0 @@ -# Venomade's Sway Config - -# Logo key. Use Mod1 for Alt. -set $mod Mod4 -# Home row direction keys, like vim but colemak -set $left h -set $down n -set $up e -set $right i -# Your preferred terminal emulator -set $term foot -# Your preferred application launcher -set $rofi_run rofi -show run -set $rofi_drun rofi -show drun -show-icons -# This is a little hacky but I don't know if -# any other way is possible on wayland. -set $rofi_cliphist cliphist list \ - | rofi -dmenu -i -p "" \ - | cliphist decode \ - | wl-copy \ - && wtype -M ctrl -M shift -k v -m shift -m ctrl - -# Set the Music Player to Control -set $player jellyfin-tui - -# Applications -set $web_browser brave-browser -set $file_manager foot -a=floating_foot yazi -set $music_player foot jellyfin-tui - -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -output * bg /home/venomade/Pictures/Papes/PurplePhoneLines.jpg fill - -# Set Monitor Resolution and Scale -output eDP-1 resolution 2560x1600 position 0,0 scale 1.66 - -# Input Configuration -input * { - xkb_layout us - xkb_variant colemak - # xkb_options caps:ctrl_modifier - xkb_options caps:escape - - # tap enabled - natural_scroll enabled -} - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+q kill - - # Applications - bindsym $mod+w exec $web_browser - bindsym $mod+y exec $file_manager - bindsym $mod+m exec $music_player - - # Start your launcher - bindsym $mod+d exec $rofi_drun - bindsym $mod+Shift+d exec $rofi_run - - bindsym $mod+v exec $rofi_cliphist - - bindsym $mod+Shift+t exec ~/.local/bin/rofi-translate - - bindsym $mod+Shift+w exec ~/.local/bin/rofi-wifimenu - - bindsym $mod+Shift+s exec ~/.local/bin/take-slurpshot - bindsym $mod+s exec sh -c 'grim /tmp/grimshot.png && imv -f /tmp/grimshot.png && rm /tmp/grimshot.png' - - bindsym $mod+Shift+return exec ~/.local/bin/rofi-notes - bindsym $mod+Ctrl+Shift+return exec ~/.local/bin/rofi-notes --delete - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Reload the configuration file - bindsym $mod+Shift+r reload - - # Exit sway (logs you out of your Wayland session) - # bindsym $mod+Shift+x 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+Shift+x exec ~/.local/bin/rofi-powermenu - - # Lock Screen - bindsym $mod+l exec ~/.local/bin/lock-screen - bindsym $mod+Shift+l exec ~/.local/bin/lock-screen 0 -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - 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: -# - # Switch to workspace - 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+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - 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 $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# Gestures -bindgesture swipe:right workspace prev -bindgesture swipe:left workspace next -# -# Layout stuff: -# - # You can "split" the current object of your focus with - # $mod+b or $mod+v, for horizontal and vertical splits - # respectively. - # bindsym $mod+Shift+b splith - # bindsym $mod+Shift+v splitv - - # Switch the current container between different layout styles - # bindsym $mod+s layout stacking - # bindsym $mod+w layout tabbed - # bindsym $mod+f layout toggle split - - # Make the current focus fullscreen - bindsym $mod+Shift+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" -# -# Utilities: -# - # Special keys to adjust volume via PulseAudio - bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle - bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% - bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% - bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle - # Special keys to affect playing audio via PlayerCTL - bindsym --locked XF86AudioPlay exec playerctl -p $player play-pause - bindsym --locked XF86AudioNext exec playerctl -p $player next - bindsym --locked XF86AudioPrev exec playerctl -p $player previous - # Special keys to adjust brightness via brightnessctl - bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- - bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ - bindsym --locked XF86KbdBrightnessDown exec brightnessctl --device='kbd_backlight' set 10%- - bindsym --locked XF86KbdBrightnessUp exec brightnessctl --device='kbd_backlight' set 10%+ - - # Special key to take a screenshot with grim - bindsym Print exec grim - -# Disable Titlebars -gaps inner 4 -default_border pixel 2 -default_floating_border pixel 2 -titlebar_padding 1 -titlebar_border_thickness 0 - -# Floating Terminal -for_window [app_id = "floating_foot"] floating enable - -# Set Font -font pango:Google Sans Code 12 -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - status_command cd ~/.config/luastatus && exec luastatus-i3-wrapper -B no_separators\ - playerctl.lua \ - separator.lua \ - wireless.lua \ - separator.lua \ - alsa.lua \ - separator.lua \ - battery.lua \ - separator.lua \ - time-date.lua - - position top - - colors { - statusline #ffffff - background #000000 - inactive_workspace #00000000 #00000000 #000000ff - focused_workspace #00000000 #000000ff #ffffffaa - } -} - -# class border bground text indicator child_border -client.focused #000000 #000000 #F8F8F2 #000000 #000000 -client.focused_inactive #000000 #000000 #F8F8F2 #000000 #000000 -client.unfocused #000000 #000000 #F8F8F2 #000000 #000000 -client.urgent #000000 #000000 #F8F8F2 #000000 #000000 -client.placeholder #000000 #000000 #F8F8F2 #000000 #000000 -client.background #000000 #000000 #FFFFFF #000000 #000000 - -include /etc/sway/config.d/* diff --git a/.config/swaylock/config b/.config/swaylock/config deleted file mode 100644 index 9e82dc5..0000000 --- a/.config/swaylock/config +++ /dev/null @@ -1,39 +0,0 @@ -font=Google Sans -font-size=28 - -color=#000000 - -layout-bg-color=#00000000 -layout-border-color=#00000000 -layout-text-color=#ffffff - -text-color=#f4f4f4 -text-clear-color=#00c06f -text-caps-lock-color=#d0bc00 -text-ver-color=#9099d9 -text-wrong-color=#ff5f59 - -bs-hl-color=#30303066 -key-hl-color=#9099d9 -caps-lock-bs-hl-color=#30303066 -caps-lock-key-hl-color=#d0bc00 - -separator-color=#00000000 - -inside-color=#9099d955 -inside-clear-color=#00c06f55 -inside-caps-lock-color=#d0bc0055 -inside-ver-color=#9099d955 -inside-wrong-color=#ff5f5955 - -line-color=#9099d911 -line-clear-color=#00c06f11 -line-caps-lock-color=#d0bc0011 -line-ver-color=#9099d911 -line-wrong-color=#ff5f5911 - -ring-color=#9099d9aa -ring-clear-color=#00c06faa -ring-caps-lock-color=#d0bc00aa -ring-ver-color=#9099d9aa -ring-wrong-color=#ff5f59aa diff --git a/.config/systemd/user/.gitignore b/.config/systemd/user/.gitignore deleted file mode 100644 index 419e6be..0000000 --- a/.config/systemd/user/.gitignore +++ /dev/null @@ -1 +0,0 @@ -default.target.wants diff --git a/.config/systemd/user/cliphist.service b/.config/systemd/user/cliphist.service deleted file mode 100644 index 91ad51f..0000000 --- a/.config/systemd/user/cliphist.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Cliphist clipboard watcher -After=graphical-session.target -PartOf=graphical-session.target - -[Service] -Type=simple -ExecStart=/usr/bin/wl-paste --watch /usr/local/bin/cliphist store -Restart=always -RestartSec=1 - -[Install] -WantedBy=default.target diff --git a/.config/systemd/user/kanata.service b/.config/systemd/user/kanata.service deleted file mode 100644 index 771cfed..0000000 --- a/.config/systemd/user/kanata.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=Kanata keyboard remapper -Documentation=https://github.com/jtroo/kanata - -[Service] -Environment=PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin -# Uncomment the 4 lines beneath this to increase process priority -# of Kanata in case you encounter lagginess when resource constrained. -# WARNING: doing so will require the service to run as an elevated user such as root. -# Implementing least privilege access is an exercise left to the reader. -# -# CPUSchedulingPolicy=rr -# CPUSchedulingPriority=99 -# IOSchedulingClass=realtime -# Nice=-20 -Type=simple -ExecStart=/usr/local/bin/kanata --cfg /home/venomade/.config/kanata/config.kbd -Restart=on-failure -RestartSec=3 - -[Install] -WantedBy=default.target diff --git a/.ghci b/.ghci deleted file mode 100644 index 31f559e..0000000 --- a/.ghci +++ /dev/null @@ -1 +0,0 @@ -:set prompt "λ " diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index 8a59d3e..0000000 --- a/.gitconfig +++ /dev/null @@ -1,3 +0,0 @@ -[user] - name = venomade - email = venomade@venomade.com diff --git a/.local/bin/battery-screen b/.local/bin/battery-screen deleted file mode 100755 index 26ac78a..0000000 --- a/.local/bin/battery-screen +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env lua - -local function read(path) - local f = io.open(path) - if not f then return nil end - local v = tonumber(f:read('*l')) - f:close() - return v -end - -local function batterytext() - local base = '/sys/class/power_supply/macsmc-battery/' - - local energy_now = read(base .. 'energy_now') - local energy_full = read(base .. 'energy_full') - local status_f = io.open(base .. 'status') - - if not energy_now or not energy_full or not status_f then - return { { full_text = 'bat ?' } } - end - - local status = status_f:read('*l') - status_f:close() - - local capacity = math.floor(energy_now / energy_full * 100 + 0.5) - - local text_color = '#ffffff' - local battery_symbol = ' ' - - if capacity < 30 then - text_color = '#ed8796' - battery_symbol = '' - elseif capacity > 70 then - text_color = '#a6da95' - battery_symbol = '' - else - text_color = '#eed49f' - battery_symbol = '' - end - - local symbol = ({ - Charging = '', - Discharging = battery_symbol, - })[status] or ' ' - - return string.format('%s %2d%%', symbol, capacity), text_color -end - -function hexToRgb(hex) - hex = hex:gsub("#", "") - - local r = tonumber(hex:sub(1, 2), 16) - local g = tonumber(hex:sub(3, 4), 16) - local b = tonumber(hex:sub(5, 6), 16) - - return r, g, b -end - -function printHexColor(text, hex) - local r, g, b = hexToRgb(hex) - local colorCode = string.format("\27[38;2;%d;%d;%dm", r, g, b) - local resetCode = "\27[0m" - - print(colorCode .. text .. resetCode) -end - -while true do - printHexColor(batterytext()) - os.execute("sleep 1") -- Wait for 1 second -end diff --git a/.local/bin/lock-screen b/.local/bin/lock-screen deleted file mode 100755 index 4307c9a..0000000 --- a/.local/bin/lock-screen +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -if [[ $1 =~ ^[0-9]+$ ]]; then - SLEEP_DURATION=$1 -else - SLEEP_DURATION=10 -fi - -grim /tmp/lockscreen-0.png -magick /tmp/lockscreen-0.png -scale 10% -blur 0x1 -resize 1000% /tmp/lockscreen.png -swaylock -i /tmp/lockscreen.png & -sleep $SLEEP_DURATION -systemctl sleep diff --git a/.local/bin/rofi-notes b/.local/bin/rofi-notes deleted file mode 100755 index 840dea6..0000000 --- a/.local/bin/rofi-notes +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -note_list=$(zk list -f "{{ title }}" -d $'\n' -q) - -selected=$(printf "%s\n" "$note_list" | rofi -dmenu -i -p " ") - -if [[ -n $selected ]]; then - foot -a=floating_foot -e sh -c "zk edit --match \"${selected}\"" -fi diff --git a/.local/bin/rofi-powermenu b/.local/bin/rofi-powermenu deleted file mode 100755 index 0ff3f9c..0000000 --- a/.local/bin/rofi-powermenu +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env lua - -local function rofi(prompt, lines) - local cmd = string.format( - 'printf "%s" | rofi -dmenu -i -p "%s"', - table.concat(lines, "\n"), - prompt - ) - local handle = io.popen(cmd) - local selection = handle:read("*a") - handle:close() - selection = selection:gsub("%s+$", "") - if selection == "" then return nil end - return selection -end - -local function contains(tbl, val) - for _, v in pairs(tbl) do - if v == val then - return true - end - end - return false -end - --- TODO: Deduplicate This -local options = { - "Log Out", - "Shutdown", - "Restart" -} - -local option_pair = { - ["Log Out"] = "swaymsg exit", - ["Shutdown"] = "systemctl poweroff", - ["Restart"] = "systemctl reboot" -} - -local choice = rofi("Action:", options) -if (not choice) or (not contains(options,choice)) then os.exit() end - -if choice == "Log Out" then - io.popen(option_pair[choice]) -else - local confirm = rofi("Are you sure?:", {"Yes", "No"}) - if confirm == "Yes" then - io.popen(option_pair[choice]) - end -end diff --git a/.local/bin/rofi-ppd b/.local/bin/rofi-ppd deleted file mode 100755 index 5a4f13b..0000000 --- a/.local/bin/rofi-ppd +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env lua - -local function trim(s) - return s:gsub("^%s+", ""):gsub("%s+$", "") -end - -local function rofi(prompt, lines) - local cmd = string.format( - 'printf "%s" | rofi -dmenu -i -p "%s"', - table.concat(lines, "\n"), - prompt - ) - local handle = io.popen(cmd) - local selection = handle:read("*a") - handle:close() - selection = trim(selection or "") - if selection == "" then return nil end - return selection -end - -local modes = {} - -local handle = io.popen('powerprofilesctl list') -local profile_list = handle:read("*a") -handle:close() - -local handle = io.popen('powerprofilesctl get') -local current_profile = trim(handle:read("*a") or "") -handle:close() - -for line in profile_list:gmatch("[^\r\n]+") do - line = trim(line) - local mode = line:match("^%*?%s*([%w%-_]+)%s*:$") - if mode then - if mode == current_profile then - table.insert(modes, "* " .. mode) - else - table.insert(modes, " " .. mode) - end - end -end - -local selected_profile = rofi('', modes) -if not selected_profile then os.exit() end - -selected_profile = selected_profile:gsub("^%*%s*", ""):gsub("^%s+", "") - -io.popen('powerprofilesctl set ' .. selected_profile) diff --git a/.local/bin/rofi-translate b/.local/bin/rofi-translate deleted file mode 100755 index f71557d..0000000 --- a/.local/bin/rofi-translate +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env lua - -local function rofi(prompt, lines) - local cmd = string.format( - 'printf "%s" | rofi -dmenu -i -p "%s"', - table.concat(lines, "\n"), - prompt - ) - local handle = io.popen(cmd) - local selection = handle:read("*a") - handle:close() - selection = selection:gsub("%s+$", "") - if selection == "" then return nil end - return selection -end - -local function contains(tbl, val) - for _, v in pairs(tbl) do - if v == val then - return true - end - end - return false -end - -local directions = { - "English → Portuguese", - "Portuguese → English" -} - -local choice = rofi("Translate:", directions) -if (not choice) or (not contains(directions,choice)) then os.exit() end - -local lang_pair = { - ["English → Portuguese"] = "en:pt", - ["Portuguese → English"] = "pt:en" -} -local pair = lang_pair[choice] - -local text = rofi("", { "" }) -if not text then os.exit() end - -local trans_cmd = string.format('trans -b %s "%s"', pair, text:gsub('"', '\\"')) -local trans_handle = io.popen(trans_cmd) -local translation = trans_handle:read("*a") -trans_handle:close() -translation = translation:gsub("%s+$", "") - -if translation == "" then - translation = "(no translation returned)" -else - io.popen("wl-copy " .. translation) -end - -local notify_cmd = string.format( - 'notify-send -- "Translation (%s)" "%s"', - choice, - translation:gsub('"', '\\"') -) -os.execute(notify_cmd) diff --git a/.local/bin/rofi-wifimenu b/.local/bin/rofi-wifimenu deleted file mode 100755 index fb45671..0000000 --- a/.local/bin/rofi-wifimenu +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash - -notify-send "Getting list of available Wi-Fi networks..." -# Get a list of available wifi connections and morph it into a nice-looking list -wifi_list=$(nmcli --fields "SECURITY,SSID" device wifi list | sed 1d | sed 's/ */ /g' | sed -E "s/WPA*.?\S/ /g" | sed "s/^--/ /g" | sed "s/ //g" | sed "/--/d") - -connected=$(nmcli -fields WIFI g) -if [[ "$connected" =~ "enabled" ]]; then - toggle=" Disable Wi-Fi" -elif [[ "$connected" =~ "disabled" ]]; then - toggle=" Enable Wi-Fi" -fi - -# Use rofi to select wifi network -chosen_network=$(echo -e "$toggle\n$wifi_list" | uniq -u | rofi -dmenu -i -selected-row 1 -p "Wi-Fi SSID: " ) -# Get name of connection -read -r chosen_id <<< "${chosen_network:3}" - -if [ "$chosen_network" = "" ]; then - exit -elif [ "$chosen_network" = " Enable Wi-Fi" ]; then - nmcli radio wifi on -elif [ "$chosen_network" = " Disable Wi-Fi" ]; then - nmcli radio wifi off -else - # Message to show when connection is activated successfully - success_message="You are now connected to the Wi-Fi network \"$chosen_id\"." - # Get saved connections - saved_connections=$(nmcli -g NAME connection) - if [[ $(echo "$saved_connections" | grep -w "$chosen_id") = "$chosen_id" ]]; then - nmcli connection up id "$chosen_id" | grep "successfully" && notify-send "Connection Established" "$success_message" - else - if [[ "$chosen_network" =~ "" ]]; then - wifi_password=$(rofi -dmenu -p "Password: " ) - fi - nmcli device wifi connect "$chosen_id" password "$wifi_password" | grep "successfully" && notify-send "Connection Established" "$success_message" - fi -fi diff --git a/.local/bin/take-slurpshot b/.local/bin/take-slurpshot deleted file mode 100755 index f30fabe..0000000 --- a/.local/bin/take-slurpshot +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -# Generate base filename with timestamp -base_filename=$(date +"%m-%d-%Y_%H-%M-%S") -extension=".png" - -# Initialize full filename -filename="${base_filename}${extension}" -counter=1 - -# Check if file exists and append incremental suffix if needed -while [[ -e "$filename" ]]; do - filename="${base_filename}-${counter}${extension}" - ((counter++)) -done - -# Output the available filename -grim -g "$(slurp)" "$HOME/Pictures/Screenshots/$filename" diff --git a/.local/share/applications/jellyfin-tui.desktop b/.local/share/applications/jellyfin-tui.desktop deleted file mode 100644 index 3ac887a..0000000 --- a/.local/share/applications/jellyfin-tui.desktop +++ /dev/null @@ -1,5 +0,0 @@ -[Desktop Entry] -Name=Jellyfin TUI -Exec=foot jellyfin-tui -Type=Application -Terminal=false diff --git a/.local/share/applications/yazi.desktop b/.local/share/applications/yazi.desktop deleted file mode 100644 index 24580fa..0000000 --- a/.local/share/applications/yazi.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=Yazi -Exec=foot yazi %U -Type=Application -Terminal=false -MimeType=inode/directory; diff --git a/.stow-local-ignore b/.stow-local-ignore deleted file mode 100644 index 35cdaf3..0000000 --- a/.stow-local-ignore +++ /dev/null @@ -1,2 +0,0 @@ -.git -README.md diff --git a/README.md b/README.md index 2fe72b5..5fc3be5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ # Venomade's Dotfiles -These are my dotfiles managed with [GNU Stow](https://www.gnu.org/software/stow/). - -These dotfiles are fairly hardcoded, so take them as inspiration. They are made specifically for me (*/home/venomade*), in a mix of Portuguese and English and are for Asahi Linux on an M1 Macbook. +These are my dotfiles managed with [Home Manager](https://nixos.wiki/wiki/Home_Manager). diff --git a/.config/bat/config b/config/bat/config index 2d65ccf..2d65ccf 100644 --- a/.config/bat/config +++ b/config/bat/config diff --git a/.config/bat/themes/modus_vivendi.tmTheme b/config/bat/themes/modus_vivendi.tmTheme index 15d2429..15d2429 100644 --- a/.config/bat/themes/modus_vivendi.tmTheme +++ b/config/bat/themes/modus_vivendi.tmTheme diff --git a/.config/eza/theme.yml b/config/eza/theme.yml index f74a128..f74a128 100644 --- a/.config/eza/theme.yml +++ b/config/eza/theme.yml diff --git a/config/lazygit/.gitignore b/config/lazygit/.gitignore new file mode 100644 index 0000000..ace2661 --- /dev/null +++ b/config/lazygit/.gitignore @@ -0,0 +1 @@ +state.yml diff --git a/.config/lazygit/config.yml b/config/lazygit/config.yml index 0151f13..0151f13 100644 --- a/.config/lazygit/config.yml +++ b/config/lazygit/config.yml diff --git a/.config/nvim/.gitignore b/config/nvim/.gitignore index e033bc6..e033bc6 100644 --- a/.config/nvim/.gitignore +++ b/config/nvim/.gitignore diff --git a/.config/nvim/.luarc.json b/config/nvim/.luarc.json index bd8a14b..bd8a14b 100644 --- a/.config/nvim/.luarc.json +++ b/config/nvim/.luarc.json diff --git a/.config/nvim/ftplugin/markdown.lua b/config/nvim/ftplugin/markdown.lua index 4f658e4..4f658e4 100644 --- a/.config/nvim/ftplugin/markdown.lua +++ b/config/nvim/ftplugin/markdown.lua diff --git a/.config/nvim/init.lua b/config/nvim/init.lua index 4b53a96..4b53a96 100644 --- a/.config/nvim/init.lua +++ b/config/nvim/init.lua diff --git a/.config/nvim/lua/config/colemak.lua b/config/nvim/lua/config/colemak.lua index e6ce33b..e6ce33b 100644 --- a/.config/nvim/lua/config/colemak.lua +++ b/config/nvim/lua/config/colemak.lua diff --git a/.config/nvim/lua/config/keymaps.lua b/config/nvim/lua/config/keymaps.lua index f30283e..f30283e 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/config/nvim/lua/config/keymaps.lua diff --git a/.config/nvim/lua/config/options.lua b/config/nvim/lua/config/options.lua index 559f4c7..ba0bb5a 100644 --- a/.config/nvim/lua/config/options.lua +++ b/config/nvim/lua/config/options.lua @@ -30,7 +30,7 @@ vim.opt.splitright = true vim.opt.encoding = "utf-8" -vim.opt.shell = "bash" +vim.opt.shell = "zsh" vim.opt.mouse = "a" diff --git a/.config/nvim/lua/manager.lua b/config/nvim/lua/manager.lua index f450d31..f450d31 100644 --- a/.config/nvim/lua/manager.lua +++ b/config/nvim/lua/manager.lua diff --git a/.config/nvim/lua/plugins/autopairs.lua b/config/nvim/lua/plugins/autopairs.lua index c37e301..c37e301 100644 --- a/.config/nvim/lua/plugins/autopairs.lua +++ b/config/nvim/lua/plugins/autopairs.lua diff --git a/.config/nvim/lua/plugins/cmp.lua b/config/nvim/lua/plugins/cmp.lua index 7728d19..69a2396 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/config/nvim/lua/plugins/cmp.lua @@ -40,10 +40,10 @@ return { { { name = 'path' }, } - -- { - -- { name = 'buffer' }, - -- { name = 'rg', keyword_length = 3 } - -- } + -- { + -- { name = 'buffer' }, + -- { name = 'rg', keyword_length = 3 } + -- } ), formatting = { format = lspkind.cmp_format({ @@ -57,7 +57,7 @@ return { local capabilities = require('cmp_nvim_lsp').default_capabilities() vim.lsp.config('lua_ls', { - cmd = { '/home/venomade/.local/share/lua-language-server/bin/lua-language-server' }, + -- cmd = { '/home/venomade/.local/share/lua-language-server/bin/lua-language-server' }, capabilities = capabilities, root_markers = { ".luarc.json", @@ -68,22 +68,18 @@ return { Lua = { runtime = { version = 'Lua 5.4', - -- luarocks path --lr-path | tr ';' '\n' | sed 's/?.*//' | sort -u - path = { - '?.lua', - '?/init.lua', - '/home/venomade/.luarocks/share/lua/5.4/?.lua', - '/home/venomade/.luarocks/share/lua/5.4/?/init.lua', - '/usr/share/lua/5.4/?.lua', - '/usr/share/lua/5.4/?/init.lua', - './stubs/?.lua', - './stubs/?/init.lua' - }, + path = vim.list_extend( + vim.split(package.path, ';'), + { + '?.lua', + '?/init.lua', + './stubs/?.lua', + './stubs/?/init.lua' + }), }, workspace = { library = { - '/home/venomade/.luarocks/share/lua/5.4', - '/usr/share/lua/5.4', + vim.env.HOME .. '/.luarocks/share/lua/5.4', './stubs' }, }, diff --git a/.config/nvim/lua/plugins/colorizer.lua b/config/nvim/lua/plugins/colorizer.lua index 460eb5c..460eb5c 100644 --- a/.config/nvim/lua/plugins/colorizer.lua +++ b/config/nvim/lua/plugins/colorizer.lua diff --git a/.config/nvim/lua/plugins/compile.lua b/config/nvim/lua/plugins/compile.lua index 8d824de..8d824de 100644 --- a/.config/nvim/lua/plugins/compile.lua +++ b/config/nvim/lua/plugins/compile.lua diff --git a/.config/nvim/lua/plugins/image.lua b/config/nvim/lua/plugins/image.lua index 32c3540..32c3540 100644 --- a/.config/nvim/lua/plugins/image.lua +++ b/config/nvim/lua/plugins/image.lua diff --git a/.config/nvim/lua/plugins/lastplace.lua b/config/nvim/lua/plugins/lastplace.lua index a393a90..a393a90 100644 --- a/.config/nvim/lua/plugins/lastplace.lua +++ b/config/nvim/lua/plugins/lastplace.lua diff --git a/.config/nvim/lua/plugins/lazygit.lua b/config/nvim/lua/plugins/lazygit.lua index f9ddc84..f9ddc84 100644 --- a/.config/nvim/lua/plugins/lazygit.lua +++ b/config/nvim/lua/plugins/lazygit.lua diff --git a/.config/nvim/lua/plugins/lualine.lua b/config/nvim/lua/plugins/lualine.lua index 5412061..5412061 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/config/nvim/lua/plugins/lualine.lua diff --git a/.config/nvim/lua/plugins/modus-themes.lua b/config/nvim/lua/plugins/modus-themes.lua index 3058078..3058078 100644 --- a/.config/nvim/lua/plugins/modus-themes.lua +++ b/config/nvim/lua/plugins/modus-themes.lua diff --git a/.config/nvim/lua/plugins/oil.lua b/config/nvim/lua/plugins/oil.lua index 3eb396d..3eb396d 100644 --- a/.config/nvim/lua/plugins/oil.lua +++ b/config/nvim/lua/plugins/oil.lua diff --git a/.config/nvim/lua/plugins/rainbow-delimiters.lua b/config/nvim/lua/plugins/rainbow-delimiters.lua index 9fe4a06..9fe4a06 100644 --- a/.config/nvim/lua/plugins/rainbow-delimiters.lua +++ b/config/nvim/lua/plugins/rainbow-delimiters.lua diff --git a/.config/nvim/lua/plugins/render-markdown.lua b/config/nvim/lua/plugins/render-markdown.lua index 9d52c5b..9d52c5b 100644 --- a/.config/nvim/lua/plugins/render-markdown.lua +++ b/config/nvim/lua/plugins/render-markdown.lua diff --git a/config/nvim/lua/plugins/scratch-buffer.lua b/config/nvim/lua/plugins/scratch-buffer.lua new file mode 100644 index 0000000..a6526ab --- /dev/null +++ b/config/nvim/lua/plugins/scratch-buffer.lua @@ -0,0 +1,11 @@ +return { + 'miguelcrespo/scratch-buffer.nvim', + event = 'VimEnter', + config = function() + require('scratch-buffer').setup() + end, + dependencies = { + -- Recommended if you want interactive evaluation + "Olical/conjure" + } +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/config/nvim/lua/plugins/telescope.lua index e761994..e761994 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/config/nvim/lua/plugins/telescope.lua diff --git a/.config/nvim/lua/plugins/todo-comments.lua b/config/nvim/lua/plugins/todo-comments.lua index 69f907e..69f907e 100644 --- a/.config/nvim/lua/plugins/todo-comments.lua +++ b/config/nvim/lua/plugins/todo-comments.lua diff --git a/.config/nvim/lua/plugins/ui.lua b/config/nvim/lua/plugins/ui.lua index 5df6f44..5df6f44 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/config/nvim/lua/plugins/ui.lua diff --git a/.config/nvim/lua/plugins/zk.lua b/config/nvim/lua/plugins/zk.lua index ce2e11a..ce2e11a 100644 --- a/.config/nvim/lua/plugins/zk.lua +++ b/config/nvim/lua/plugins/zk.lua diff --git a/.config/nvim/lua/scripts/diagnostics.lua b/config/nvim/lua/scripts/diagnostics.lua index 0855af1..0855af1 100644 --- a/.config/nvim/lua/scripts/diagnostics.lua +++ b/config/nvim/lua/scripts/diagnostics.lua diff --git a/.config/nvim/lua/scripts/init.lua b/config/nvim/lua/scripts/init.lua index f0e0f11..f0e0f11 100644 --- a/.config/nvim/lua/scripts/init.lua +++ b/config/nvim/lua/scripts/init.lua diff --git a/.config/shell/alias b/config/shell/alias index 931c115..84eab84 100644 --- a/.config/shell/alias +++ b/config/shell/alias @@ -1,11 +1,9 @@ alias rgf='rg --files | rg' alias ls='eza --icons=auto' alias md='mkdir' -alias ec='emacsclient -nw' alias cat='bat -pp' alias man='batman' alias diff='batdiff' alias fzf="fzf --preview 'bat --style=numbers --color=always {}'" -alias tlbx="toolbox enter" alias vi="nvim" alias vim="nvim" diff --git a/.config/shell/functions b/config/shell/functions index a300316..a300316 100644 --- a/.config/shell/functions +++ b/config/shell/functions diff --git a/config/shell/vars b/config/shell/vars new file mode 100644 index 0000000..601d79f --- /dev/null +++ b/config/shell/vars @@ -0,0 +1,6 @@ +export EDITOR=nvim +export ZK_NOTEBOOK_DIR=$HOME/Documents/Notes +export XDG_CONFIG_HOME=$HOME/.config +export GOPATH=$HOME/.go +export LIMA_SHELL=/bin/zsh +export LIMA_INSTANCE=alpine diff --git a/config/starship/config.toml b/config/starship/config.toml new file mode 100644 index 0000000..6165b64 --- /dev/null +++ b/config/starship/config.toml @@ -0,0 +1,91 @@ +# Get editor completions based on the config schema +"$schema" = 'https://starship.rs/config-schema.json' + +# Inserts a blank line between shell prompts +add_newline = true + +format = """ +$nix_shell\ +$directory\ +$git_branch\ +$git_status\ +$git_commit\ +$status\ +$fill\ +$lua\ +$rust\ +$golang\ +$haskell\ +$jobs\ +$cmd_duration\ +$line_break\ +$character""" + +[nix_shell] +format = '[$symbol]($style) ' +symbol = ' ' +style = 'bold #74c7ec' + +[directory] +style = '#b2bbfb' +truncation_length = 2 + +[git_branch] +symbol = ' ' +format = '[$symbol$branch(:$remote_branch)]($style) ' +style = 'bold #eba0ac' +ignore_branches = ['master', 'main'] + +[git_status] +format = '([\[$all_status$ahead_behind\]]($style) )' +style = 'bold #89dceb' + +[git_commit] +format = '[\[#$hash$tag\]]($style) ' +style = 'bold #94e2d5' + +[status] +format = '[\[$status\]]($style)' +disabled = false + +[fill] +symbol = ' ' + +[lua] +format = '[$symbol($version )]($style)' +version_format = '$major.$minor' +symbol = ' ' +detect_files = ['.lua-version', '.luarc.json'] + +[rust] +format = '[$symbol($version )]($style)' +version_format = '$major.$minor' +symbol = ' ' +style = 'bold #fab387' + +[golang] +format = '[$symbol($version )]($style)' +version_format = '$major.$minor' +symbol = ' ' +style = 'bold #94e2d5' + +[haskell] +format = '[$symbol($ghc_version )]($style)' +symbol = ' ' +style = 'bold #cba6f7' + +[cmd_duration] +format = '[ $duration]($style) ' +style = 'bold #f9e2af' + +# Replace the '❯' symbol in the prompt with '➜' +[character] # The name of the module we are configuring is 'character' +success_symbol = '[](bold #a6e3a1)' +error_symbol = '[](bold #f38ba8)' + +# TODO +# - [container] +# - [docker_context] +# - [direnv] +# CONTINUE FROM HERE + diff --git a/.config/yazi/keymap.toml b/config/yazi/keymap.toml index 27da4fc..27da4fc 100644 --- a/.config/yazi/keymap.toml +++ b/config/yazi/keymap.toml diff --git a/.config/yazi/modus_vivendi.tmTheme b/config/yazi/modus_vivendi.tmTheme index 15d2429..15d2429 100644 --- a/.config/yazi/modus_vivendi.tmTheme +++ b/config/yazi/modus_vivendi.tmTheme diff --git a/.config/yazi/theme.toml b/config/yazi/theme.toml index 7e83248..7e83248 100644 --- a/.config/yazi/theme.toml +++ b/config/yazi/theme.toml diff --git a/.config/yazi/yazi.toml b/config/yazi/yazi.toml index 4f05c94..4f05c94 100644 --- a/.config/yazi/yazi.toml +++ b/config/yazi/yazi.toml diff --git a/.config/zk/config.toml b/config/zk/config.toml index 1e6df92..b9d3ca2 100644 --- a/.config/zk/config.toml +++ b/config/zk/config.toml @@ -16,7 +16,7 @@ multiword-tags = true [tool] editor = "nvim" -shell = "/bin/bash" +shell = "/bin/zsh" fzf-preview = "bat -p --color always {-1}" [alias] diff --git a/.config/zk/templates/note.md b/config/zk/templates/note.md index be4c1d2..be4c1d2 100644 --- a/.config/zk/templates/note.md +++ b/config/zk/templates/note.md diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..0d96965 --- /dev/null +++ b/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1771102945, + "narHash": "sha256-e5NfW8NhC3qChR8bHVni/asrig/ZFzd1wzpq+cEE/tg=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "ff5e5d882c51f9a032479595cbab40fd04f56399", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..93a558c --- /dev/null +++ b/flake.nix @@ -0,0 +1,31 @@ +{ + description = "Home Manager configuration of venomade"; + + inputs = { + # Specify the source of Home Manager and Nixpkgs. + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { nixpkgs, home-manager, ... }: + let + system = "aarch64-darwin"; + pkgs = nixpkgs.legacyPackages.${system}; + in + { + homeConfigurations."venomade" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + + # Specify your home configuration modules here, for example, + # the path to your home.nix. + modules = [ ./home.nix ]; + + # Optionally use extraSpecialArgs + # to pass through arguments to home.nix + }; + }; +} diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..7607adc --- /dev/null +++ b/home.nix @@ -0,0 +1,55 @@ +{ config, lib, pkgs, ... }: + +{ + home.username = "venomade"; + home.homeDirectory = "/Users/venomade"; + + home.packages = with pkgs; [ + # Neovim + neovim + imagemagick + fzf + ripgrep + + # Lua + lua-language-server + lua5_4 + lua5_4.pkgs.luarocks + + # Personal + bat + eza + jellyfin-tui + lazygit + starship + yazi + zk + lima + ]; + + programs.git = { + enable = true; + settings.user = { + name = "venomade"; + email = "venomade@venomade.com"; + }; + }; + + home.stateVersion = "25.11"; + + programs.home-manager.enable = true; + + home.file = + let + dir = "${config.home.homeDirectory}/.dotfiles/config"; + in + lib.mapAttrs + (name: _: { + target = ".config/${name}"; + source = config.lib.file.mkOutOfStoreSymlink "${dir}/${name}"; + recursive = true; + }) + (lib.filterAttrs + (name: type: type == "directory") + (builtins.readDir ./config)); +} |
