moved around dotfiles to focus around nix configuration, as most of my systems already utilize Nix/NixOS in some capacity.

This commit is contained in:
lulusilly 2025-12-25 15:34:38 -04:00
parent eb01c9561f
commit 890c29afca
28 changed files with 47 additions and 255 deletions

95
nix/hosts/dots/.emacs.d/init.el Executable file
View file

@ -0,0 +1,95 @@
; Setting default Emacs window dimensions
(push '(tool-bar-lines . 0) default-frame-alist)
(push '(width . 75) default-frame-alist)
(push '(height . 30) default-frame-alist)
;; Setting default font
(set-frame-font
(cond
((member "Monocraft" (font-family-list)) "Monocraft")
((member "Miracode" (font-family-list)) "Miracode")
((member "Cascadia Mono-16" (font-family-list)) "Cascadia Mono")
(t nil)
)
t t
)
;; Set default tab width (in spaces)
(setq-default tab-width 2)
;; Store customizations in a separate file
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
;; Load it if the file exists
(when (file-exists-p custom-file)
(load custom-file))
;; Setup MELPA
(require 'package) (setq package-archives '(("melpa" . "https://melpa.org/packages/") ("org" . "https://orgmode.org/elpa/") ("elpa" . "https://elpa.gnu.org/packages/")))
;; Setup package.el
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package)
(eval-when-compile
(unless (bound-and-true-p package--initialized)
(package-initialize))
(require 'use-package)))
(setq use-package-always-ensure t)
;; For up to date org mode.
(use-package org)
;; Enable Org mode
(require 'org)
;; Enable Babel for specific languages
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t) ;; Elisp support
(scheme . t) ;; Scheme Lisp support
(lisp . t) ;; Common Lisp support
(lua . t) ;; Lua support
(latex . t) ;; Latex support
(shell . t)) ;; Posix Shell support
)
;; Set the default export directory
(setq org-export-directory "~/org_exports/")
;; Show inline images in org documents
(setq org-startup-with-inline-images t)
;; Set default directory based on operating system
(cond
;; If using Windows
((eq system-type 'windows-nt)
(setq default-directory (format "C:\\Users\\%s\\Documents" (user-login-name))))
;; If using GNU/Linux
((eq system-type 'gnu/linux)
(setq default-directory (format "/home/%s" (user-login-name))))
;; If using macOS
((eq system-type 'darwin)
(setq default-directory (format "/Users/%s" (user-login-name))))
)
;; Themeing
(use-package gruvbox-theme) ;; Gruvbox is comfy
(load-theme 'gruvbox-dark-hard) ;; Dark because I'm a parasite
; For Unix-like operating systems only running the GUI.
(add-to-list 'default-frame-alist '(alpha-background . 80))
(use-package doom-modeline
:ensure t
:init (doom-modeline-mode 1))
;; Technically useless but cute for fullscreen editing.
(use-package nyan-mode
:init
(nyan-mode))
;; Requires the JetBrains Mono font be installed on the system.
(add-to-list 'default-frame-alist '(font . "JetBrains Mono-12"))
;; I've been using Neovim a lot lately, so I'm using Evil mode for the
;; time being. I think XFK is technically better, but it messes with
;; my muscle memory a bit, and I need to be able to get stuff done,
;; frankly. I'm already wasting time configuring Emacs (*  ̄︿ ̄)
(use-package evil
:init ;; tweak evil's configuration before loading it
(setq evil-want-keybinding nil)
(setq evil-vsplit-window-right t)
(setq evil-split-window-below t)
(evil-mode)
)
;; MINIMALISM
(menu-bar-mode -1)
(tool-bar-mode -1)
;; Misc stuff
(defalias 'yes-or-no-p 'y-or-n-p)
(column-number-mode 1)
(setq make-backup-files nil)
(setq global-visual-line-mode t)

19
nix/hosts/dots/ghostty/config Executable file
View file

@ -0,0 +1,19 @@
font-family = "Miracode"
background-opacity = 0.8
theme = "IC_Orange_PPL"
mouse-hide-while-typing = true
keybind = ctrl+n=new_window
keybind = ctrl+h=goto_split:left
keybind = ctrl+j=goto_split:down
keybind = ctrl+k=goto_split:up
keybind = ctrl+l=goto_split:right
keybind = ctrl+shift+h=new_split:left
keybind = ctrl+shift+j=new_split:down
keybind = ctrl+shift+k=new_split:up
keybind = ctrl+shift+l=new_split:right
keybind = ctrl+f=toggle_split_zoom
window-save-state = always

BIN
nix/hosts/dots/hypr/bg.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

238
nix/hosts/dots/hypr/hyprland.conf Executable file
View file

@ -0,0 +1,238 @@
ecosystem:no_update_news = true
# See https://wiki.hypr.land/Configuring/Monitors/
monitor=,preferred,auto,auto
###################
### MY PROGRAMS ###
###################
$terminal = ghostty
$browser = firefox
$fileManager = lf
############################
### AUTO STARTUP ###
############################
exec-once = bash ~/.config/hypr/start.sh
exec-once = $terminal
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hypr.land/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hypr.land/Configuring/Variables/
# https://wiki.hypr.land/Configuring/Variables/#general
general {
gaps_in = 5
gaps_out = 15
border_size = 2
# https://wiki.hypr.land/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hypr.land/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 10
rounding_power = 2
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 0.70
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
# https://wiki.hypr.land/Configuring/Variables/#blur
blur {
enabled = true
size = 3
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = yes, please :)
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
animation = fadeOut, 1, 1.46, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 3.81, easeOutQuint
animation = layersIn, 1, 4, easeOutQuint, fade
animation = layersOut, 1, 1.5, linear, fade
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade
}
# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/
# "Smart gaps" / "No gaps when only"
# uncomment all if you wish to use that.
# workspace = w[tv1], gapsout:0, gapsin:0
# workspace = f[1], gapsout:0, gapsin:0
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
# windowrule = rounding 0, floating:0, onworkspace:f[1]
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
master {
new_status = master
}
misc {
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
gestures {
workspace_swipe = true;
}
###################
### Keybindings ###
###################
$mainMod = SUPER Control_L Alt_L Shift # Primary mod key is Hyper key
$secMod = SUPER # Secondary mod key is Super
$tMod = Alt # Third mod key is Alt
bind = $mainMod, T, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, Escape, exit,
bind = $secMod, S, exec, grim -l 0 -g "$(slurp)" - | wl-copy
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, B, exec, $browser
bind = $mainMod, V, togglefloating,
bind = $mainMod, D, exec, rofi -show drun -show-icons
# Move focus with Alt + arrow keys
bind = $tMod, H, movefocus, l
bind = $tMod, L, movefocus, r
bind = $tMod, K, movefocus, u
bind = $tMod, J, movefocus, d
# Switch workspaces with Alt + [Q-P]
bind = $tMod, Q, workspace, 1
bind = $tMod, W, workspace, 2
bind = $tMod, E, workspace, 3
bind = $tMod, R, workspace, 4
bind = $tMod, T, workspace, 5
bind = $tMod, Y, workspace, 6
bind = $tMod, U, workspace, 7
bind = $tMod, I, workspace, 8
bind = $tMod, O, workspace, 9
bind = $tMod, P, workspace, 10
# Move active window to a workspace with Alt + Shift + [Q-P]
bind = $tMod SHIFT, Q, movetoworkspace, 1
bind = $tMod SHIFT, W, movetoworkspace, 2
bind = $tMod SHIFT, E, movetoworkspace, 3
bind = $tMod SHIFT, R, movetoworkspace, 4
bind = $tMod SHIFT, T, movetoworkspace, 5
bind = $tMod SHIFT, Y, movetoworkspace, 6
bind = $tMod SHIFT, U, movetoworkspace, 7
bind = $tMod SHIFT, I, movetoworkspace, 8
bind = $tMod SHIFT, O, movetoworkspace, 9
bind = $tMod SHIFT, P, movetoworkspace, 10
# Example special workspace (scratchpad)
bind = $tMod, S, togglespecialworkspace, magic
bind = $tMod SHIFT, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule
# windowrule = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.*
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

6
nix/hosts/dots/hypr/start.sh Executable file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Wallpaper daemon (swww)
swww-daemon &
swww img ~/.config/hypr/bg.jpg &
waybar &
dunst

58
nix/hosts/dots/mpv/mpv.conf Executable file
View file

@ -0,0 +1,58 @@
profile=gpu-hq
vo=gpu-next
opengl-es=yes
[image]
osc=no
sub-auto=no
audio-file=no
term-status-msg=
loop-file=inf
no-pause
video-aspect-override=no
geometry=720x360
[extension.png]
profile=image
[extension.jpg]
profile=image
[extension.jpeg]
profile=image
[extension.webp]
profile=image
[extension.gif]
profile=image
[audio]
volume=50
geometry=300x300
[extension.mp3]
profile=audio
[extension.ogg]
profile=audio
[extension.flac]
profile=audio
[extension.wav]
profile=audio
[vids]
geometry=640x300
volume=50
[extension.webm]
profile=vids
loop-file=inf
[extension.mp4]
profile=vids
[extension.mkv]
profile=vids

View file

@ -0,0 +1,862 @@
print_info() {
info title
info underline
info "OS" distro
info "Host" model
# info "Kernel" kernel
info "Uptime" uptime
# info "Packages" packages
# info "Shell" shell
info "Resolution" resolution
# info "DE" de
# info "WM" wm
# info "WM Theme" wm_theme
# info "Theme" theme
# info "Icons" icons
# info "Terminal" term
# info "Terminal Font" term_font
info "CPU" cpu
# info "GPU" gpu
info "Memory" memory
# info "GPU Driver" gpu_driver # Linux/macOS only
# info "CPU Usage" cpu_usage
info "Disk" disk
info "Battery" battery
# info "Font" font
info "Song" song
[[ "$player" ]] && prin "Music Player" "$player"
info "Local IP" local_ip
# info "Public IP" public_ip
# info "Users" users
# info "Locale" locale # This only works on glibc systems.
info cols
}
# Title
# Hide/Show Fully qualified domain name.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --title_fqdn
title_fqdn="off"
# Kernel
# Shorten the output of the kernel function.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --kernel_shorthand
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
#
# Example:
# on: '4.8.9-1-ARCH'
# off: 'Linux 4.8.9-1-ARCH'
kernel_shorthand="on"
# Distro
# Shorten the output of the distro function
#
# Default: 'off'
# Values: 'on', 'tiny', 'off'
# Flag: --distro_shorthand
# Supports: Everything except Windows and Haiku
distro_shorthand="off"
# Show/Hide OS Architecture.
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --os_arch
#
# Example:
# on: 'Arch Linux x86_64'
# off: 'Arch Linux'
os_arch="off"
# Uptime
# Shorten the output of the uptime function
#
# Default: 'on'
# Values: 'on', 'tiny', 'off'
# Flag: --uptime_shorthand
#
# Example:
# on: '2 days, 10 hours, 3 mins'
# tiny: '2d 10h 3m'
# off: '2 days, 10 hours, 3 minutes'
uptime_shorthand="tiny"
# Memory
# Show memory pecentage in output.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --memory_percent
#
# Example:
# on: '1801MiB / 7881MiB (22%)'
# off: '1801MiB / 7881MiB'
memory_percent="off"
# Change memory output unit.
#
# Default: 'mib'
# Values: 'kib', 'mib', 'gib'
# Flag: --memory_unit
#
# Example:
# kib '1020928KiB / 7117824KiB'
# mib '1042MiB / 6951MiB'
# gib: ' 0.98GiB / 6.79GiB'
memory_unit="gib"
# Packages
# Show/Hide Package Manager names.
#
# Default: 'tiny'
# Values: 'on', 'tiny' 'off'
# Flag: --package_managers
#
# Example:
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
# tiny: '908 (pacman, flatpak, snap)'
# off: '908'
package_managers="on"
# Shell
# Show the path to $SHELL
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --shell_path
#
# Example:
# on: '/bin/bash'
# off: 'bash'
shell_path="off"
# Show $SHELL version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --shell_version
#
# Example:
# on: 'bash 4.4.5'
# off: 'bash'
shell_version="on"
# CPU
# CPU speed type
#
# Default: 'bios_limit'
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
# Flag: --speed_type
# Supports: Linux with 'cpufreq'
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
speed_type="bios_limit"
# CPU speed shorthand
#
# Default: 'off'
# Values: 'on', 'off'.
# Flag: --speed_shorthand
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
#
# Example:
# on: 'i7-6500U (4) @ 3.1GHz'
# off: 'i7-6500U (4) @ 3.100GHz'
speed_shorthand="on"
# Enable/Disable CPU brand in output.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_brand
#
# Example:
# on: 'Intel i7-6500U'
# off: 'i7-6500U (4)'
cpu_brand="on"
# CPU Speed
# Hide/Show CPU speed.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --cpu_speed
#
# Example:
# on: 'Intel i7-6500U (4) @ 3.1GHz'
# off: 'Intel i7-6500U (4)'
cpu_speed="on"
# CPU Cores
# Display CPU cores in output
#
# Default: 'logical'
# Values: 'logical', 'physical', 'off'
# Flag: --cpu_cores
# Support: 'physical' doesn't work on BSD.
#
# Example:
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
# off: 'Intel i7-6500U @ 3.1GHz'
cpu_cores="logical"
# CPU Temperature
# Hide/Show CPU temperature.
# Note the temperature is added to the regular CPU function.
#
# Default: 'off'
# Values: 'C', 'F', 'off'
# Flag: --cpu_temp
# Supports: Linux, BSD
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
# coretemp kernel module. This only supports newer Intel processors.
#
# Example:
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
# off: 'Intel i7-6500U (4) @ 3.1GHz'
cpu_temp="C"
# GPU
# Enable/Disable GPU Brand
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gpu_brand
#
# Example:
# on: 'AMD HD 7950'
# off: 'HD 7950'
gpu_brand="on"
# Which GPU to display
#
# Default: 'all'
# Values: 'all', 'dedicated', 'integrated'
# Flag: --gpu_type
# Supports: Linux
#
# Example:
# all:
# GPU1: AMD HD 7950
# GPU2: Intel Integrated Graphics
#
# dedicated:
# GPU1: AMD HD 7950
#
# integrated:
# GPU1: Intel Integrated Graphics
gpu_type="all"
# Resolution
# Display refresh rate next to each monitor
# Default: 'off'
# Values: 'on', 'off'
# Flag: --refresh_rate
# Supports: Doesn't work on Windows.
#
# Example:
# on: '1920x1080 @ 60Hz'
# off: '1920x1080'
refresh_rate="on"
# Gtk Theme / Icons / Font
# Shorten output of GTK Theme / Icons / Font
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --gtk_shorthand
#
# Example:
# on: 'Numix, Adwaita'
# off: 'Numix [GTK2], Adwaita [GTK3]'
gtk_shorthand="off"
# Enable/Disable gtk2 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk2
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Adwaita [GTK3]'
gtk2="on"
# Enable/Disable gtk3 Theme / Icons / Font
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --gtk3
#
# Example:
# on: 'Numix [GTK2], Adwaita [GTK3]'
# off: 'Numix [GTK2]'
gtk3="on"
# IP Address
# Website to ping for the public IP
#
# Default: 'http://ident.me'
# Values: 'url'
# Flag: --ip_host
public_ip_host="http://ident.me"
# Public IP timeout.
#
# Default: '2'
# Values: 'int'
# Flag: --ip_timeout
public_ip_timeout=2
# Desktop Environment
# Show Desktop Environment version
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --de_version
de_version="on"
# Disk
# Which disks to display.
# The values can be any /dev/sdXX, mount point or directory.
# NOTE: By default we only show the disk info for '/'.
#
# Default: '/'
# Values: '/', '/dev/sdXX', '/path/to/drive'.
# Flag: --disk_show
#
# Example:
# disk_show=('/' '/dev/sdb1'):
# 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
#
# disk_show=('/'):
# 'Disk (/): 74G / 118G (66%)'
#
disk_show=('/')
# Disk subtitle.
# What to append to the Disk subtitle.
#
# Default: 'mount'
# Values: 'mount', 'name', 'dir', 'none'
# Flag: --disk_subtitle
#
# Example:
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
#
# mount: 'Disk (/): 74G / 118G (66%)'
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
#
# dir: 'Disk (/): 74G / 118G (66%)'
# 'Disk (Local Disk): 74G / 118G (66%)'
# 'Disk (Videos): 74G / 118G (66%)'
#
# none: 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)'
# 'Disk: 74G / 118G (66%)'
disk_subtitle="mount"
# Disk percent.
# Show/Hide disk percent.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --disk_percent
#
# Example:
# on: 'Disk (/): 74G / 118G (66%)'
# off: 'Disk (/): 74G / 118G'
disk_percent="on"
# Song
# Manually specify a music player.
#
# Default: 'auto'
# Values: 'auto', 'player-name'
# Flag: --music_player
#
# Available values for 'player-name':
#
# amarok
# audacious
# banshee
# bluemindo
# clementine
# cmus
# deadbeef
# deepin-music
# dragon
# elisa
# exaile
# gnome-music
# gmusicbrowser
# gogglesmm
# guayadeque
# io.elementary.music
# iTunes
# juk
# lollypop
# mocp
# mopidy
# mpd
# muine
# netease-cloud-music
# olivia
# playerctl
# pogo
# pragha
# qmmp
# quodlibet
# rhythmbox
# sayonara
# smplayer
# spotify
# strawberry
# tauonmb
# tomahawk
# vlc
# xmms2d
# xnoise
# yarock
music_player="auto"
# Format to display song information.
#
# Default: '%artist% - %album% - %title%'
# Values: '%artist%', '%album%', '%title%'
# Flag: --song_format
#
# Example:
# default: 'Song: Jet - Get Born - Sgt Major'
song_format="%artist% - %album% - %title%"
# Print the Artist, Album and Title on separate lines
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --song_shorthand
#
# Example:
# on: 'Artist: The Fratellis'
# 'Album: Costello Music'
# 'Song: Chelsea Dagger'
#
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
song_shorthand="off"
# 'mpc' arguments (specify a host, password etc).
#
# Default: ''
# Example: mpc_args=(-h HOST -P PASSWORD)
mpc_args=()
# Text Colors
# Text Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --colors
#
# Each number represents a different part of the text in
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
#
# Example:
# colors=(distro) - Text is colored based on Distro colors.
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
colors=(distro)
# Text Options
# Toggle bold text
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bold
bold="on"
# Enable/Disable Underline
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --underline
underline_enabled="on"
# Underline character
#
# Default: '-'
# Values: 'string'
# Flag: --underline_char
underline_char="-"
# Info Separator
# Replace the default separator with the specified string.
#
# Default: ':'
# Flag: --separator
#
# Example:
# separator="->": 'Shell-> bash'
# separator=" =": 'WM = dwm'
separator=":"
# Color Blocks
# Color block range
# The range of colors to print.
#
# Default: '0', '15'
# Values: 'num'
# Flag: --block_range
#
# Example:
#
# Display colors 0-7 in the blocks. (8 colors)
# neofetch --block_range 0 7
#
# Display colors 0-15 in the blocks. (16 colors)
# neofetch --block_range 0 15
block_range=(0 15)
# Toggle color blocks
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --color_blocks
color_blocks="on"
# Color block width in spaces
#
# Default: '3'
# Values: 'num'
# Flag: --block_width
block_width=3
# Color block height in lines
#
# Default: '1'
# Values: 'num'
# Flag: --block_height
block_height=1
# Color Alignment
#
# Default: 'auto'
# Values: 'auto', 'num'
# Flag: --col_offset
#
# Number specifies how far from the left side of the terminal (in spaces) to
# begin printing the columns, in case you want to e.g. center them under your
# text.
# Example:
# col_offset="auto" - Default behavior of neofetch
# col_offset=7 - Leave 7 spaces then print the colors
col_offset="auto"
# Progress Bars
# Bar characters
#
# Default: '-', '='
# Values: 'string', 'string'
# Flag: --bar_char
#
# Example:
# neofetch --bar_char 'elapsed' 'total'
# neofetch --bar_char '-' '='
bar_char_elapsed="-"
bar_char_total="="
# Toggle Bar border
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --bar_border
bar_border="on"
# Progress bar length in spaces
# Number of chars long to make the progress bars.
#
# Default: '15'
# Values: 'num'
# Flag: --bar_length
bar_length=15
# Progress bar colors
# When set to distro, uses your distro's logo colors.
#
# Default: 'distro', 'distro'
# Values: 'distro', 'num'
# Flag: --bar_colors
#
# Example:
# neofetch --bar_colors 3 4
# neofetch --bar_colors distro 5
bar_color_elapsed="distro"
bar_color_total="distro"
# Info display
# Display a bar with the info.
#
# Default: 'off'
# Values: 'bar', 'infobar', 'barinfo', 'off'
# Flags: --cpu_display
# --memory_display
# --battery_display
# --disk_display
#
# Example:
# bar: '[---=======]'
# infobar: 'info [---=======]'
# barinfo: '[---=======] info'
# off: 'info'
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
# Backend Settings
# Image backend.
#
# Default: 'ascii'
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
# Flag: --backend
image_backend="ascii"
# Image Source
#
# Which image or ascii file to display.
#
# Default: 'auto'
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
# Flag: --source
#
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
# In ascii mode, distro ascii art will be used and in an image mode, your
# wallpaper will be used.
image_source="auto"
# Ascii Options
# Ascii distro
# Which distro's ascii art to display.
#
# Default: 'auto'
# Values: 'auto', 'distro_name'
# Flag: --ascii_distro
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
# and IRIX have ascii logos
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
# Use '{distro name}_old' to use the old logos.
# NOTE: Ubuntu has flavor variants.
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
# postmarketOS, and Void have a smaller logo variant.
# Use '{distro name}_small' to use the small variants.
ascii_distro="GNU"
# Ascii Colors
#
# Default: 'distro'
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
# Flag: --ascii_colors
#
# Example:
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
ascii_colors=(distro)
# Bold ascii logo
# Whether or not to bold the ascii logo.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --ascii_bold
ascii_bold="on"
# Image Options
# Image loop
# Setting this to on will make neofetch redraw the image constantly until
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
#
# Default: 'off'
# Values: 'on', 'off'
# Flag: --loop
image_loop="off"
# Thumbnail directory
#
# Default: '~/.cache/thumbnails/neofetch'
# Values: 'dir'
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
# Crop mode
#
# Default: 'normal'
# Values: 'normal', 'fit', 'fill'
# Flag: --crop_mode
#
# See this wiki page to learn about the fit and fill options.
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
crop_mode="normal"
# Crop offset
# Note: Only affects 'normal' crop mode.
#
# Default: 'center'
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
# 'east', 'southwest', 'south', 'southeast'
# Flag: --crop_offset
crop_offset="center"
# Image size
# The image is half the terminal width by default.
#
# Default: 'auto'
# Values: 'auto', '00px', '00%', 'none'
# Flags: --image_size
# --size
image_size="auto"
# Gap between image and text
#
# Default: '3'
# Values: 'num', '-num'
# Flag: --gap
gap=3
# Image offsets
# Only works with the w3m backend.
#
# Default: '0'
# Values: 'px'
# Flags: --xoffset
# --yoffset
yoffset=0
xoffset=0
# Image background color
# Only works with the w3m backend.
#
# Default: ''
# Values: 'color', 'blue'
# Flag: --bg_color
background_color=
# Misc Options
# Stdout mode
# Turn off all colors and disables image backend (ASCII/Image).
# Useful for piping into another command.
# Default: 'off'
# Values: 'on', 'off'
stdout="off"

140
nix/hosts/dots/nvim/init.lua Executable file
View file

@ -0,0 +1,140 @@
-- ===================================
-- | General Neovim Configuration |
-- ===================================
-- I won't lie to you, I vibecoded the boilerplate for this stuff.
-- Aside from Emacs, I don't really like having to configure my editors
-- very much. Basic understanding of the config is all I really prioritize.
vim.opt.number = true -- Show line numbers
vim.opt.relativenumber = true -- Show relative line numbers
vim.opt.tabstop = 2 -- A tab is 2 spaces
vim.opt.shiftwidth = 2 -- Indent is 2 spaces
vim.opt.expandtab = true -- Use spaces instead of tabs
vim.opt.termguicolors = true -- Enable terminal colors
vim.opt.scrolloff = 8 -- Lines above/below cursor
vim.opt.signcolumn = "yes" -- Always show the sign column
-- Set the leader key to space. This is a crucial step for custom mappings.
vim.g.mapleader = " "
-- ====================================
-- | Plugin Management with lazy.nvim |
-- ====================================
-- The configuration below bootstraps lazy.nvim if it's not already installed.
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- Setup the plugins you need.
require("lazy").setup({
-- For background transparency
{ 'xiyaowong/transparent.nvim' },
-- === The colorscheme plugin is specified here. ===
-- Gruvbox theme plugin. It will be automatically installed by lazy.nvim.
{ 'ellisonleao/gruvbox.nvim', config = function()
-- Ensure the background is set to 'dark' for the gruvbox colorscheme.
vim.o.background = 'dark'
-- Load the colorscheme.
vim.cmd.colorscheme("gruvbox")
end },
-- Treesitter plugin for syntax highlighting.
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
-- Autocomplete plugins
{ "hrsh7th/nvim-cmp" },
{ "hrsh7th/cmp-nvim-lsp" },
{ "L3MON4D3/LuaSnip" },
{ "neovim/nvim-lspconfig" },
-- Plugin to automatically close paired characters like (), {}, [], and ""
{ 'echasnovski/mini.pairs' },
-- File tree and icon plugins
{
'nvim-tree/nvim-tree.lua',
version = '*',
lazy = false,
dependencies = {
'nvim-tree/nvim-web-devicons',
},
config = function()
-- The setup call for the nvim-tree plugin.
require('nvim-tree').setup {}
end
},
})
-- Transparent configuration
require('transparent').setup({
enable = true, -- boolean: enable transparent
extra_groups = { -- table: additional groups to clear
'Normal', 'NormalNC', 'Comment', 'Constant', 'Identifier',
'Statement', 'PreProc', 'Type', 'Special', 'Underlined',
'Todo', 'String', 'Function', 'Conditional', 'Repeat',
'Operator', 'Structure', 'LineNr', 'SignColumn', 'EndOfBuffer'
},
})
-- Treesitter configuration.
require("nvim-treesitter.configs").setup({
highlight = { enable = true },
-- You can specify languages to install with `ensure_installed`.
-- e.g., ensure_installed = { "lua", "python", "javascript" },
})
-- Autocomplete (cmp) configuration.
local cmp = require("cmp")
cmp.setup({
snippet = {
expand = function(args) require("luasnip").lsp_expand(args.body) end,
},
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping.select_next_item(),
["<S-Tab>"] = cmp.mapping.select_prev_item(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = {
{ name = "nvim_lsp" },
},
})
-- Mini.pairs configuration.
-- This simple setup is all that's needed for the basic functionality.
require('mini.pairs').setup({})
-- ===================================
-- | Custom Keymaps |
-- ===================================
-- Keymaps are custom commands mapped to a specific key combination.
-- The "<leader>" prefix will be replaced with your leader key, which is "space".
-- Split creation keymaps
vim.keymap.set('n', '<leader>sv', ':vsplit<CR>', { desc = 'Create a vertical split' })
vim.keymap.set('n', '<leader>ss', ':split<CR>', { desc = 'Create a horizontal split' })
-- Buffer navigation
-- <leader>bh/j/k/l to navigate between buffers
vim.keymap.set('n', '<leader>bh', ':bprev<CR>', { desc = 'Go to previous buffer' })
vim.keymap.set('n', '<leader>bl', ':bnext<CR>', { desc = 'Go to next buffer' })
-- The following mappings are less common, but fulfill your request.
vim.keymap.set('n', '<leader>bj', ':bnext<CR>', { desc = 'Go to next buffer' })
vim.keymap.set('n', '<leader>bk', ':bprev<CR>', { desc = 'Go to previous buffer' })
-- Split navigation
-- <leader>sh/j/k/l to move between splits
vim.keymap.set('n', '<leader>sh', '<C-w>h', { desc = 'Move to left split' })
vim.keymap.set('n', '<leader>sj', '<C-w>j', { desc = 'Move to split below' })
vim.keymap.set('n', '<leader>sk', '<C-w>k', { desc = 'Move to split above' })
vim.keymap.set('n', '<leader>sl', '<C-w>l', { desc = 'Move to right split' })
-- Normal mode keymaps
-- Save the current file.
vim.keymap.set('n', '<leader>w', ':w<CR>', { desc = 'Save file' })
-- Force quit the current window without saving.
vim.keymap.set('n', '<leader>q', ':q!<CR>', { desc = 'Force quit window' })
-- Save and quit.
vim.keymap.set('n', '<leader>x', ':wq<CR>', { desc = 'Save and quit' })
-- Save all open buffers.
vim.keymap.set('n', '<leader>wa', ':wa<CR>', { desc = 'Save all buffers' })
-- Close all windows except the current one.
vim.keymap.set('n', '<leader>o', ':only<CR>', { desc = 'Close all other windows' })
-- Toggle the file tree.
vim.keymap.set('n', '<leader>e', ':NvimTreeToggle<CR>', { desc = 'Toggle file tree' })
-- Select the entire file content.
vim.keymap.set('n', '<leader>a', 'ggVG', { desc = 'Select entire file' })
-- Various commands to compile different file types.
-- Groff => PDF
vim.keymap.set('n', '<leader>cg', ':!groff -ms -e %:t -T pdf > %:r.pdf<CR>', { desc = 'Compile Groff file to PDF' })
-- Typst => PDF
vim.keymap.set('n', '<leader>ct', ':!typst compile %:t<CR>', { desc = 'Compile Typst file to PDF'} )
-- Keybinding to toggle transparency
vim.api.nvim_set_keymap('n', '<leader>tt', ':TransparentToggle<CR>', { noremap = true, silent = true })

250
nix/hosts/dots/waybar/config Executable file
View file

@ -0,0 +1,250 @@
[{
"height": 40,
"spacing": 5,
"modules-left": [
"group/Utilities",
"group/workspaces",
"mpris"
],
"modules-center": [
"group/windows"
],
"modules-right": [
"group/cpuram",
"group/system"
],
"custom/openbracket": {
"format": "[",
"tooltip": false
},
"custom/closebracket": {
"format": "]",
"tooltip": false
},
"custom/split": {
"format": "|",
"tooltip": false
},
"group/Utilities":{
"orientation": "horizontal",
"modules":[
"custom/openbracket",
"idle_inhibitor",
"custom/split",
"custom/closebracket"
]
},
"group/workspaces":{
"orientation": "horizontal",
"modules":[
"hyprland/workspaces",
]
},
"hyprland/workspaces": {
"all-outputs": true,
"warp-on-scroll": false,
"enable-bar-scroll": true,
"disable-scroll-wraparound": true,
"active-only": false,
"format": "{icon}",
"format-icons": {
"1": "I",
"2": "II",
"3": "III",
"4": "IV",
"5": "V",
"6": "VI",
"7": "VII",
"8": "VIII",
"9": "IX",
"10": "X",
"default": "•"
}
},
"mpris": {
"format": "[  {status_icon} | {dynamic} ]",
"interval": 1,
"dynamic-len": 40,
"status-icons": {
"playing": "▶",
"paused": "⏸",
"stopped": ""
},
"dynamic-order": ["artist"]
},
"group/windows": {
"orientation":"horizontal",
"modules":[
"custom/openbracket",
"hyprland/window",
"custom/closebracket"
]
},
"hyprland/window": {
"format": "{title}",
"max-length": 40,
"min-length": 20,
"all-outputs": true
},
"group/cpuram": {
"orientation": "horizontal",
"modules": [
"custom/openbracket",
"cpu",
"custom/split",
"memory",
"custom/closebracket"
]
},
"cpu": {
"format": "CPU:{usage}%",
"tooltip": false,
"interval": 2,
"on-click": "kitty -e btop",
},
"memory":{
"format": "RAM:{}%",
"tooltip": false,
"interval": 2,
"on-click": "kitty -e btop",
},
"group/brightvol": {
"orientation": "horizontal",
"modules": [
"custom/openbracket",
"backlight",
"custom/split",
"wireplumber",
"custom/closebracket"
]
},
"wireplumber": {
"scroll-step": 5,
"format": "{icon}{volume}%",
"format-bluetooth": "{icon}{volume}% ",
"format-bluetooth-muted": " {icon}",
"format-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": [" :", " :", " :"]
},
"on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"on-click-right": "pavucontrol"
},
"backlight": {
"format": "{icon}:{percent}%",
"format-icons": ["", "", "🌙"],
"on-click": "~/.config/waybar/scripts/brightness_slider.sh"
},
"group/system": {
"orientation": "horizontal",
"modules": [
"custom/openbracket",
"clock",
"custom/split",
"network",
"custom/bluetooth",
"custom/clipboard",
"battery",
"custom/swaync",
"custom/closebracket"
]
},
"clock": {
"format": "{:%I:%M}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"onclick" : "kalender"
},
"custom/clipboard": {
"format": "",
"tooltip": false,
"on-click": "~/.config/waybar/scripts/clipboard_menu.sh"
},
"battery": {
"states": {
"warning": 30,
"critical": 15
},
"format": "{icon} {capacity}%",
"format-full": "{icon} {capacity}%",
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-icons": ["", "", "", "", ""],
"on-click": "wlogout"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"custom/swaync": {
"format": "",
"exec": "swaync-client -swb",
"on-click": "swaync-client --toggle-panel",
"interval": 0
},
"network": {
"interface": "wlan0",
"format-wifi": "{icon}",
"format-ethernet": "󰈀 LAN",
"format-disconnected": "󰖪",
"tooltip-format": "{ipaddr}\n{ssid} ({signalStrength}%)",
"on-click": "kitty -e nmtui",
"format-icons": [ "󰤯", "󰤟", "󰤢", "󰤥", "󰤨" ]
},
"custom/bluetooth": {
"format": "{}",
"exec": "~/.config/waybar/scripts/bluetooth_status.sh",
"interval": 5,
"on-click": "blueman-manager"
},
"group/clock": {
"orientation": "horizontal",
"modules": [
"custom/openbracket",
"clock",
"custom/closebracket"
]
},
"custom/cava": {
"exec": "~/.config/waybar/scripts/cava_wrapper.sh",
"format": "♪ {}",
"restart-interval": 1,
"max-length": 50,
"on-click": "pkill cava"
},
"tray": {
"icon-size": 14,
"spacing": 10
},
"custom/notifications": {
"format": "",
"tooltip": false,
"on-click": "~/.config/waybar/scripts/notification_center.sh"
}
}]

193
nix/hosts/dots/waybar/style.css Executable file
View file

@ -0,0 +1,193 @@
/* colors defined at top for easy configuring */
@define-color background #2C2A24;
@define-color second-background #3A372F;
@define-color text #DDD5C4;
@define-color borders #A0907A;
@define-color focused #D08B57;
@define-color focused2 #BFAA80;
@define-color color1 #7699A3;
@define-color color2 #8D7AAE;
@define-color color3 #78997A;
@define-color urgent #B05A5A;
/* font declared */
* {
font-family: "Miracode";
font-size: 15px;
}
#custom-openbracket,
#custom-closebracket{
margin: 0 5px ;
}
/* idk what all this does */
window#waybar {
background-color: transparent;
border-bottom: 0;
color: @text;
transition: background-color 0.5s;
}
window#waybar.hidden {
opacity: 0.2;
}
window#waybar.empty #window {
background-color: transparent;
}
/* configuring the modules */
.modules-left {
margin: 10px 0 0 10px;
padding: 0 0 0 7px;
background-color: @background;
border: 2px solid @focused;
border-radius: 5px;
}
.modules-center {
margin: 10px 0 0 0;
padding: 0 10px 0 10px;
background-color: @background;
border: 2px solid @focused;
border-radius: 5px;
}
.modules-right {
margin: 10px 10px 0 0;
padding: 0 10px 0 10px;
background-color: @background;
border: 2px solid @focused;
border-radius: 5px;
}
/* whats this?? */
button {
border: none;
}
/* left island */
/* menu pannel */
#custom-arch,
#custom-powerprofile,
#custom-themeswitcher{
padding-right: 10px;
padding-left: 5px;
font-size: 15px;
border-radius: 8px;
}
#custom-arch:hover {
color: @color1;
}
#custom-powerprofile:hover{
color: @color1
}
#custom-themeswitcher:hover {
color: @color1;
}
/* workspace pannel */
#workspaces button {
padding: 0 2px;
background-color: transparent;
color: @text;
border-radius: 0;
}
#workspaces button:hover {
background-color: @second-background;
}
#workspaces button.active {
color: @focused2;
background-color: @second-background;
}
#workspaces button.urgent {
background-color: @urgent;
}
/* no idea what this does */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
/* media player */
#mpris {
margin: 0 0 0 5px;
padding: 0 9px ;
background-color: @background;
color: @text;
}
#mpris.playing {
background-color: @color3;
border-radius: 2px;
color: @background;
}
/* center module */
#window{
padding: 0 5px;
}
/* Right Island */
/* module general styles */
#clock,
#battery,
#cpu,
#memory,
#custom-clipboard,
#custom-bluetooth,
#network {
padding: 0 10px ;
}
#clock:hover,
#battery:hover,
#custom-cpu:hover,
#custom-clipboard:hover,
#custom-bluetooth:hover,
#network:hover,
#idle_inhibitor:hover,
#custom-swaync:hover,
#backlight:hover,
#wireplumber:hover{
color: @color1;
}
#idle_inhibitor{
padding: 0 10px 0 0;
}
#custom-powerprofile{
padding: 0 8px 0 4px;
}
/* Remaining Modules */
#backlight,
#wireplumber{
padding: 0 5px;
}
#wireplumber.muted {
background-color: @color2;
}
#custom-swaync {
padding: 0 10px 0 5px;
font-size: 16px; /* same scale as other icons */
color: @text;
}
#battery.charging,
#battery.plugged {
background-color: @focused2 ;
color: @background;
}
#battery.critical:not(.charging) {
background-color: @urgent;
color: @text;
animation: blink 0.5s steps(12) infinite alternate;
}
@keyframes blink {
to {
background-color: @second-background;
color: @text;
}
}