WIP
This commit is contained in:
parent
1ff03eb4ca
commit
fe0993358b
10 changed files with 515 additions and 88 deletions
326
dunst/.config/dunst/dunstrc
Normal file
326
dunst/.config/dunst/dunstrc
Normal file
|
@ -0,0 +1,326 @@
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = 2
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
follow = none
|
||||||
|
|
||||||
|
# The geometry of the window:
|
||||||
|
# [{width}]x{height}[+/-{x}+/-{y}]
|
||||||
|
# The geometry of the message window.
|
||||||
|
# The height is measured in number of notifications everything else
|
||||||
|
# in pixels. If the width is omitted but the height is given
|
||||||
|
# ("-geometry x2"), the message window expands over the whole screen
|
||||||
|
# (dmenu-like). If width is 0, the window expands to the longest
|
||||||
|
# message displayed. A positive x is measured from the left, a
|
||||||
|
# negative from the right side of the screen. Y is measured from
|
||||||
|
# the top and down respectively.
|
||||||
|
# The width can be negative. In this case the actual width is the
|
||||||
|
# screen width minus the width defined in within the geometry option.
|
||||||
|
geometry = "300x5-30+20"
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of geometry).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
|
# width is 0.
|
||||||
|
shrink = no
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
|
transparency = 20
|
||||||
|
|
||||||
|
# The height of the entire notification. If the height is smaller
|
||||||
|
# than the font height and padding combined, it will be raised
|
||||||
|
# to the font height and padding.
|
||||||
|
notification_height = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 6
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 6
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 2
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#6272A4"
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = auto
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# Transient notifications ignore this setting.
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Hack 10
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<big>%s</big> <i>%a</i>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Split notifications into multiple lines if they don't fit into
|
||||||
|
# geometry.
|
||||||
|
word_wrap = yes
|
||||||
|
|
||||||
|
# When word_wrap is set to no, specify where to ellipsize long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Merge multiple notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of merged notifications with the same content
|
||||||
|
hide_duplicate_count = false
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = yes
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 128
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = /run/current-system/sw/share/icons/hicolor/128x128/status:/run/current-system/sw/share/icons/hicolor/128x128/devices:/run/current-system/sw/share/icons/hicolor/128x128/actions:/usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
|
||||||
|
# dmenu path.
|
||||||
|
dmenu = /run/current-system/sw/bin/dmenu -p dunst:
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /etc/profiles/per-user/hactario/bin/firefox -new-tab
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Print a notification on startup.
|
||||||
|
# This is mainly for error detection, since dbus (re-)starts dunst
|
||||||
|
# automatically after a crash.
|
||||||
|
startup_notification = true
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
# Shortcuts are specified as [modifier+][modifier+]...key
|
||||||
|
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
|
||||||
|
# "mod3" and "mod4" (windows-key).
|
||||||
|
# Xev might be helpful to find names for keys.
|
||||||
|
|
||||||
|
# Close notification.
|
||||||
|
close = ctrl+mod1+space
|
||||||
|
|
||||||
|
# Close all notifications.
|
||||||
|
close_all = ctrl+shift+space
|
||||||
|
|
||||||
|
# Redisplay last message(s).
|
||||||
|
# On the US keyboard layout "grave" is normally above TAB and left
|
||||||
|
# of "1". Make sure this key actually exists on your keyboard layout,
|
||||||
|
# e.g. check output of 'xmodmap -pke'
|
||||||
|
history = ctrl+dead_acute
|
||||||
|
|
||||||
|
# Context menu.
|
||||||
|
context = ctrl+shift+period
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
|
background = "#282A36"
|
||||||
|
foreground = "#F8F8F2"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#44475A"
|
||||||
|
foreground = "#F8F8F2"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#6272A4"
|
||||||
|
foreground = "#FF5555"
|
||||||
|
frame_color = "#FF5555"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#icon = /path/to/icon
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
# Messages can be matched by "appname", "summary", "body", "icon", "category",
|
||||||
|
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
|
||||||
|
# "background", "new_icon" and "format".
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: if you don't want a notification to be displayed, set the format
|
||||||
|
# to "".
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# format = ""
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
2
dunst/.config/dunst/spotify.sh
Executable file
2
dunst/.config/dunst/spotify.sh
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
/usr/bin/spotifycli --statusshort > ~/.config/i3status/spotify.log
|
|
@ -12,7 +12,7 @@
|
||||||
};
|
};
|
||||||
dotfiles = {
|
dotfiles = {
|
||||||
url = "git.ood.ovh:hactarus/dotfiles";
|
url = "git.ood.ovh:hactarus/dotfiles";
|
||||||
flake = false;
|
flake = true;
|
||||||
};
|
};
|
||||||
outputs = { self, nixpkgs, home-manager, ... } @inputs: {
|
outputs = { self, nixpkgs, home-manager, ... } @inputs: {
|
||||||
homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration {
|
homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration {
|
||||||
|
|
|
@ -41,6 +41,10 @@ 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 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 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
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioPlay exec "spotifycli --playpause && spotifycli --statusshort > /var/log/scripts/spotify.log"
|
||||||
|
bindsym XF86AudioNext exec "spotifycli --next && spotifycli --statusshort > /var/log/scripts/spotify.log"
|
||||||
|
bindsym XF86AudioPrev exec "spotifycli --prev && spotifycli --statusshort > /var/log/scripts/spotify.log"
|
||||||
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
floating_modifier $mod
|
floating_modifier $mod
|
||||||
|
@ -116,16 +120,16 @@ bindsym $mod+q focus parent
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
set $ws1 "1 "
|
set $ws1 "1: "
|
||||||
set $ws2 "2 "
|
set $ws2 "2: "
|
||||||
set $ws3 "3 "
|
set $ws3 "3: "
|
||||||
set $ws4 "4 "
|
set $ws4 "4: "
|
||||||
set $ws5 "5 "
|
set $ws5 "5: "
|
||||||
set $ws6 "6 "
|
set $ws6 "6: "
|
||||||
set $ws7 "7 "
|
set $ws7 "7: "
|
||||||
set $ws8 "8 "
|
set $ws8 "8: "
|
||||||
set $ws9 "9 "
|
set $ws9 "9: "
|
||||||
set $ws10 "10 "
|
set $ws10 "10: "
|
||||||
|
|
||||||
# switch to workspace
|
# switch to workspace
|
||||||
bindsym $mod+ampersand workspace number $ws1
|
bindsym $mod+ampersand workspace number $ws1
|
||||||
|
@ -151,6 +155,21 @@ bindsym $mod+Shift+exclam move container to workspace number $ws8
|
||||||
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
|
bindsym $mod+Shift+ccedilla move container to workspace number $ws9
|
||||||
bindsym $mod+Shift+agrave move container to workspace number $ws10
|
bindsym $mod+Shift+agrave move container to workspace number $ws10
|
||||||
|
|
||||||
|
set $monitor_main "DP-1-1"
|
||||||
|
set $monitor_vertical "DP-2"
|
||||||
|
set $monitor_integrated "eDP-1"
|
||||||
|
|
||||||
|
workspace $ws1 output $monitor_main
|
||||||
|
workspace $ws2 output $monitor_main
|
||||||
|
workspace $ws3 output $monitor_main
|
||||||
|
workspace $ws4 output $monitor_main
|
||||||
|
workspace $ws5 output $monitor_main
|
||||||
|
workspace $ws6 output $monitor_main
|
||||||
|
workspace $ws7 output $monitor_vertical
|
||||||
|
workspace $ws8 output $monitor_vertical
|
||||||
|
workspace $ws9 output $monitor_integrated
|
||||||
|
workspace $ws10 output $monitor_integrated
|
||||||
|
|
||||||
# reload the configuration file
|
# reload the configuration file
|
||||||
bindsym $mod+Shift+c reload
|
bindsym $mod+Shift+c reload
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
@ -185,11 +204,14 @@ mode "resize" {
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
|
include ~/.config/i3/config.d/*.conf
|
||||||
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
|
||||||
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
|
||||||
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
|
||||||
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
||||||
|
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
||||||
|
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
||||||
|
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
||||||
client.background #F8F8F2
|
client.background #F8F8F2
|
||||||
|
|
||||||
bar {
|
bar {
|
||||||
|
@ -207,4 +229,5 @@ bar {
|
||||||
binding_mode #FF5555 #FF5555 #F8F8F2
|
binding_mode #FF5555 #FF5555 #F8F8F2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
|
|
||||||
|
exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
|
||||||
|
|
25
i3/.config/i3/config.d/assign.conf
Normal file
25
i3/.config/i3/config.d/assign.conf
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# set $ws1 "1: "
|
||||||
|
# set $ws2 "2: "
|
||||||
|
# set $ws3 "3: "
|
||||||
|
# set $ws4 "4: "
|
||||||
|
# set $ws5 "5: "
|
||||||
|
# set $ws6 "6: "
|
||||||
|
# set $ws7 "7: "
|
||||||
|
# set $ws8 "8: "
|
||||||
|
# set $ws9 "9: "
|
||||||
|
# set $ws10 "10: "
|
||||||
|
|
||||||
|
assign [class="firefox"] $ws1
|
||||||
|
assign [class="chromium-browser"] $ws8
|
||||||
|
assign [class="chromium"] $ws8
|
||||||
|
assign [class="Thunderbird"] $ws7
|
||||||
|
assign [class="vscodium"] $ws3
|
||||||
|
assign [class="Alacritty"] $ws2
|
||||||
|
assign [class="Moonlight"] $ws6
|
||||||
|
assign [class="plex-bin"] $ws5
|
||||||
|
assign [class="vlc"] $ws5
|
||||||
|
assign [class="Spotify"] $ws9
|
||||||
|
assign [class="Spotify"] $ws9
|
||||||
|
|
||||||
|
for_window [class="Alert"] floating enable
|
||||||
|
for_window [class="dunst"] floating enable
|
|
@ -3,13 +3,10 @@ theme = "dracula"
|
||||||
[icons]
|
[icons]
|
||||||
icons = "material-nf"
|
icons = "material-nf"
|
||||||
|
|
||||||
|
[general]
|
||||||
[icons.overrides]
|
colors = true
|
||||||
bat = [
|
color_good = "#a3be8c"
|
||||||
"| |",
|
color_degraded = "#ebcb8b"
|
||||||
"|¼|",
|
color_bad = "#bf616a"
|
||||||
"|½|",
|
interval = 1
|
||||||
"|¾|",
|
separator = "*"
|
||||||
"|X|",
|
|
||||||
]
|
|
||||||
bat_charging = "|^|"
|
|
|
@ -1,45 +1,60 @@
|
||||||
general {
|
general {
|
||||||
output_format = "i3bar"
|
// output_format = "i3bar"
|
||||||
colors = true
|
colors = true
|
||||||
color_good = "#50FA7B"
|
color_good = "#50FA7B"
|
||||||
color_degraded = "#F1FA8C"
|
color_degraded = "#F1FA8C"
|
||||||
color_bad = "#FF5555"
|
color_bad = "#FF5555"
|
||||||
interval = 5
|
interval = 5
|
||||||
|
separator = ""
|
||||||
}
|
}
|
||||||
order += "ipv6"
|
|
||||||
|
// order += "ipv6"
|
||||||
|
order += "volume master"
|
||||||
|
order += "read_file spotify"
|
||||||
order += "disk /"
|
order += "disk /"
|
||||||
order += "run_watch DHCP"
|
order += "disk /nix"
|
||||||
order += "run_watch VPNC"
|
order += "disk /home"
|
||||||
order += "path_exists VPN"
|
// order += "run_watch DHCP"
|
||||||
order += "wireless wlan0"
|
// order += "run_watch VPNC"
|
||||||
order += "ethernet eth0"
|
// order += "path_exists VPN"
|
||||||
|
order += "wireless wlp2s0"
|
||||||
|
order += "ethernet enp0s31f6"
|
||||||
|
// order += "ethernet enp0s20f0u3c2"
|
||||||
order += "ethernet"
|
order += "ethernet"
|
||||||
order += "battery 0"
|
order += "battery 0"
|
||||||
#order += "cpu_temperature 0"
|
order += "cpu_temperature 0"
|
||||||
order += "memory"
|
order += "memory"
|
||||||
order += "load"
|
order += "load"
|
||||||
order += "tztime local"
|
order += "tztime local"
|
||||||
order += "tztime berlin"
|
order += "tztime paris"
|
||||||
|
|
||||||
wireless wlan0 {
|
wireless wlp2s0 {
|
||||||
format_up = "W: (%quality at %essid, %bitrate) %ip"
|
format_up = " (%quality at %essid, %bitrate) %ip"
|
||||||
format_down = "W: down"
|
format_down = " "
|
||||||
}
|
}
|
||||||
|
|
||||||
ethernet eth0 {
|
ethernet enp0s31f6 {
|
||||||
format_up = "E: %ip (%speed)"
|
format_up = " %ip"
|
||||||
format_down = "E: down"
|
format_down = " "
|
||||||
|
}
|
||||||
|
ethernet enp0s20f0u3c2 {
|
||||||
|
format_up = " %ip"
|
||||||
|
format_down = " "
|
||||||
}
|
}
|
||||||
|
|
||||||
battery 0 {
|
battery 0 {
|
||||||
format = "%status %percentage %remaining %emptytime"
|
format = "%status %percentage %remaining"
|
||||||
format_down = "No battery"
|
format_down = ""
|
||||||
status_chr = "⚡ CHR"
|
last_full_capacity = true
|
||||||
status_bat = "🔋 BAT"
|
integer_battery_capacity = true
|
||||||
status_unk = "? UNK"
|
low_threshold = 11
|
||||||
status_full = "☻ FULL"
|
threshold_type = percentage
|
||||||
|
hide_seconds = true
|
||||||
|
status_chr = " ⚡ "
|
||||||
|
status_bat = " 🪫 "
|
||||||
|
status_unk = " 🔌 "
|
||||||
|
status_full = " 🔋 "
|
||||||
path = "/sys/class/power_supply/BAT%d/uevent"
|
path = "/sys/class/power_supply/BAT%d/uevent"
|
||||||
low_threshold = 10
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_watch DHCP {
|
run_watch DHCP {
|
||||||
|
@ -57,34 +72,65 @@ path_exists VPN {
|
||||||
}
|
}
|
||||||
|
|
||||||
tztime local {
|
tztime local {
|
||||||
format = "%Y-%m-%d %H:%M:%S"
|
format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
|
||||||
hide_if_equals_localtime = true
|
hide_if_equals_localtime = true
|
||||||
}
|
}
|
||||||
|
|
||||||
tztime berlin {
|
tztime paris {
|
||||||
format = "%Y-%m-%d %H:%M:%S %Z"
|
format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
|
||||||
timezone = "Europe/Berlin"
|
timezone = "Europe/Paris"
|
||||||
}
|
}
|
||||||
|
|
||||||
load {
|
load {
|
||||||
format = "%5min"
|
format = " %5min"
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu_temperature 0 {
|
cpu_temperature 0 {
|
||||||
format = "T: %degrees °C"
|
format = "🌡️ %degrees"
|
||||||
path = "/sys/devices/platform/coretemp.0/temp1_input"
|
path = "/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input"
|
||||||
}
|
}
|
||||||
|
|
||||||
memory {
|
memory {
|
||||||
format = "%used"
|
format = " %used"
|
||||||
threshold_degraded = "10%"
|
threshold_degraded = "10%"
|
||||||
format_degraded = "MEMORY: %free"
|
format_degraded = "MEMORY: %free"
|
||||||
}
|
}
|
||||||
|
|
||||||
disk "/" {
|
disk "/" {
|
||||||
format = "%free"
|
format = " / %free"
|
||||||
|
prefix_type = custom
|
||||||
|
low_threshold = 20
|
||||||
|
threshold_type = percentage_avail
|
||||||
|
}
|
||||||
|
|
||||||
|
disk "/nix" {
|
||||||
|
format = "💻 /nix %free"
|
||||||
|
prefix_type = custom
|
||||||
|
low_threshold = 15
|
||||||
|
threshold_type = percentage_avail
|
||||||
|
}
|
||||||
|
|
||||||
|
disk "/home" {
|
||||||
|
format = "💾 /home %free"
|
||||||
|
prefix_type = custom
|
||||||
|
low_threshold = 10
|
||||||
|
threshold_type = percentage_avail
|
||||||
}
|
}
|
||||||
|
|
||||||
read_file uptime {
|
read_file uptime {
|
||||||
path = "/proc/uptime"
|
path = "/proc/uptime"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
volume master {
|
||||||
|
format = "%volume "
|
||||||
|
format_muted = " "
|
||||||
|
// device = "pulse:1"pavuc
|
||||||
|
device = "default"
|
||||||
|
mixer = "Master"
|
||||||
|
mixer_idx = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
read_file spotify {
|
||||||
|
format = "🔊%content"
|
||||||
|
path = "~/.config/i3status/spotify.log"
|
||||||
|
}
|
||||||
|
|
0
i3/.config/i3status/spotify.log
Normal file
0
i3/.config/i3status/spotify.log
Normal file
|
@ -17,27 +17,34 @@
|
||||||
;==========================================================
|
;==========================================================
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
background = #282A2E
|
background = #282A36
|
||||||
background-alt = #373B41
|
background-alt = #BFBFBF
|
||||||
foreground = #C5C8C6
|
foreground = #F8F8F2
|
||||||
primary = #F0C674
|
primary = #F8F8F2
|
||||||
secondary = #8ABEB7
|
secondary = #282A36
|
||||||
alert = #A54242
|
alert = #44475A
|
||||||
disabled = #707880
|
disabled = #44475A
|
||||||
|
|
||||||
[bar/main]
|
[bar/main]
|
||||||
|
monitor = "DP-1-2"
|
||||||
# Last component is the vertical offset
|
# Last component is the vertical offset
|
||||||
#font-0 = Fira Code:size=10;4
|
#font-0 = Fira Code:size=10;4
|
||||||
font-0 = FiraMono Nerd Font:size=10;4
|
; font-0 = FiraMono Nerd Font:size=12;4
|
||||||
|
#fc-match FontAwesome:pixelsize=14 FontAwesome.otf: "FontAwesome" "Regular"
|
||||||
|
; font-3 = FontAwesome:pixelsize=14;0
|
||||||
#font-0 = Overpass Nerd Font,Overpass Nerd Font SemBd:size=10;4
|
#font-0 = Overpass Nerd Font,Overpass Nerd Font SemBd:size=10;4
|
||||||
#font-0 = FiraCode:size=10;4
|
#font-0 = FiraCode:size=10;4
|
||||||
#font-0 = Overpass Nerd Font:size=10;4
|
#font-0 = Overpass Nerd Font:size=10;4
|
||||||
#font-1 = Noto Sans:size=10;4
|
#font-1 = Noto Sans:size=10;4
|
||||||
|
|
||||||
|
font-0 = fixed:pixelsize=12;1
|
||||||
|
font-1 = unifont:fontformat=truetype:size=10:antialias=false;0
|
||||||
|
font-2 = "FiraCode Nerd Font:pixelsize=12;1"
|
||||||
width = 100%
|
width = 100%
|
||||||
height = 16pt
|
height = 16pt
|
||||||
radius = 0
|
radius = 0
|
||||||
|
|
||||||
dpi = 192
|
#dpi = 192
|
||||||
|
|
||||||
background = ${colors.background}
|
background = ${colors.background}
|
||||||
foreground = ${colors.foreground}
|
foreground = ${colors.foreground}
|
||||||
|
@ -56,15 +63,15 @@ separator = |
|
||||||
separator-foreground = ${colors.disabled}
|
separator-foreground = ${colors.disabled}
|
||||||
|
|
||||||
modules-left = xworkspaces xwindow
|
modules-left = xworkspaces xwindow
|
||||||
#modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
|
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
|
||||||
modules-right = pulseaudio wlan eth battery date
|
#modules-right = pulseaudio wlan eth battery date
|
||||||
|
|
||||||
cursor-click = pointer
|
cursor-click = pointer
|
||||||
cursor-scroll = ns-resize
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
enable-ipc = true
|
enable-ipc = true
|
||||||
|
|
||||||
; tray-position = right
|
tray-position = right
|
||||||
|
|
||||||
; wm-restack = generic
|
; wm-restack = generic
|
||||||
; wm-restack = bspwm
|
; wm-restack = bspwm
|
||||||
|
@ -157,7 +164,7 @@ format-connected = <ramp-signal> <label-connected>
|
||||||
label-connected = %local_ip%
|
label-connected = %local_ip%
|
||||||
#label-connected = %{F#F0C674} %{F-} %local_ip%
|
#label-connected = %{F#F0C674} %{F-} %local_ip%
|
||||||
#label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
#label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
||||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected ⚠
|
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||||
ramp-signal-0 = %{F#F0C674} %{F-}
|
ramp-signal-0 = %{F#F0C674} %{F-}
|
||||||
ramp-signal-1 = %{F#F0C674} %{F-}
|
ramp-signal-1 = %{F#F0C674} %{F-}
|
||||||
ramp-signal-2 = %{F#F0C674} %{F-}
|
ramp-signal-2 = %{F#F0C674} %{F-}
|
||||||
|
@ -168,7 +175,7 @@ ramp-signal-5 = %{F#F0C674} %{F-}
|
||||||
[module/eth]
|
[module/eth]
|
||||||
inherit = network-base
|
inherit = network-base
|
||||||
interface-type = wired
|
interface-type = wired
|
||||||
label-connected = %{F#F0C674}%ifname% %{F-} %local_ip%
|
label-connected = %{F#F0C674}%ifname% %{F-} %local_ip%
|
||||||
#label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
#label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||||
|
|
||||||
|
@ -224,7 +231,7 @@ label-discharging = %percentage%%
|
||||||
# Available tokens:
|
# Available tokens:
|
||||||
# %percentage% (default) - is set to 100 if full-at is reached
|
# %percentage% (default) - is set to 100 if full-at is reached
|
||||||
# %percentage_raw%
|
# %percentage_raw%
|
||||||
label-full = "%{F#F0C674} %{F-}"
|
label-full = "%{F#F0C674} %{F-}"
|
||||||
|
|
||||||
# Available tokens:
|
# Available tokens:
|
||||||
# %percentage% (default) - is set to 100 if full-at is reached
|
# %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
@ -245,11 +252,11 @@ ramp-capacity-4 = "%{F#F0C674} %{F-}"
|
||||||
bar-capacity-width = 10
|
bar-capacity-width = 10
|
||||||
|
|
||||||
# Only applies if <animation-charging> is used
|
# Only applies if <animation-charging> is used
|
||||||
animation-charging-0 = "%{F#F0C674} %{F-}"
|
animation-charging-0 = "%{F#F0C674} %{F-}"
|
||||||
animation-charging-1 = "%{F#F0C674} %{F-}"
|
animation-charging-1 = "%{F#F0C674} %{F-}"
|
||||||
animation-charging-2 = "%{F#F0C674} %{F-}"
|
animation-charging-2 = "%{F#F0C674} %{F-}"
|
||||||
animation-charging-3 = "%{F#F0C674} %{F-}"
|
animation-charging-3 = "%{F#F0C674} %{F-}"
|
||||||
animation-charging-4 = "%{F#F0C674} %{F-}"
|
animation-charging-4 = "%{F#F0C674} %{F-}"
|
||||||
# Framerate in milliseconds
|
# Framerate in milliseconds
|
||||||
animation-charging-framerate = 750
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
@ -285,7 +292,7 @@ type = internal/i3
|
||||||
; on different bars
|
; on different bars
|
||||||
;
|
;
|
||||||
; Default: false
|
; Default: false
|
||||||
pin-workspaces = true
|
pin-workspaces = false
|
||||||
|
|
||||||
; Show urgent workspaces regardless of whether the workspace is actually hidden
|
; Show urgent workspaces regardless of whether the workspace is actually hidden
|
||||||
; by pin-workspaces.
|
; by pin-workspaces.
|
||||||
|
|
7
setup.sh
7
setup.sh
|
@ -8,17 +8,18 @@ git submodule update
|
||||||
|
|
||||||
# what directories should be installable by all users including the root user
|
# what directories should be installable by all users including the root user
|
||||||
base=(
|
base=(
|
||||||
|
picom
|
||||||
dracula
|
dracula
|
||||||
|
dunst
|
||||||
git
|
git
|
||||||
helix
|
helix
|
||||||
htop
|
htop
|
||||||
|
i3
|
||||||
nano
|
nano
|
||||||
nix
|
nix
|
||||||
|
polybar
|
||||||
puppet
|
puppet
|
||||||
ssh
|
ssh
|
||||||
i3
|
|
||||||
picom
|
|
||||||
polybar
|
|
||||||
sway
|
sway
|
||||||
terminfo
|
terminfo
|
||||||
tmux
|
tmux
|
||||||
|
|
Loading…
Add table
Reference in a new issue