added i3status-rust.
This commit is contained in:
		
							parent
							
								
									089f7833f8
								
							
						
					
					
						commit
						63e5afe8ec
					
				
					 5 changed files with 98 additions and 0 deletions
				
			
		| 
						 | 
					@ -27,6 +27,7 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
      host = {
 | 
					      host = {
 | 
				
			||||||
        user = "gabe";
 | 
					        user = "gabe";
 | 
				
			||||||
        gui.enable = true;
 | 
					        gui.enable = true;
 | 
				
			||||||
 | 
					        isVm=true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      networking.hostName = "archlaptop-vm"; # Define your hostname.
 | 
					      networking.hostName = "archlaptop-vm"; # Define your hostname.
 | 
				
			||||||
      # Set your time zone.
 | 
					      # Set your time zone.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,6 +27,7 @@ inputs.nixpkgs.lib.nixosSystem {
 | 
				
			||||||
      host = {
 | 
					      host = {
 | 
				
			||||||
        user = "gabe";
 | 
					        user = "gabe";
 | 
				
			||||||
        gui.enable = true;
 | 
					        gui.enable = true;
 | 
				
			||||||
 | 
					        isVm=true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      networking.hostName = "workstation-vm"; # Define your hostname.
 | 
					      networking.hostName = "workstation-vm"; # Define your hostname.
 | 
				
			||||||
      # Set your time zone.
 | 
					      # Set your time zone.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -202,6 +202,16 @@
 | 
				
			||||||
            notification = false;
 | 
					            notification = false;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					        bars = [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            fonts = {
 | 
				
			||||||
 | 
					              names = ["Fira Code"];
 | 
				
			||||||
 | 
					              size = 8.0;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            position = "bottom";
 | 
				
			||||||
 | 
					            statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    imports = [
 | 
					    imports = [
 | 
				
			||||||
| 
						 | 
					@ -214,5 +224,6 @@
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ../sound.nix
 | 
					    ../sound.nix
 | 
				
			||||||
 | 
					    ./i3status-rust.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										77
									
								
								modules/both/i3/i3status-rust.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								modules/both/i3/i3status-rust.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,77 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}: {
 | 
				
			||||||
 | 
					  home-manager.users.${config.host.user} = {
 | 
				
			||||||
 | 
					    config,
 | 
				
			||||||
 | 
					    osConfig,
 | 
				
			||||||
 | 
					    lib,
 | 
				
			||||||
 | 
					    ...
 | 
				
			||||||
 | 
					  }: {
 | 
				
			||||||
 | 
					    programs.i3status-rust = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      bars = {
 | 
				
			||||||
 | 
					        default = {
 | 
				
			||||||
 | 
					          blocks = [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "music";
 | 
				
			||||||
 | 
					              format = " $icon {$combo.str(max_w:25,rot_interval:0.5) $play $next $prev $player.str(max_w:5,rot_interval:0.5) [$cur/$avail] |} ";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "memory";
 | 
				
			||||||
 | 
					              format = " $icon $mem_used_percents ";
 | 
				
			||||||
 | 
					              format_alt = " $icon $swap_used_percents (swap)";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "cpu";
 | 
				
			||||||
 | 
					              interval = 1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "load";
 | 
				
			||||||
 | 
					              format = " $icon $1m ";
 | 
				
			||||||
 | 
					              interval = 1;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            (
 | 
				
			||||||
 | 
					              lib.mkIf
 | 
				
			||||||
 | 
					              (!osConfig.host.isVm)
 | 
				
			||||||
 | 
					              {block = "backlight";}
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            (
 | 
				
			||||||
 | 
					              lib.mkIf (osConfig.host.isLaptop)
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                block = "battery";
 | 
				
			||||||
 | 
					                driver = "upower";
 | 
				
			||||||
 | 
					                format = "$icon $percentage {$time |}";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "net";
 | 
				
			||||||
 | 
					              format = "$icon {$signal_strength $ssid.str(max_w:5,rot_interval:0.5)|}";
 | 
				
			||||||
 | 
					              format_alt = " $icon {$signal_strength $ssid.str(max_w:5,rot_interval:0.5) $frequency|} $ip | $ipv6 via $device";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "sound";
 | 
				
			||||||
 | 
					              format = "$icon {$volume.bar(v:true) $volume.eng(w:2) |}";
 | 
				
			||||||
 | 
					              headphones_indicator = true;
 | 
				
			||||||
 | 
					              click = [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  button = "left";
 | 
				
			||||||
 | 
					                  cmd = "pwvucontrol";
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              ];
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              block = "time";
 | 
				
			||||||
 | 
					              format = " $timestamp.datetime(f:'%F %R') ";
 | 
				
			||||||
 | 
					              interval = 60;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					          theme = "gruvbox-dark";
 | 
				
			||||||
 | 
					          icons = "material-nf";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,14 @@
 | 
				
			||||||
        description = "enable GUI";
 | 
					        description = "enable GUI";
 | 
				
			||||||
        default = false;
 | 
					        default = false;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					      isLaptop=lib.mkEnableOption {
 | 
				
			||||||
 | 
					        description="machine is a laptop";
 | 
				
			||||||
 | 
					        default=false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      isVm=lib.mkEnableOption {
 | 
				
			||||||
 | 
					        description="machine is a virtual machine";
 | 
				
			||||||
 | 
					        default=false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue