From b0c1b414bff6ff142f90b2dfe63583647f290432 Mon Sep 17 00:00:00 2001 From: Ingolf Wagner Date: Wed, 12 Oct 2022 18:27:33 +0200 Subject: [PATCH] update status bar --- nixos/system/desktop/home-manager/i3.nix | 106 ++++++++++++++++------- 1 file changed, 74 insertions(+), 32 deletions(-) diff --git a/nixos/system/desktop/home-manager/i3.nix b/nixos/system/desktop/home-manager/i3.nix index 894ac97..90742ba 100644 --- a/nixos/system/desktop/home-manager/i3.nix +++ b/nixos/system/desktop/home-manager/i3.nix @@ -7,7 +7,7 @@ let theme = (import ../../../library/colorThemes.nix).solarized.light.hex; in theme // { - forground = theme.base3; + foreground = theme.base3; background = theme.base03; }; @@ -15,59 +15,101 @@ in { home-manager.users.mainUser = { - programs.i3status-rust.enable = true; + programs.i3status-rust = { + enable = true; + bars = { + my = { + icons = "awesome5"; + theme = "solarized-light"; + # https://github.com/greshake/i3status-rust/blob/v0.22.0/doc/blocks.md + blocks = [ + { + block = "cpu"; + interval = 1; + } + { + block = "memory"; + display_type = "memory"; + format_mem = "{mem_used_percents}"; + format_swap = "{swap_used_percents}"; + } + { + block = "load"; + interval = 1; + format = "{1m}"; + } + { + block = "battery"; + interval = 10; + format = "{percentage} {time}"; + } + { block = "uptime"; } + { + block = "time"; + interval = 60; + format = "%Y-%m-%d %R"; + } + ]; + }; + }; + + }; xsession.windowManager.i3 = { enable = true; config = { modifier = "Mod4"; - startup = [ - { command = "${pkgs.albert}/bin/albert"; always = true; } - # { command = "systemctl --user restart polybar"; always = true; notification = false; } - ]; + startup = + let + height = config.configuration.desktop.height; + width = config.configuration.desktop.width; + in + [ + { command = "${pkgs.albert}/bin/albert"; always = true; } + { + command = "${pkgs.polygon-art.polygon-art}/bin/rings --height ${toString height} --width ${toString width} /dev/shm/background.png && ${pkgs.feh}/bin/feh --bg-scale /dev/shm/background.png"; + always = true; + } + # { command = "systemctl --user restart polybar"; always = true; notification = false; } + ]; bars = [{ mode = "hide"; hiddenState = "hide"; - #modifier = "Mod4"; - position = "bottom"; workspaceButtons = true; workspaceNumbers = true; - statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ${config.users.users.mainUser.home}/.config/i3status-rust/config-default.toml"; - fonts = { - names = [ "monospace" ]; - size = 8.0; - }; + statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ${config.users.users.mainUser.home}/.config/i3status-rust/config-my.toml"; + fonts = [ "Terminus" ]; trayOutput = "primary"; colors = { - background = "#000000"; - statusline = "#ffffff"; - separator = "#666666"; + background = colorTheme.background; + statusline = colorTheme.background; + separator = colorTheme.background; focusedWorkspace = { - border = "#4c7899"; - background = "#285577"; - text = "#ffffff"; + border = colorTheme.foreground; + background = colorTheme.foreground; + text = colorTheme.background; }; activeWorkspace = { - border = "#333333"; - background = "#5f676a"; - text = "#ffffff"; + border = colorTheme.background; + background = colorTheme.background; + text = colorTheme.foreground; }; inactiveWorkspace = { - border = "#333333"; - background = "#222222"; - text = "#888888"; + border = colorTheme.background; + background = colorTheme.background; + text = colorTheme.foreground; }; urgentWorkspace = { - border = "#2f343a"; - background = "#900000"; - text = "#ffffff"; + border = colorTheme.red; + background = colorTheme.background; + text = colorTheme.foreground; }; bindingMode = { - border = "#2f343a"; - background = "#900000"; - text = "#ffffff"; + border = colorTheme.background; + background = colorTheme.background; + text = colorTheme.foreground; }; }; }]; @@ -164,7 +206,7 @@ in background = colorTheme.background; # Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023) - foreground = colorTheme.forground; + foreground = colorTheme.foreground; radius = 0;