finished flake
This commit is contained in:
parent
d0522cb15c
commit
84f303eed6
21 changed files with 1540 additions and 149 deletions
18
modules/polybar/colors.ini
Executable file
18
modules/polybar/colors.ini
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
[colors]
|
||||
background = #282a36
|
||||
current-line = #44475a
|
||||
foreground = #f8f8f2
|
||||
comment = #6272a4
|
||||
|
||||
cyan = #8be9fd
|
||||
green = #50fa7b
|
||||
orange = #ffb86c
|
||||
pink = #ff79c6
|
||||
purple = #bd93f9
|
||||
red = #ff5555
|
||||
yellow = #f1fa8c
|
||||
|
||||
foreground-alt = ${self.foreground}
|
||||
background-alt = #1E2029
|
||||
primary = ${self.pink}
|
||||
secondary = ${self.green}
|
||||
281
modules/polybar/config.ini
Executable file
281
modules/polybar/config.ini
Executable file
|
|
@ -0,0 +1,281 @@
|
|||
; Global WM Settings
|
||||
|
||||
[global/wm]
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||
; Used for top aligned bars
|
||||
margin-bottom = 0
|
||||
|
||||
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||
; Used for bottom aligned bars
|
||||
margin-top = 0
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
;; File Inclusion
|
||||
; include an external file, like module file, etc.
|
||||
|
||||
#include-file = ~/.config/polybar/colors.ini
|
||||
#include-file = ~/.config/polybar/modules.ini
|
||||
#include-file = ~/.config/polybar/custom/modules.ini
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
[bar/bottom]
|
||||
; Use either of the following command to list available outputs:
|
||||
; If unspecified, the application will pick the first one it finds.
|
||||
; $ polybar -m | cut -d ':' -f 1
|
||||
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||
monitor = ${env:MONITOR}
|
||||
|
||||
; Use the specified monitor as a fallback if the main one is not found.
|
||||
monitor-fallback =
|
||||
|
||||
; Require the monitor to be in connected state
|
||||
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||
monitor-strict = false
|
||||
|
||||
; Tell the Window Manager not to configure the window.
|
||||
; Use this to detach the bar if your WM is locking its size/position.
|
||||
override-redirect = false
|
||||
|
||||
; Put the bar at the bottom of the screen
|
||||
bottom = true
|
||||
|
||||
; Prefer fixed center position for the `modules-center` block
|
||||
; When false, the center position will be based on the size of the other blocks.
|
||||
fixed-center = true
|
||||
|
||||
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||
width = 100%
|
||||
height = 25
|
||||
|
||||
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
; the percentage can optionally be extended with a pixel offset like so:
|
||||
; 50%:-10, this will result in an offset in the x or y direction
|
||||
; of 50% minus 10 pixels
|
||||
offset-x = 0%
|
||||
offset-y = 0%
|
||||
|
||||
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
background = ${colors.background-alt}
|
||||
|
||||
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
; Background gradient (vertical steps)
|
||||
; background-[0-9]+ = #aarrggbb
|
||||
;;background-0 =
|
||||
|
||||
; Value used for drawing rounded corners
|
||||
; Note: This shouldn't be used together with border-size because the border
|
||||
; doesn't get rounded
|
||||
; Individual top/bottom values can be defined using:
|
||||
; radius-{top,bottom}
|
||||
radius-top = 0.0
|
||||
radius-bottom = 0.0
|
||||
|
||||
; Under-/overline pixel size and argb color
|
||||
; Individual values can be defined using:
|
||||
; {overline,underline}-size
|
||||
; {overline,underline}-color
|
||||
line-size = 3
|
||||
line-color = ${colors.pink}
|
||||
|
||||
; Values applied to all borders
|
||||
; Individual side values can be defined using:
|
||||
; border-{left,top,right,bottom}-size
|
||||
; border-{left,top,right,bottom}-color
|
||||
; The top and bottom borders are added to the bar height, so the effective
|
||||
; window height is:
|
||||
; height + border-top-size + border-bottom-size
|
||||
; Meanwhile the effective window width is defined entirely by the width key and
|
||||
; the border is placed withing this area. So you effectively only have the
|
||||
; following horizontal space on the bar:
|
||||
; width - border-right-size - border-left-size
|
||||
border-size = 0
|
||||
border-bottom-color = ${colors.pink}
|
||||
|
||||
; Number of spaces to add at the beginning/end of the bar
|
||||
; Individual side values can be defined using:
|
||||
; padding-{left,right}
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
|
||||
; Number of spaces to add before/after each module
|
||||
; Individual side values can be defined using:
|
||||
; module-margin-{left,right}
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; Fonts are defined using <font-name>;<vertical-offset>
|
||||
; Font names are specified using a fontconfig pattern.
|
||||
; font-0 = NotoSans-Regular:size=8;2
|
||||
; font-1 = MaterialIcons:size=10
|
||||
; font-2 = Termsynu:size=8;-1
|
||||
; font-3 = FontAwesome:size=10
|
||||
; See the Fonts wiki page for more details
|
||||
|
||||
font-0 = "FiraCode Nerd Font:size=11;0"
|
||||
|
||||
; Modules are added to one of the available blocks
|
||||
; modules-left = cpu ram
|
||||
; modules-center = xwindow xbacklight
|
||||
; modules-right = ipc clock
|
||||
|
||||
modules-left = cpu memory wlan eth battery
|
||||
modules-center = bspwm
|
||||
modules-right = pulseaudio date powermenu
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
; The separator will be inserted between the output of each module
|
||||
separator =
|
||||
|
||||
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||
dim-value = 1.0
|
||||
|
||||
; Value to be used to set the WM_NAME atom
|
||||
; If the value is empty or undefined, the atom value
|
||||
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||
; NOTE: The placeholders are not available for custom values
|
||||
wm-name =
|
||||
|
||||
; Locale used to localize various module data (e.g. date)
|
||||
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||
locale =
|
||||
|
||||
; Position of the system tray window
|
||||
; If empty or undefined, tray support will be disabled
|
||||
; NOTE: A center aligned tray will cover center aligned modules
|
||||
;
|
||||
; Available positions:
|
||||
; left
|
||||
; center
|
||||
; right
|
||||
; none
|
||||
tray-position = right
|
||||
|
||||
; If true, the bar will not shift its
|
||||
; contents when the tray changes
|
||||
tray-detached = false
|
||||
|
||||
; Tray icon max size
|
||||
tray-maxsize = 16
|
||||
|
||||
; Background color for the tray container
|
||||
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||
; By default the tray container will use the bar
|
||||
; background color.
|
||||
tray-background = ${colors.background-alt}
|
||||
|
||||
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||
tray-offset-x = 0
|
||||
tray-offset-y = 0
|
||||
|
||||
; Pad the sides of each tray icon
|
||||
tray-padding = 2
|
||||
|
||||
; Scale factor for tray clients
|
||||
tray-scale = 1.0
|
||||
|
||||
; Restack the bar window and put it above the
|
||||
; selected window manager's root
|
||||
;
|
||||
; Fixes the issue where the bar is being drawn
|
||||
; on top of fullscreen window's
|
||||
;
|
||||
; Currently supported WM's:
|
||||
; bspwm
|
||||
; i3 (requires: `override-redirect = true`)
|
||||
wm-restack = bspwm
|
||||
|
||||
; Set a DPI values used when rendering text
|
||||
; This only affects scalable fonts
|
||||
; dpi =
|
||||
|
||||
; Enable support for inter-process messaging
|
||||
; See the Messaging wiki page for more details.
|
||||
enable-ipc = true
|
||||
|
||||
; Fallback click handlers that will be called if
|
||||
; there's no matching module handler found.
|
||||
click-left =
|
||||
click-middle =
|
||||
click-right =
|
||||
scroll-up =
|
||||
scroll-down =
|
||||
double-click-left =
|
||||
double-click-middle =
|
||||
double-click-right =
|
||||
|
||||
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||
; Possible values are:
|
||||
; - default : The default pointer as before, can also be an empty string (default)
|
||||
; - pointer : Typically in the form of a hand
|
||||
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
;; WM Workspace Specific
|
||||
|
||||
; bspwm
|
||||
;;scroll-up = #bspwm.next
|
||||
;;scroll-down = #bspwm.prev
|
||||
;;scroll-up = bspc desktop -f prev.local
|
||||
;;scroll-down = bspc desktop -f next.local
|
||||
|
||||
;i3
|
||||
;;scroll-up = i3wm-wsnext
|
||||
;;scroll-down = i3wm-wsprev
|
||||
;;scroll-up = i3-msg workspace next_on_output
|
||||
;;scroll-down = i3-msg workspace prev_on_output
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
|
||||
|
||||
;; Application Settings
|
||||
|
||||
[settings]
|
||||
; The throttle settings lets the eventloop swallow up til X events
|
||||
; if they happen within Y millisecond after first event was received.
|
||||
; This is done to prevent flood of update event.
|
||||
;
|
||||
; For example if 5 modules emit an update event at the same time, we really
|
||||
; just care about the last one. But if we wait too long for events to swallow
|
||||
; the bar would appear sluggish so we continue if timeout
|
||||
; expires or limit is reached.
|
||||
throttle-output = 5
|
||||
throttle-output-for = 10
|
||||
|
||||
; Time in milliseconds that the input handler will wait between processing events
|
||||
;throttle-input-for = 30
|
||||
|
||||
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||
screenchange-reload = true
|
||||
; Compositing operators
|
||||
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||
;;compositing-background = source
|
||||
;;compositing-foreground = over
|
||||
;;compositing-overline = over
|
||||
;;compositing-underline = over
|
||||
;;compositing-border = over
|
||||
|
||||
; Define fallback values used by all module formats
|
||||
;format-foreground =
|
||||
;format-background =
|
||||
;format-underline =
|
||||
;format-overline =
|
||||
;format-spacing =
|
||||
;format-padding =
|
||||
;format-margin =
|
||||
;format-offset =
|
||||
|
||||
; Enables pseudo-transparency for the bar
|
||||
; If set to true the bar can be transparent without a compositor.
|
||||
pseudo-transparency = false
|
||||
|
||||
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||
19
modules/polybar/default.nix
Normal file
19
modules/polybar/default.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
base = {
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
script = ''for m in $(polybar --list-monitors | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
||||
MONITOR=$m polybar --reload bottom &
|
||||
done
|
||||
'';
|
||||
config = ./config.ini;
|
||||
extraConfig = builtins.readFile ./modules.ini +
|
||||
builtins.readFile ./colors.ini;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
home-manager.users.moritz = {...}: (base);
|
||||
}
|
||||
224
modules/polybar/modules.ini
Executable file
224
modules/polybar/modules.ini
Executable file
|
|
@ -0,0 +1,224 @@
|
|||
[module/battery]
|
||||
type= internal/battery
|
||||
battery= BATT
|
||||
adapter= ACAD
|
||||
|
||||
; see "man date" for details on how to format the time string
|
||||
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||
; Default: %H:%M:%S
|
||||
time-format = %H:%M
|
||||
|
||||
; Available tags:
|
||||
; <label-charging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-charging>
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = ${colors.green}
|
||||
|
||||
; Available tags:
|
||||
; <label-discharging> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
; <animation-discharging>
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${colors.red}
|
||||
|
||||
; Available tags:
|
||||
; <label-full> (default)
|
||||
; <bar-capacity>
|
||||
; <ramp-capacity>
|
||||
format-full = <label-full>
|
||||
format-full-underline = ${colors.green}
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
; %time%
|
||||
; %consumption% (shows current charge rate in watts)
|
||||
label-charging = %percentage%% %time% remaining
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
; %time%
|
||||
; %consumption% (shows current discharge rate in watts)
|
||||
label-discharging = %percentage%% %time% remaining
|
||||
|
||||
; Available tokens:
|
||||
; %percentage% (default) - is set to 100 if full-at is reached
|
||||
; %percentage_raw%
|
||||
label-full = Fully charged
|
||||
|
||||
; Only applies if <ramp-capacity> is used
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
|
||||
; Only applies if <bar-capacity> is used
|
||||
bar-capacity-width = 10
|
||||
|
||||
; Only applies if <animation-charging> is used
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-charging-framerate = 750
|
||||
|
||||
; Only applies if <animation-discharging> is used
|
||||
animation-discharging-0 =
|
||||
animation-discharging-1 =
|
||||
animation-discharging-2 =
|
||||
animation-discharging-3 =
|
||||
animation-discharging-4 =
|
||||
; Framerate in milliseconds
|
||||
animation-discharging-framerate = 500
|
||||
|
||||
[module/bspwm]
|
||||
type = internal/bspwm
|
||||
|
||||
reverse-scroll = false
|
||||
|
||||
label-focused =
|
||||
label-focused-foreground = ${colors.purple}
|
||||
label-focused-padding = 1
|
||||
|
||||
label-occupied =
|
||||
label-occupied-foreground = ${colors.comment}
|
||||
label-occupied-padding = 1
|
||||
|
||||
label-urgent =
|
||||
label-urgent-foreground = ${colors.red}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty =
|
||||
label-empty-foreground = ${colors.comment}
|
||||
; label-empty-background = ${colors.pink}
|
||||
label-empty-padding = 1
|
||||
|
||||
label-separator = " "
|
||||
label-separator-foreground = ${colors.cyan}
|
||||
label-separator-padding = 1
|
||||
|
||||
pin-workspaces = true
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.red}
|
||||
format-underline = ${colors.red}
|
||||
label = %percentage:2%%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 5
|
||||
|
||||
date = "%A"
|
||||
date-alt = " %Y-%m-%d"
|
||||
|
||||
time = %H:%M
|
||||
time-alt = %H:%M:%S
|
||||
|
||||
format-underline = ${colors.purple}
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/eth]
|
||||
type = internal/network
|
||||
interface = enp42s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = ${colors.purple}
|
||||
label-connected = "%upspeed% %downspeed%"
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.green}
|
||||
format-underline = ${colors.green}
|
||||
|
||||
label = %percentage_used%%
|
||||
click-left=kitty bpytop
|
||||
|
||||
[module/powermenu]
|
||||
type = custom/menu
|
||||
|
||||
expand-right = false
|
||||
|
||||
format-spacing = 1
|
||||
|
||||
label-open = ""
|
||||
label-open-foreground = ${colors.orange}
|
||||
label-close = ""
|
||||
label-close-foreground = ${colors.red}
|
||||
label-separator = |
|
||||
label-separator-foreground = ${colors.cyan}
|
||||
|
||||
menu-0-0 = " "
|
||||
menu-0-0-exec = #powermenu.open.1
|
||||
menu-0-1 = " "
|
||||
menu-0-1-exec = #powermenu.open.2
|
||||
menu-0-2 = " "
|
||||
menu-0-2-exec = #powermenu.open.3
|
||||
|
||||
menu-1-0 = " "
|
||||
menu-1-0-exec = systemctl reboot
|
||||
|
||||
menu-2-0 = " "
|
||||
menu-2-0-exec = systemctl poweroff
|
||||
|
||||
menu-3-0 = " "
|
||||
menu-3-0-exec = systemctl hibernate
|
||||
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume = %percentage%%
|
||||
label-volume-foreground = ${colors.foreground}
|
||||
|
||||
label-muted = " muted"
|
||||
label-muted-foreground = ${colors.foreground-alt}
|
||||
|
||||
bar-volume-width = 12
|
||||
bar-volume-foreground-0 = ${colors.green}
|
||||
bar-volume-foreground-1 = ${colors.green}
|
||||
bar-volume-foreground-2 = ${colors.green}
|
||||
bar-volume-foreground-3 = ${colors.green}
|
||||
bar-volume-foreground-4 = ${colors.green}
|
||||
bar-volume-foreground-5 = ${colors.orange}
|
||||
bar-volume-foreground-6 = ${colors.orange}
|
||||
bar-volume-foreground-7 = ${colors.orange}
|
||||
bar-volume-foreground-8 = ${colors.red}
|
||||
bar-volume-gradient = true
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = -
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = -
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground}
|
||||
|
||||
click-middle=pavucontrol
|
||||
click-right=~/bin/cycle_sinks.sh
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp1s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected-underline = ${colors.purple}
|
||||
label-connected = "%upspeed% %downspeed%"
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
format = <label>
|
||||
label = %title:0:30:...%
|
||||
format-underline = ${colors.orange}
|
||||
Loading…
Add table
Add a link
Reference in a new issue