From fe0993358bd501efe232a9ba068db59f1657f948 Mon Sep 17 00:00:00 2001
From: Hactarus <859868+Hactarus@users.noreply.github.com>
Date: Sun, 29 Sep 2024 17:36:23 +0200
Subject: [PATCH] WIP
---
dunst/.config/dunst/dunstrc | 326 +++++++++++++++++++++++++++
dunst/.config/dunst/spotify.sh | 2 +
flake.nix | 2 +-
i3/.config/i3/config | 55 +++--
i3/.config/i3/config.d/assign.conf | 25 ++
i3/.config/i3status-rust/config.toml | 17 +-
i3/.config/i3status/config | 120 +++++++---
i3/.config/i3status/spotify.log | 0
polybar/.config/polybar/config.ini | 49 ++--
setup.sh | 7 +-
10 files changed, 515 insertions(+), 88 deletions(-)
create mode 100644 dunst/.config/dunst/dunstrc
create mode 100755 dunst/.config/dunst/spotify.sh
create mode 100644 i3/.config/i3/config.d/assign.conf
create mode 100644 i3/.config/i3status/spotify.log
diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc
new file mode 100644
index 0000000..acefd5a
--- /dev/null
+++ b/dunst/.config/dunst/dunstrc
@@ -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:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # 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 = "%s %a\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
\ No newline at end of file
diff --git a/dunst/.config/dunst/spotify.sh b/dunst/.config/dunst/spotify.sh
new file mode 100755
index 0000000..d495184
--- /dev/null
+++ b/dunst/.config/dunst/spotify.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+/usr/bin/spotifycli --statusshort > ~/.config/i3status/spotify.log
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index f496487..927e414 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,7 +12,7 @@
};
dotfiles = {
url = "git.ood.ovh:hactarus/dotfiles";
- flake = false;
+ flake = true;
};
outputs = { self, nixpkgs, home-manager, ... } @inputs: {
homeConfigurations.foodogsquared = home-manager.lib.homeManagerConfiguration {
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
index 204a02f..9ad5b95 100644
--- a/i3/.config/i3/config
+++ b/i3/.config/i3/config
@@ -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 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 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
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.
# We use variables to avoid repeating the names in multiple places.
-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 "
+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: "
# switch to workspace
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+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
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
@@ -185,11 +204,14 @@ mode "resize" {
bindsym $mod+r mode "resize"
-client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
-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
+include ~/.config/i3/config.d/*.conf
+
+
+client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
+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
bar {
@@ -207,4 +229,5 @@ bar {
binding_mode #FF5555 #FF5555 #F8F8F2
}
}
-exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
\ No newline at end of file
+
+exec --no-startup-id feh --bg-fill ~/.dotfiles/i3/.wallpapers/mr-robot-hacker-10000x5625-15768.png
diff --git a/i3/.config/i3/config.d/assign.conf b/i3/.config/i3/config.d/assign.conf
new file mode 100644
index 0000000..a4cc619
--- /dev/null
+++ b/i3/.config/i3/config.d/assign.conf
@@ -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
\ No newline at end of file
diff --git a/i3/.config/i3status-rust/config.toml b/i3/.config/i3status-rust/config.toml
index 0f106e2..93c4044 100644
--- a/i3/.config/i3status-rust/config.toml
+++ b/i3/.config/i3status-rust/config.toml
@@ -3,13 +3,10 @@ theme = "dracula"
[icons]
icons = "material-nf"
-
-[icons.overrides]
-bat = [
- "| |",
- "|¼|",
- "|½|",
- "|¾|",
- "|X|",
-]
-bat_charging = "|^|"
\ No newline at end of file
+[general]
+ colors = true
+ color_good = "#a3be8c"
+ color_degraded = "#ebcb8b"
+ color_bad = "#bf616a"
+ interval = 1
+ separator = "*"
\ No newline at end of file
diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config
index 460e709..698924a 100644
--- a/i3/.config/i3status/config
+++ b/i3/.config/i3status/config
@@ -1,45 +1,60 @@
general {
- output_format = "i3bar"
- colors = true
- color_good = "#50FA7B"
- color_degraded = "#F1FA8C"
- color_bad = "#FF5555"
- interval = 5
+ // output_format = "i3bar"
+ colors = true
+ color_good = "#50FA7B"
+ color_degraded = "#F1FA8C"
+ color_bad = "#FF5555"
+ interval = 5
+ separator = ""
}
-order += "ipv6"
+
+// order += "ipv6"
+order += "volume master"
+order += "read_file spotify"
order += "disk /"
-order += "run_watch DHCP"
-order += "run_watch VPNC"
-order += "path_exists VPN"
-order += "wireless wlan0"
-order += "ethernet eth0"
+order += "disk /nix"
+order += "disk /home"
+// order += "run_watch DHCP"
+// order += "run_watch VPNC"
+// order += "path_exists VPN"
+order += "wireless wlp2s0"
+order += "ethernet enp0s31f6"
+// order += "ethernet enp0s20f0u3c2"
order += "ethernet"
order += "battery 0"
-#order += "cpu_temperature 0"
+order += "cpu_temperature 0"
order += "memory"
order += "load"
order += "tztime local"
-order += "tztime berlin"
+order += "tztime paris"
-wireless wlan0 {
- format_up = "W: (%quality at %essid, %bitrate) %ip"
- format_down = "W: down"
+wireless wlp2s0 {
+ format_up = " (%quality at %essid, %bitrate) %ip"
+ format_down = " "
}
-ethernet eth0 {
- format_up = "E: %ip (%speed)"
- format_down = "E: down"
+ethernet enp0s31f6 {
+ format_up = " %ip"
+ format_down = " "
+}
+ethernet enp0s20f0u3c2 {
+ format_up = " %ip"
+ format_down = " "
}
battery 0 {
- format = "%status %percentage %remaining %emptytime"
- format_down = "No battery"
- status_chr = "⚡ CHR"
- status_bat = "🔋 BAT"
- status_unk = "? UNK"
- status_full = "☻ FULL"
+ format = "%status %percentage %remaining"
+ format_down = ""
+ last_full_capacity = true
+ integer_battery_capacity = true
+ low_threshold = 11
+ threshold_type = percentage
+ hide_seconds = true
+ status_chr = " ⚡ "
+ status_bat = " 🪫 "
+ status_unk = " 🔌 "
+ status_full = " 🔋 "
path = "/sys/class/power_supply/BAT%d/uevent"
- low_threshold = 10
}
run_watch DHCP {
@@ -57,34 +72,65 @@ path_exists VPN {
}
tztime local {
- format = "%Y-%m-%d %H:%M:%S"
+ format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
hide_if_equals_localtime = true
}
-tztime berlin {
- format = "%Y-%m-%d %H:%M:%S %Z"
- timezone = "Europe/Berlin"
+tztime paris {
+ format = "📅 %V %a %Y-%m-%d %H:%M:%S %Z"
+ timezone = "Europe/Paris"
}
load {
- format = "%5min"
+ format = " %5min"
}
cpu_temperature 0 {
- format = "T: %degrees °C"
- path = "/sys/devices/platform/coretemp.0/temp1_input"
+ format = "🌡️ %degrees"
+ path = "/sys/devices/platform/coretemp.0/hwmon/hwmon5/temp1_input"
}
memory {
- format = "%used"
+ format = " %used"
threshold_degraded = "10%"
format_degraded = "MEMORY: %free"
}
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 {
path = "/proc/uptime"
-}
\ No newline at end of file
+}
+
+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"
+}
diff --git a/i3/.config/i3status/spotify.log b/i3/.config/i3status/spotify.log
new file mode 100644
index 0000000..e69de29
diff --git a/polybar/.config/polybar/config.ini b/polybar/.config/polybar/config.ini
index 31d4357..264ecc7 100644
--- a/polybar/.config/polybar/config.ini
+++ b/polybar/.config/polybar/config.ini
@@ -17,27 +17,34 @@
;==========================================================
[colors]
-background = #282A2E
-background-alt = #373B41
-foreground = #C5C8C6
-primary = #F0C674
-secondary = #8ABEB7
-alert = #A54242
-disabled = #707880
+background = #282A36
+background-alt = #BFBFBF
+foreground = #F8F8F2
+primary = #F8F8F2
+secondary = #282A36
+alert = #44475A
+disabled = #44475A
[bar/main]
+monitor = "DP-1-2"
# Last component is the vertical offset
#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 = FiraCode:size=10;4
#font-0 = Overpass Nerd Font: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%
height = 16pt
radius = 0
-dpi = 192
+#dpi = 192
background = ${colors.background}
foreground = ${colors.foreground}
@@ -56,15 +63,15 @@ separator = |
separator-foreground = ${colors.disabled}
modules-left = xworkspaces xwindow
-#modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
-modules-right = pulseaudio wlan eth battery date
+modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date
+#modules-right = pulseaudio wlan eth battery date
cursor-click = pointer
cursor-scroll = ns-resize
enable-ipc = true
-; tray-position = right
+tray-position = right
; wm-restack = generic
; wm-restack = bspwm
@@ -157,7 +164,7 @@ format-connected =
label-connected = %local_ip%
#label-connected = %{F#F0C674} %{F-} %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-1 = %{F#F0C674} %{F-}
ramp-signal-2 = %{F#F0C674} %{F-}
@@ -168,7 +175,7 @@ ramp-signal-5 = %{F#F0C674} %{F-}
[module/eth]
inherit = network-base
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-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
@@ -224,7 +231,7 @@ label-discharging = %percentage%%
# Available tokens:
# %percentage% (default) - is set to 100 if full-at is reached
# %percentage_raw%
-label-full = "%{F#F0C674} %{F-}"
+label-full = "%{F#F0C674} %{F-}"
# Available tokens:
# %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
# Only applies if is used
-animation-charging-0 = "%{F#F0C674} %{F-}"
-animation-charging-1 = "%{F#F0C674} %{F-}"
-animation-charging-2 = "%{F#F0C674} %{F-}"
-animation-charging-3 = "%{F#F0C674} %{F-}"
-animation-charging-4 = "%{F#F0C674} %{F-}"
+animation-charging-0 = "%{F#F0C674} %{F-}"
+animation-charging-1 = "%{F#F0C674} %{F-}"
+animation-charging-2 = "%{F#F0C674} %{F-}"
+animation-charging-3 = "%{F#F0C674} %{F-}"
+animation-charging-4 = "%{F#F0C674} %{F-}"
# Framerate in milliseconds
animation-charging-framerate = 750
@@ -285,7 +292,7 @@ type = internal/i3
; on different bars
;
; Default: false
-pin-workspaces = true
+pin-workspaces = false
; Show urgent workspaces regardless of whether the workspace is actually hidden
; by pin-workspaces.
diff --git a/setup.sh b/setup.sh
index 26704e8..b3a0991 100755
--- a/setup.sh
+++ b/setup.sh
@@ -8,17 +8,18 @@ git submodule update
# what directories should be installable by all users including the root user
base=(
+ picom
dracula
+ dunst
git
helix
htop
+ i3
nano
nix
+ polybar
puppet
ssh
- i3
- picom
- polybar
sway
terminfo
tmux