diff --git a/.gitignore b/.gitignore index 385704b..7ad0199 100644 --- a/.gitignore +++ b/.gitignore @@ -10,9 +10,14 @@ # Allow any directory beginning with i3 (i3, i3blocks, i3status, i3-scripts, etc) !i3*/ -# Allow files inside alacritty and i3* directories +# Allow any directory beginning with fastfetch +!fastfetch*/ + +# Allow files inside alacritty, ttf fonts, fastfetch and i3* directories !alacritty/** +!fastfetch/** !i3*/** +!*.ttf # Don't forget to not ignore .gitignore! !.gitignore diff --git a/ModernDOS9x16.ttf b/ModernDOS9x16.ttf new file mode 100644 index 0000000..3cbc942 Binary files /dev/null and b/ModernDOS9x16.ttf differ diff --git a/alacritty/alacritty.toml b/alacritty/alacritty.toml index 583e86f..041cd6a 100644 --- a/alacritty/alacritty.toml +++ b/alacritty/alacritty.toml @@ -1,58 +1,93 @@ +# ============================ +# Alacritty Configuration +# ============================ -[colors.bright] -black = "0x555555" -blue = "0x5555ff" -cyan = "0x00eaff" -green = "0x55ff55" -magenta = "0xff55ff" -red = "0xff5555" -white = "0xffffff" -yellow = "0xffff55" - -[colors.cursor] -cursor = "0x00eaff" -text = "0x000000" - -[colors.normal] -black = "0x000000" -blue = "0x337bff" -cyan = "0x00aaaa" -green = "0x00aa00" -magenta = "0xaa00aa" -red = "0xaa0000" -white = "0xaaaaaa" -yellow = "0xaa5500" - -[colors.primary] -background = "0x000000" -foreground = "0x00eaff" - -[colors.selection] -background = "0x00a8b5" -text = "0x000000" - -[cursor] -style = "Block" -vi_mode_style = "Beam" +[general] +live_config_reload = true -[scrolling] -history = 10000 +# ============================ +# Window +# ============================ [window] decorations = "full" -dynamic_padding = false +dynamic_padding = true dynamic_title = true -opacity = 1.0 +opacity = 0.80 [window.padding] x = 6 y = 4 -[general] -live_config_reload = true + +# ============================ +# Font +# ============================ [font] -size = 12.0 -normal = { family = "monospace", style = "Regular" } +normal = { family = "Cascadia Code NF", style = "Regular" } +bold = { family = "Cascadia Code NF", style = "Bold" } +italic = { family = "Cascadia Code NF", style = "Italic" } +bold_italic = { family = "Cascadia Code NF", style = "Bold Italic" } + + +#[font] +#normal = { family = "Modern DOS 9x16", style = "Regular" } +#size = 12 + + +#[font.normal] +#family = "Modern DOS 9x16" +#style = "Regular" + + +# ============================ +# Cursor +# ============================ + + +# ============================ +# Scrolling +# ============================ + +[scrolling] +history = 10000 + +# ============================ +# ACTIVE COLORSCHEME: ROSE GOLD + MIKU PINK +# ============================ + +[colors.primary] +background = "0x000000" +foreground = "0x00d9ff" # miku-cyan primary + +[colors.cursor] +cursor = "0xFF559F" # vibrant miku-pink accent +text = "0x000000" + +[colors.normal] +black = "0x000000" +red = "0xbd3761" # hot miku-pink +green = "0xC7E0B8" # soft mint (balances pink) +yellow = "0xc98373" # gold kinda vibes +blue = "0x5a6d73" # dark Miku blue +magenta = "0xFF77C8" # neon-pink-magenta +cyan = "0x00d9ff" # miku-cyan +white = "0xa6babf" # muted miku blue colors + +[colors.bright] +black = "0x666666" +red = "0xFF88BA" # brighter hot-pink +green = "0xDAFFC6" # bright mint green +yellow = "0xFFD8E6" # champagne-pink bright +blue = "0xBBD4FF" # bright pastel blue +magenta = "0xFFAAE1" # candy-pink magenta +cyan = "0xD0F2FF" # bright aqua +white = "0xFFFFFF" + +[colors.selection] +background = "0x401B2A" # deep pink-wine blend for selection +text = "0xFF559F" + diff --git a/fastfetch/config.jsonc b/fastfetch/config.jsonc new file mode 100644 index 0000000..ae9bca0 --- /dev/null +++ b/fastfetch/config.jsonc @@ -0,0 +1,103 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + + "logo": { + "source": "rhel_old", + "color": { + "1": "36", + "2": "31", + "3": "36", + "4": "31" + } + }, + + "display": { + "separator": " ", + "color": { + "keys": "magenta", + "output": "cyan", + "title": "magenta" + }, + "key": { + "width": 10 + } + }, + + "modules": [ + // ─── System Info ───────────────────────────── + "title", + { + "type": "custom", + "format": "{#yellow}╭─  System Info ─────────────────────────────╮{#}" + }, + { + "type": "os", + "key": " ├──  OS" + }, + { + "type": "kernel", + "key": " ├──  Kernel" + }, + { + "type": "wm", + "key": " ├──  Window Manager" + }, + { + "type": "uptime", + "key": " └──  Uptime" + }, + { + "type": "custom", + "format": "{#yellow}╰─────────────────────────────────────────────╯{#}" + }, + + // ─── Hardware ─────────────────────────────── + { + "type": "custom", + "format": "{#yellow}╭─  Hardware ───────────────────────────────╮{#}" + }, + { + "type": "cpu", + "key": " ├──  CPU" + }, + { + "type": "gpu", + "key": " ├── 󰍛 GPU" + }, + { + "type": "memory", + "key": " ├──  Memory" + }, + { + "type": "disk", + "key": " └──  Disk" + }, + { + "type": "custom", + "format": "{#yellow}╰─────────────────────────────────────────────╯{#}" + }, + + // ─── Software & ENV ───────────────────────── + { + "type": "custom", + "format": "{#yellow}╭─  Software & ENV ─────────────────────────╮{#}" + }, + { + "type": "packages", + "key": " ├── \uf487 Packages" + }, + { + "type": "shell", + "key": " ├──  Shell" + }, + { + "type": "terminal", + "key": " └──  Terminal" + }, + { + "type": "custom", + "format": "{#yellow}╰─────────────────────────────────────────────╯{#}" + } + ] +} + diff --git a/i3/config b/i3/config index 7c70b18..f074e95 100644 --- a/i3/config +++ b/i3/config @@ -35,7 +35,7 @@ exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork exec --no-startup-id nm-applet # set wallpaper -exec --no-startup-id feh --bg-tile ~/Pictures/mikugooba.jpg +exec_always --no-startup-id swaybg -i ~/Pictures/apecamomikufedora.jpg -m tile # Use pactl to adjust volume in PulseAudio. set $refresh_i3status killall -SIGUSR1 i3status @@ -43,6 +43,11 @@ bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status +# Increase brightness +bindsym XF86MonBrightnessUp exec brightnessctl set +10% +# Decrease brightness +bindsym XF86MonBrightnessDown exec brightnessctl set 10%- + # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod @@ -58,7 +63,7 @@ bindsym $mod+Return exec alacritty bindsym $mod+Shift+q kill # start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id dmenu_run +bindsym $mod+d exec --no-startup-id wmenu-run # A more modern dmenu replacement is rofi: # bindcode $mod+40 exec "rofi -modi drun,run -show drun" # There also is i3-dmenu-desktop which only displays applications shipping a @@ -157,7 +162,8 @@ bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) -bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" +#bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" +bindsym $mod+Shift+e exec "sway exit" # resize window (you can also use the mouse for that) mode "resize" { @@ -184,30 +190,52 @@ mode "resize" { bindsym $mod+r mode "default" } +# Modern aesthetic tuning +gaps inner 12 +gaps outer 12 +smart_gaps on +smart_borders on +hide_edge_borders smart +default_border normal +default_floating_border pixel 2 + # ================================ -# Hatsune Miku i3 Theme +# Rose Gold + Raw Cyan i3 Theme # ================================ -# class border backgr. text indicator child_border -client.focused #00eaff #000000 #00eaff #00eaff #00a8b5 -client.unfocused #00373a #000000 #aaaaaa #00373a #00373a -client.focused_inactive #00373a #000000 #aaaaaa #00373a #00373a -client.urgent #ff55ff #000000 #ffffff #ff55ff #ff55ff +# class border backgr. text indicator child_border +client.focused #00eaff #000000 #E0BFB8 #00eaff #00eaff +client.unfocused #1a1f22 #000000 #00eaff #1a1f22 #1a1f22 +client.focused_inactive #1a1f22 #000000 #00eaff #1a1f22 #1a1f22 +client.urgent #ff55ff #000000 #ffffff #ff55ff #ff55ff +# Notes: +# - Focused border = raw cyan (#00eaff) +# - Focused text = rose gold (#E0BFB8) for premium contrast +# - Unfocused windows text = raw cyan for consistency +# - Raw cyan + rose gold gives a clean cyber-luxury vibe + + +# Resize mode bindsym $mod+r mode "resize" +bindsym Ctrl+Mod1+p exec grim ~/Pictures/Screenshots/$(date +'%Y-%m-%dT%H:%M:%S').png + + # ================================ -# Miku i3bar +# i3bar (Raw Cyan + Rose Gold) # ================================ bar { status_command i3status + position top + colors { background #000000 statusline #00eaff - focused_workspace #00eaff #000000 #ffffff - active_workspace #00a8b5 #000000 #000000 + focused_workspace #00eaff #000000 #E0BFB8 + active_workspace #00eaff #000000 #000000 inactive_workspace #000000 #000000 #555555 urgent_workspace #ff55ff #000000 #ffffff } @@ -215,4 +243,3 @@ bar { - diff --git a/i3status/config b/i3status/config index bac4ccf..7caefab 100644 --- a/i3status/config +++ b/i3status/config @@ -5,14 +5,25 @@ general { # Order of modules in the bar order += "read_file hostname" +order += "read_file battery" order += "disk /" order += "memory" order += "load" order += "tztime local" -# Hostname shown as 🖥 debi3.lan + +# battery usage + +read_file battery { + path = "/tmp/battery_percent" + format = "🔋 %content" +} + + +# Hostname should be put in ~.hostname_lan in FQDN form. +# (I just run 'echo $(hostname).lan > ~/.hostname_lan' to make the file) read_file hostname { - path = "/home/mrkmntal/.hostname_lan" + path = "~/.hostname_lan" format = "🖥 %content" } diff --git a/i3status/update_battery.sh b/i3status/update_battery.sh new file mode 100755 index 0000000..8f0c25f --- /dev/null +++ b/i3status/update_battery.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +PERCENT=$(upower -i /org/freedesktop/UPower/devices/battery_macsmc_battery \ + | awk -F: '/percentage/ {gsub(/ /,"",$2); print $2}') + +# fallback so i3status never crashes +echo "${PERCENT:-N/A}" > /tmp/battery_percent +