home: x: setup i3status-rust

This commit is contained in:
Antoine Martin 2021-04-19 14:58:52 +02:00
parent e00685bdb5
commit 4ee7d15cb8
3 changed files with 65 additions and 1 deletions

View file

@ -2,6 +2,7 @@
{
imports = [
./i3.nix
./i3bar.nix
];
options.my.home.x = with lib; {

View file

@ -13,6 +13,17 @@ let
modifier = "Mod4"; # `Super` key
logoutMode = "[L]ogout, [S]uspend, [P]oweroff, [R]eboot";
# colors
colorBg = "#282828";
colorRed = "#cc241d";
colorGreen = "#98971a";
colorYellow = "#d79921";
colorBlue = "#458588";
colorPurple = "#b16286";
colorAqua = "#689d68";
colorGray = "#a89984";
colorDarkGray = "#1d2021";
in
{
config = lib.mkIf isEnabled {
@ -26,10 +37,40 @@ in
inherit modifier;
bars =
let
barConfigPath =
config.xdg.configFile."i3status-rust/config-top.toml".target;
in
[
{
statusCommand = "i3status";
statusCommand = "i3status-rs ${barConfigPath}";
position = "top";
colors = {
background = colorBg;
statusline = colorYellow;
focusedWorkspace = {
border = colorAqua;
background = colorAqua;
text = colorDarkGray;
};
inactiveWorkspace = {
border = colorDarkGray;
background = colorDarkGray;
text = colorYellow;
};
activeWorkspace = {
border = colorAqua;
background = colorDarkGray;
text = colorYellow;
};
urgentWorkspace = {
border = colorRed;
background = colorRed;
text = colorBg;
};
};
}
];

22
home/x/i3bar.nix Normal file
View file

@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
let
isEnabled = config.my.home.x.enable;
in
{
config = lib.mkIf isEnabled {
home.packages = with pkgs; [
alsaUtils # Used by `sound` block
lm_sensors # Used by `temperature` block
];
programs.i3status-rust = {
enable = true;
bars = {
top = {
theme = "gruvbox-light";
};
};
};
};
}