Squashed commit of the following:

- updated mimes
    - added mpd and rmpc
    - added mpd to autostart
    - removed delays from autostart
    - install script for i3, i3blocks, and i3blocks config from repo
    - i3
        - pango font and nerd font for bar
        - switched to i3blocks
        - colors :3
This commit is contained in:
2025-10-23 20:28:51 -05:00
parent a910750e91
commit 2ffa49fe41
8 changed files with 457 additions and 8 deletions

31
env/.config/i3/config vendored
View File

@@ -14,7 +14,7 @@ exec ~/.local/bin/system/start-scripts/autostart.sh
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font b612:monospace 8
font pango:b612:monospace 7, "JetBrainsMono Nerd Font" 7
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
@@ -270,14 +270,35 @@ client.unfocused #222222 #222222 #8568e6 #e598ff #222222
default_border pixel 1
default_floating_border pixel 1
set $trans #00000000
set $inactive-bg-color #1e1e2e
set $text-color #cdd6f4
set $urbg-color #f38ba8
set $color #8568ef
set $ws_color #d37340
set $ws_bord #8568ef
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
output primary
status_command i3status
separator_symbol ""
output primary
status_command SCRIPT_DIR=~/.config/i3blocks i3blocks
colors {
statusline #FFFFFF
background $trans
separator #757575
# border background text
focused_workspace $ws_bord $color $text-color
inactive_workspace $trans $trans #676E7D
active_workspace $trans $trans $text-color
urgent_workspace $urbg-color $urbg-color $text-color
}
}
bar {
output nonprimary
status_command i3status
separator_symbol ""
output nonprimary
}

163
env/.config/i3blocks/config vendored Normal file
View File

@@ -0,0 +1,163 @@
# i3blocks config file
#
# Please see man i3blocks for a complete reference!
# The man page is also hosted at http://vivien.github.io/i3blocks
#
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
#
# The top properties below are applied to every block, but can be overridden.
# Each block command defaults to the script name to avoid boilerplate.
# Change $SCRIPT_DIR to the location of your scripts!
command=$SCRIPT_DIR/$BLOCK_NAME/$BLOCK_NAME
separator_block_width=15
markup=pango
# Volume indicator
#
# The first parameter sets the step (and units to display)
# The second parameter overrides the mixer selection
# See the script for details.
[volume2]
label= 
interval=1
signal=10
#STEP=5%
# Memory usage
#
# The type defaults to "mem" if the instance is not specified.
[memory]
label= 
separator=false
interval=30
[memory]
label=SWAP
instance=swap
separator=false
interval=30
# Disk usage
#
# The directory defaults to $HOME if the instance is not specified.
# The script may be called with a optional argument to set the alert
# (defaults to 10 for 10%).
[disk]
label= 
#DIR=/mnt/data
interval=30
# Network interface monitoring
#
# If the instance is not specified, use the interface used for default route.
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
# [iface]
# #IFACE=wlan0
# color=#00FF00
# interval=10
# separator=false
[wifi]
#INTERFACE=wlp3s0
label=wifi:
interval=10
separator=false
[bandwidth]
#INTERFACE=eth0
interval=5
# CPU usage
#
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
[cpu_usage]
label= 
interval=10
min_width=  100.00%
#separator=false
[load_average]
label=LOAD
interval=10
# Battery indicator
#
# The battery instance defaults to 0.
[battery]
label=BAT
#label=⚡
interval=30
[rss]
label=
command=/usr/bin/newsboat -x print-unread|sed 's/\s.*//; s/Error:/E/'
interval=20
# Date Time
#
[time]
command=date '+%a %m/%d/%Y %I:%M%p'
interval=5
# Generic media player support
#
# This displays "ARTIST - SONG" if a music is playing.
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
# Set to %any to automatically pick (Requires playerctl >=2.1.1)
#[mediaplayer]
# This picks any player, with vlc as first, and spotify as last choice
#instance=vlc,%any,spotify
#interval=5
#signal=10
# OpenVPN support
#
# Support multiple VPN, with colors.
#[openvpn]
#interval=20
# Temperature
#
# Support multiple chips, though lm-sensors.
# The script may be called with -w and -c switches to specify thresholds,
# see the script for details.
#[temperature]
#label=TEMP
#interval=10
# Key indicators
#
# Add the following bindings to i3 config file:
#
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
#[keyindicator]
#KEY=CAPS
#markup=pango
#interval=once
#signal=11
#[keyindicator]
#KEY=NUM
#markup=pango
#interval=once
#signal=11

1
env/.config/i3blocks/volume2/volume2 vendored Executable file
View File

@@ -0,0 +1 @@
pactl -f json get-sink-volume @DEFAULT_SINK@ | sed -e 's/.*value_percent":"//' -e 's/".*//'

11
env/.config/mpd/mpd.conf vendored Normal file
View File

@@ -0,0 +1,11 @@
music_directory "~/stuff/media/music/main"
playlist_directory "$XDG_CONFIG_HOME/mpd/playlists"
db_file "$XDG_CACHE_HOME/mpd/database"
bind_to_address "127.0.0.1"
port "6600"
audio_output {
type "pipewire"
name "PipeWire Sound"
}

244
env/.config/rmpc/config.ron vendored Normal file
View File

@@ -0,0 +1,244 @@
#![enable(implicit_some)]
#![enable(unwrap_newtypes)]
#![enable(unwrap_variant_newtypes)]
(
default_album_art_path: None,
draw_borders: false,
show_song_table_header: false,
symbols: (song: "🎵", dir: "📁", playlist: "🎼", marker: "\u{e0b0}"),
layout: Split(
direction: Vertical,
panes: [
(
pane: Pane(Header),
size: "1",
),
(
pane: Pane(TabContent),
size: "100%",
),
(
pane: Pane(ProgressBar),
size: "1",
),
],
),
progress_bar: (
symbols: ["", "", "⭘", " ", " "],
track_style: (bg: "#1e2030"),
elapsed_style: (fg: "#c6a0f6", bg: "#1e2030"),
thumb_style: (fg: "#c6a0f6", bg: "#1e2030"),
),
scrollbar: (
symbols: ["│", "█", "▲", "▼"],
track_style: (),
ends_style: (),
thumb_style: (fg: "#b7bdf8"),
),
browser_column_widths: [20, 38, 42],
text_color: "#cad3f5",
background_color: "#24273a",
header_background_color: "#1e2030",
modal_background_color: None,
modal_backdrop: false,
tab_bar: (active_style: (fg: "black", bg: "#c6a0f6", modifiers: "Bold"), inactive_style: ()),
borders_style: (fg: "#6e738d"),
highlighted_item_style: (fg: "#c6a0f6", modifiers: "Bold"),
current_item_style: (fg: "black", bg: "#b7bdf8", modifiers: "Bold"),
highlight_border_style: (fg: "#b7bdf8"),
song_table_format: [
(
prop: (kind: Property(Artist), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))),
width: "50%",
alignment: Right,
),
(
prop: (kind: Text("-"), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))),
width: "1",
alignment: Center,
),
(
prop: (kind: Property(Title), style: (fg: "#7dc4e4"), default: (kind: Text("Unknown"))),
width: "50%",
),
],
header: (
rows: [
(
left: [
(kind: Text("["), style: (fg: "#b7bdf8", modifiers: "Bold")),
(kind: Property(Status(State)), style: (fg: "#b7bdf8", modifiers: "Bold")),
(kind: Text("]"), style: (fg: "#b7bdf8", modifiers: "Bold"))
],
center: [
(kind: Property(Song(Artist)), style: (fg: "#eed49f", modifiers: "Bold"),
default: (kind: Text("Unknown"), style: (fg: "#eed49f", modifiers: "Bold"))
),
(kind: Text(" - ")),
(kind: Property(Song(Title)), style: (fg: "#7dc4e4", modifiers: "Bold"),
default: (kind: Text("No Song"), style: (fg: "#7dc4e4", modifiers: "Bold"))
)
],
right: [
(kind: Text("Vol: "), style: (fg: "#b7bdf8", modifiers: "Bold")),
(kind: Property(Status(Volume)), style: (fg: "#b7bdf8", modifiers: "Bold")),
(kind: Text("% "), style: (fg: "#b7bdf8", modifiers: "Bold"))
]
)
],
),
)
tabs: [
(
name: "Queue",
pane: Split(
direction: Horizontal,
panes: [(size: "60%", pane: Pane(Queue)), (size: "40%", pane: Pane(AlbumArt))],
),
),
(
name: "Directories",
pane: Pane(Directories),
),
(
name: "Artists",
pane: Pane(Artists),
),
(
name: "Album Artists",
pane: Pane(AlbumArtists),
),
(
name: "Albums",
pane: Pane(Albums),
),
(
name: "Playlists",
pane: Pane(Playlists),
),
(
name: "Search",
pane: Pane(Search),
),
],