From e3f896fc684189cca75eb632d7844c382f67120e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Sun, 2 Jun 2024 14:02:14 +0200 Subject: [PATCH] Sun Jun 2 02:02:14 PM CEST 2024 --- NixOS/configuration.nix | 97 ------- NixOS/flake.nix | 128 +++++++-- NixOS/home.nix | 20 +- NixOS/modules/hyprland/default.nix | 26 +- NixOS/modules/lf/default.nix | 66 ++--- NixOS/modules/rofi/default.nix | 252 +++++++++-------- NixOS/modules/waybar/default.nix | 440 ++++++++++++++--------------- 7 files changed, 512 insertions(+), 517 deletions(-) delete mode 100644 NixOS/configuration.nix diff --git a/NixOS/configuration.nix b/NixOS/configuration.nix deleted file mode 100644 index 4757c05..0000000 --- a/NixOS/configuration.nix +++ /dev/null @@ -1,97 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -{ config, inputs, lib, pkgs, ... }: - -{ - imports = [ - ./hardware-configuration.nix - ]; - - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - time.timeZone = "Europe/Brussels"; - networking.hostName = "nixos"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - - nix.settings = { - substituters = [ "https://hyprland.cachix.org" ]; - trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; - }; - - # System Packages - programs.zsh.enable = true; - programs.hyprland = { - enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; - }; - - services.greetd = { - enable = true; - settings = rec { - initial_session = { - command = "Hyprland"; - user = "user"; - }; - default_session = initial_session; - }; - }; - - # Pipewire - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - users.users.user = { - isNormalUser = true; - extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Riva" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet" - ]; - shell = pkgs.zsh; - }; - - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - environment.systemPackages = with pkgs; [ - wget - git - curl - ]; - - services.openssh = { - enable = true; - settings = { - PermitRootLogin = "no"; - PasswordAuthentication = false; - }; - }; - - networking.firewall.enable = false; - system.stateVersion = "23.11"; - environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland: - - # Fonts - fonts.packages = with pkgs; [ - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - iosevka - nerdfonts - ]; - -} diff --git a/NixOS/flake.nix b/NixOS/flake.nix index e3acc6f..43b839d 100644 --- a/NixOS/flake.nix +++ b/NixOS/flake.nix @@ -31,26 +31,116 @@ let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; + commonModules = name: [ + { + imports = [ + ./hardware-configuration.nix + ]; + networking.hostName = name; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + time.timeZone = "Europe/Brussels"; + + nix.settings = { + substituters = [ "https://hyprland.cachix.org" ]; + trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; + experimental-features = [ "nix-command" "flakes" ]; + }; + + programs.zsh.enable = true; + programs.hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + }; + + services.greetd = { + enable = true; + settings = rec { + initial_session = { + command = "Hyprland"; + user = "user"; + }; + default_session = initial_session; + }; + }; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + users.users.${name} = { + isNormalUser = true; + extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Riva" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet" + ]; + shell = pkgs.zsh; + }; + + + environment.systemPackages = with pkgs; [ + wget + curl + git + ]; + + services.openssh = { + enable = true; + settings = { + PermitRootLogin = "no"; + PasswordAuthentication = false; + }; + }; + + networking.firewall.enable = false; + system.stateVersion = "23.11"; + environment.sessionVariables.NIXOS_OZONE_WL = "1"; #hint electron apps to use wayland: + + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + iosevka + nerdfonts + ]; + + } + home-manager.nixosModules.home-manager + { + home-manager = { + extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules + useGlobalPkgs = true; + useUserPackages = true; + users.${name}= { + imports = [ ./home.nix ]; + }; + }; + } + ./hosts/${name} + ]; + mkSystem = name: cfg: nixpkgs.lib.nixosSystem { + system = cfg.system or "x86_64-linux"; + modules = (commonModules name) ++ (cfg.modules or [ ]); + specialArgs = attrs; + }; + systems = { + nixos = { + # No specific overrides yet + } + }; in { - nixosConfigurations = { - nixos = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; # allows access to flake inputs in nixos modules - modules = [ - ./configuration.nix - home-manager.nixosModules.home-manager - { - home-manager = { - extraSpecialArgs = { inherit inputs; }; # allows access to flake inputs in hm modules - useGlobalPkgs = true; - useUserPackages = true; - users.user = { - imports = [ ./home.nix ]; - }; - }; - } - ]; - }; - }; + nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; }; } diff --git a/NixOS/home.nix b/NixOS/home.nix index 4632ab6..3d70e73 100644 --- a/NixOS/home.nix +++ b/NixOS/home.nix @@ -35,16 +35,16 @@ a = "add"; }; extraConfig = { - credentials.helper = "store"; - pull.rebase = false; - push.autoSetupRemove = true; - init.defaultBranch = "master"; - diff.noprefix = true; - color.ui = "auto"; - core = { - excludesfile = "~/.gitignore"; - editor = "${pkgs.neovim}/bin/nvim"; - }; + credentials.helper = "store"; + pull.rebase = false; + push.autoSetupRemove = true; + init.defaultBranch = "master"; + diff.noprefix = true; + color.ui = "auto"; + core = { + excludesfile = "~/.gitignore"; + editor = "${pkgs.neovim}/bin/nvim"; + }; }; }; diff --git a/NixOS/modules/hyprland/default.nix b/NixOS/modules/hyprland/default.nix index 3638f98..19fd2dc 100644 --- a/NixOS/modules/hyprland/default.nix +++ b/NixOS/modules/hyprland/default.nix @@ -77,19 +77,19 @@ in services.dunst = { enable = true; settings = { - global = { - frame_color = "#00000000"; - separator_color = "frame"; - background = "#24273A"; - foreground = "#ffffff"; - font = "Ubuntu 10.5"; - width = "(0, 600)"; - padding = 15; - origin = "top-right"; - offset = "10x10"; - horizontal_padding = 20; - gap_size = 15; - }; + global = { + frame_color = "#00000000"; + separator_color = "frame"; + background = "#24273A"; + foreground = "#ffffff"; + font = "Ubuntu 10.5"; + width = "(0, 600)"; + padding = 15; + origin = "top-right"; + offset = "10x10"; + horizontal_padding = 20; + gap_size = 15; + }; }; }; wayland.windowManager.hyprland = { diff --git a/NixOS/modules/lf/default.nix b/NixOS/modules/lf/default.nix index 5c765f6..804fe46 100644 --- a/NixOS/modules/lf/default.nix +++ b/NixOS/modules/lf/default.nix @@ -1,39 +1,39 @@ { config, pkgs, ... }: { - home.file."${config.xdg.configHome}/lf" = { - source = ./files; - recursive = true; + home.file."${config.xdg.configHome}/lf" = { + source = ./files; + recursive = true; + }; + programs.lf = { + enable = true; + settings = { + icons = true; + autoquit = true; + mouse = true; + number = true; + relativenumber = true; + cursorpreviewfmt = ""; }; - programs.lf = { - enable = true; - settings = { - icons = true; - autoquit = true; - mouse = true; - number = true; - relativenumber = true; - cursorpreviewfmt = ""; - }; - keybindings = { - "" = "quit"; - "" = "half-up"; - "." = "set hidden!"; - "o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; - "-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; - "" = "open"; - "" = ":jump "; - }; - commands = { - jump = '' - ''${{ - res=$(zsh -c "source $HOME/.zshrc && find_global d") - lf -remote "send $id cd \"$res\"" - }} - ''; - }; - cmdKeybindings = { - q = "quit"; - }; + keybindings = { + "" = "quit"; + "" = "half-up"; + "." = "set hidden!"; + "o" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; + "-" = "$nvim -c \"lua require(\\\"oil\\\").open(\\\"$PWD\\\")\""; + "" = "open"; + "" = ":jump "; }; + commands = { + jump = '' + ''${{ + res=$(zsh -c "source $HOME/.zshrc && find_global d") + lf -remote "send $id cd \"$res\"" + }} + ''; + }; + cmdKeybindings = { + q = "quit"; + }; + }; } diff --git a/NixOS/modules/rofi/default.nix b/NixOS/modules/rofi/default.nix index a763cf1..dd65147 100644 --- a/NixOS/modules/rofi/default.nix +++ b/NixOS/modules/rofi/default.nix @@ -1,131 +1,133 @@ { config, pkgs, ... }: { - home.packages = with pkgs; [ - papirus-icon-theme - ]; + home.packages = with pkgs; [ + papirus-icon-theme + ]; - programs.rofi = { - enable = true; - font = "SF Pro Rounded 13"; - extraConfig = { - show-icons = true; - icon-theme = "Papirus"; - kb-cancel = "Super_L+XF86Launch5,Escape"; - combi-hide-mode-prefix = true; - }; - theme = let - inherit (config.lib.formats.rasi) mkLiteral; - in { - "*" = { - background = mkLiteral "#0f111a"; - foreground = mkLiteral "#f1f1f1"; - selected = mkLiteral "#0033a1"; - selected-text = mkLiteral "#ffffff"; - }; - - "window" = { - transparency = "real"; - background-color = mkLiteral "@background"; - text-color = mkLiteral "@foreground"; - width = mkLiteral "800px"; - border-radius = mkLiteral "5px"; - }; - - "textbox-prompt-colon" = { - expand = mkLiteral "false"; - background-color = mkLiteral "@background"; - padding = mkLiteral "4px 0px 0px 6px"; - }; - - "inputbar" = { - children = mkLiteral "[ textbox-prompt-colon, entry ]"; - background-color = mkLiteral "@background"; - text-color = mkLiteral "@foreground"; - expand = mkLiteral "false"; - border = mkLiteral "0px 0px 0px 0px"; - border-radius = mkLiteral "0px"; - border-color = mkLiteral "@selected"; - margin = mkLiteral "0px 0px 0px 0px"; - padding = mkLiteral "0px 0px 4px 0px"; - position = mkLiteral "center"; - }; - - "entry" = { - background-color = mkLiteral "@background"; - text-color = mkLiteral "@foreground"; - placeholder-color = mkLiteral "@foreground"; - expand = mkLiteral "true"; - horizontal-align = mkLiteral "0"; - blink = mkLiteral "true"; - padding = mkLiteral "4px 0px 0px 4px"; - font = "SF Pro Rounded 25"; - }; - - "case-indicator" = { - background-color = mkLiteral "@background"; - text-color = mkLiteral "@foreground"; - spacing = mkLiteral "0"; - }; - - "listview" = { - background-color = mkLiteral "@background"; - columns = mkLiteral "1"; - spacing = mkLiteral "5px"; - cycle = mkLiteral "true"; - dynamic = mkLiteral "true"; - layout = mkLiteral "vertical"; - fixed-height = "true"; - lines = mkLiteral "5"; - }; - - "mainbox" = { - background-color = mkLiteral "@background"; - children = mkLiteral "[ inputbar, message, listview ]"; - spacing = mkLiteral "20px"; - padding = mkLiteral "20px 15px 15px 15px"; - }; - - "message" = { - children = mkLiteral "[ textbox ]"; - border-radius = mkLiteral "5px"; - }; - - "textbox" = { - background-color = mkLiteral "@selected"; - text-color = mkLiteral "@foreground"; - padding = mkLiteral "20px 6px 20px 80px"; - }; - - "element" = { - background-color = mkLiteral "@background"; - text-color = mkLiteral "@foreground"; - orientation = mkLiteral "horizontal"; - border-radius = mkLiteral "4px"; - padding = mkLiteral "2px 2px 2px 2px"; - }; - - "element-text, element-icon" = { - background-color = mkLiteral "inherit"; - text-color = mkLiteral "inherit"; - }; - - "element-icon" = { - size = mkLiteral "40px"; - border = mkLiteral "10px"; - }; - - "element-text" = { - padding = mkLiteral "20px 0px 0px 10px"; - }; - - "element selected" = { - background-color = mkLiteral "@selected"; - text-color = mkLiteral "@selected-text"; - border = mkLiteral "0px"; - border-radius = mkLiteral "3px"; - border-color = mkLiteral "@selected"; - }; - }; + programs.rofi = { + enable = true; + font = "SF Pro Rounded 13"; + extraConfig = { + show-icons = true; + icon-theme = "Papirus"; + kb-cancel = "Super_L+XF86Launch5,Escape"; + combi-hide-mode-prefix = true; }; + theme = + let + inherit (config.lib.formats.rasi) mkLiteral; + in + { + "*" = { + background = mkLiteral "#0f111a"; + foreground = mkLiteral "#f1f1f1"; + selected = mkLiteral "#0033a1"; + selected-text = mkLiteral "#ffffff"; + }; + + "window" = { + transparency = "real"; + background-color = mkLiteral "@background"; + text-color = mkLiteral "@foreground"; + width = mkLiteral "800px"; + border-radius = mkLiteral "5px"; + }; + + "textbox-prompt-colon" = { + expand = mkLiteral "false"; + background-color = mkLiteral "@background"; + padding = mkLiteral "4px 0px 0px 6px"; + }; + + "inputbar" = { + children = mkLiteral "[ textbox-prompt-colon, entry ]"; + background-color = mkLiteral "@background"; + text-color = mkLiteral "@foreground"; + expand = mkLiteral "false"; + border = mkLiteral "0px 0px 0px 0px"; + border-radius = mkLiteral "0px"; + border-color = mkLiteral "@selected"; + margin = mkLiteral "0px 0px 0px 0px"; + padding = mkLiteral "0px 0px 4px 0px"; + position = mkLiteral "center"; + }; + + "entry" = { + background-color = mkLiteral "@background"; + text-color = mkLiteral "@foreground"; + placeholder-color = mkLiteral "@foreground"; + expand = mkLiteral "true"; + horizontal-align = mkLiteral "0"; + blink = mkLiteral "true"; + padding = mkLiteral "4px 0px 0px 4px"; + font = "SF Pro Rounded 25"; + }; + + "case-indicator" = { + background-color = mkLiteral "@background"; + text-color = mkLiteral "@foreground"; + spacing = mkLiteral "0"; + }; + + "listview" = { + background-color = mkLiteral "@background"; + columns = mkLiteral "1"; + spacing = mkLiteral "5px"; + cycle = mkLiteral "true"; + dynamic = mkLiteral "true"; + layout = mkLiteral "vertical"; + fixed-height = "true"; + lines = mkLiteral "5"; + }; + + "mainbox" = { + background-color = mkLiteral "@background"; + children = mkLiteral "[ inputbar, message, listview ]"; + spacing = mkLiteral "20px"; + padding = mkLiteral "20px 15px 15px 15px"; + }; + + "message" = { + children = mkLiteral "[ textbox ]"; + border-radius = mkLiteral "5px"; + }; + + "textbox" = { + background-color = mkLiteral "@selected"; + text-color = mkLiteral "@foreground"; + padding = mkLiteral "20px 6px 20px 80px"; + }; + + "element" = { + background-color = mkLiteral "@background"; + text-color = mkLiteral "@foreground"; + orientation = mkLiteral "horizontal"; + border-radius = mkLiteral "4px"; + padding = mkLiteral "2px 2px 2px 2px"; + }; + + "element-text, element-icon" = { + background-color = mkLiteral "inherit"; + text-color = mkLiteral "inherit"; + }; + + "element-icon" = { + size = mkLiteral "40px"; + border = mkLiteral "10px"; + }; + + "element-text" = { + padding = mkLiteral "20px 0px 0px 10px"; + }; + + "element selected" = { + background-color = mkLiteral "@selected"; + text-color = mkLiteral "@selected-text"; + border = mkLiteral "0px"; + border-radius = mkLiteral "3px"; + border-color = mkLiteral "@selected"; + }; + }; + }; } diff --git a/NixOS/modules/waybar/default.nix b/NixOS/modules/waybar/default.nix index 8e1d947..202cf85 100644 --- a/NixOS/modules/waybar/default.nix +++ b/NixOS/modules/waybar/default.nix @@ -8,254 +8,254 @@ enable = true; package = inputs.waybar.packages.${pkgs.system}.waybar; settings = { - mainBar = { - layer = "top"; - height = 35; - spacing = 4; - output = "DP-2"; - modules-left = ["wlr/taskbar"]; - modules-center = ["hyprland/workspaces"]; - modules-right = ["tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2"]; - "wlr/taskbar" = { - on-click = "activate"; - on-click-right = "close"; - format = "{icon} {title:.20}"; - all-outputs = true; - }; - "wireplumber" = { - format = "{icon} {volume}%"; - format-muted = ""; - on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; - format-icons = ["" "" ""]; - }; - "hyprland/workspaces" = { - disable-scroll = true; - all-outputs = true; - warp-on-scroll = false; - format = "{name}"; - }; - "hyprland/window" = { - max-length = 50; - }; - tray = { - spacing = 10; - }; - "clock#clock2" = { - timezone = "Europe/Brussels"; - format = "{:%H:%M:%S}"; - interval = 1; - }; - clock = { - timezone = "Europe/Brussels"; - format = "{:%Y-%m-%d}"; - interval = 3600; - }; - cpu = { - format = "{max_frequency}GHz"; - tooltip = false; - interval = 5; - }; - "cpu#cpu2" = { - format = "CPU {usage}%"; - tooltip = false; - interval = 5; - }; - "custom/updates" = { - exec = "bash -c \"checkupdates | wc -l\""; - on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\""; - interval = 60; - format = "{}  "; - }; - memory = { - interval = 5; - format = "{used:0.2f}G"; - }; - temperature = { - hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; - interval = 5; - critical-threshold = 80; - format = "{temperatureC}°C"; - }; - battery = { - states = { - warning = 30; - critical = 15; - }; - format = "{icon}"; - tooltip-format = "{capacity}% ({time})"; - format-plugged = "{capacity}% "; - format-alt = "{capacity}% {time} {icon}"; - format-icons = [" " " " " " " " " "]; - }; + mainBar = { + layer = "top"; + height = 35; + spacing = 4; + output = "DP-2"; + modules-left = [ "wlr/taskbar" ]; + modules-center = [ "hyprland/workspaces" ]; + modules-right = [ "tray" "wireplumber" "cpu#cpu2" "cpu" "memory" "custom/updates" "temperature" "battery" "clock" "clock#clock2" ]; + "wlr/taskbar" = { + on-click = "activate"; + on-click-right = "close"; + format = "{icon} {title:.20}"; + all-outputs = true; }; + "wireplumber" = { + format = "{icon} {volume}%"; + format-muted = ""; + on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; + format-icons = [ "" "" "" ]; + }; + "hyprland/workspaces" = { + disable-scroll = true; + all-outputs = true; + warp-on-scroll = false; + format = "{name}"; + }; + "hyprland/window" = { + max-length = 50; + }; + tray = { + spacing = 10; + }; + "clock#clock2" = { + timezone = "Europe/Brussels"; + format = "{:%H:%M:%S}"; + interval = 1; + }; + clock = { + timezone = "Europe/Brussels"; + format = "{:%Y-%m-%d}"; + interval = 3600; + }; + cpu = { + format = "{max_frequency}GHz"; + tooltip = false; + interval = 5; + }; + "cpu#cpu2" = { + format = "CPU {usage}%"; + tooltip = false; + interval = 5; + }; + "custom/updates" = { + exec = "bash -c \"checkupdates | wc -l\""; + on-click = "alacritty -e bash -c \"yay ; echo '\nDone, press any key to exit...' ; read\""; + interval = 60; + format = "{}  "; + }; + memory = { + interval = 5; + format = "{used:0.2f}G"; + }; + temperature = { + hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; + interval = 5; + critical-threshold = 80; + format = "{temperatureC}°C"; + }; + battery = { + states = { + warning = 30; + critical = 15; + }; + format = "{icon}"; + tooltip-format = "{capacity}% ({time})"; + format-plugged = "{capacity}% "; + format-alt = "{capacity}% {time} {icon}"; + format-icons = [ " " " " " " " " " " ]; + }; + }; }; style = '' - * { - /* `otf-font-awesome` is required to be installed for icons */ - font-size: 18px; - font-weight:400; - font-family: "Roboto Sans", "FontAwesome"; - } + * { + /* `otf-font-awesome` is required to be installed for icons */ + font-size: 18px; + font-weight:400; + font-family: "Roboto Sans", "FontAwesome"; + } - window#waybar { - background-color: rgba(0, 0, 0, 0.2); - color: #ffffff; - transition-property: background-color; - transition-duration: .5s; - } + window#waybar { + background-color: rgba(0, 0, 0, 0.2); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; + } - /* window#waybar.hidden { */ - /* opacity: 0.2; */ - /* } */ + /* window#waybar.hidden { */ + /* opacity: 0.2; */ + /* } */ - button { - border: none; - border-radius: 0; - } + button { + border: none; + border-radius: 0; + } - button:hover { - background: inherit; - box-shadow: inset 0 0 #ffffff; - } - #workspaces button { - padding: 0 5px; - background-color: transparent; - color: #ffffff; - border-radius: 2px; - } + button:hover { + background: inherit; + box-shadow: inset 0 0 #ffffff; + } + #workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; + border-radius: 2px; + } - #workspaces button:hover { - background-color: #023269; - } + #workspaces button:hover { + background-color: #023269; + } - #workspaces button.focused { - background-color: #023269; - } + #workspaces button.focused { + background-color: #023269; + } - #workspaces button.active { - background-color: #023269; - } + #workspaces button.active { + background-color: #023269; + } - #workspaces button.urgent { - background-color: #ed8274; - } + #workspaces button.urgent { + background-color: #ed8274; + } - #window, - #clock, - #battery, - #cpu, - #memory, - #disk, - #temperature, - #backlight, - #network, - #pulseaudio, - #wireplumber, - #custom-updates, - #custom-powermode, - #tray { - padding: 0 14px; - border-radius: 7px; - color: #ffffff; - background-color: #1f2430; - margin-left:4px; - margin-right:4px; - margin-top:2px; - margin-bottom:2px; - } + #window, + #clock, + #battery, + #cpu, + #memory, + #disk, + #temperature, + #backlight, + #network, + #pulseaudio, + #wireplumber, + #custom-updates, + #custom-powermode, + #tray { + padding: 0 14px; + border-radius: 7px; + color: #ffffff; + background-color: #1f2430; + margin-left:4px; + margin-right:4px; + margin-top:2px; + margin-bottom:2px; + } - #clock.clock2, - #cpu.cpu2, - #memory, - #tray, - #temperature { - background-color: #023269; - } + #clock.clock2, + #cpu.cpu2, + #memory, + #tray, + #temperature { + background-color: #023269; + } - #taskbar button { - padding: 0 12px; - border-radius: 7px; - color: #ffffff; - background-color: #1f2430; - margin-left:4px; - margin-right:4px; - margin-top:2px; - margin-bottom:2px; - } - #taskbar button.active { - background-color: #023269; - } + #taskbar button { + padding: 0 12px; + border-radius: 7px; + color: #ffffff; + background-color: #1f2430; + margin-left:4px; + margin-right:4px; + margin-top:2px; + margin-bottom:2px; + } + #taskbar button.active { + background-color: #023269; + } - #window { - font-weight:400; - margin-left:0; - } - window#waybar.empty #window { - background-color: transparent; - } + #window { + font-weight:400; + margin-left:0; + } + window#waybar.empty #window { + background-color: transparent; + } - #clock { - margin-right:0; - } + #clock { + margin-right:0; + } - #workspaces { - margin: 4px 9px; - } + #workspaces { + margin: 4px 9px; + } - /* If workspaces is the leftmost module, omit left margin */ - .modules-left > widget:first-child > #workspaces { - margin-left: 0; - } + /* If workspaces is the leftmost module, omit left margin */ + .modules-left > widget:first-child > #workspaces { + margin-left: 0; + } - /* If workspaces is the rightmost module, omit right margin */ - .modules-right > widget:last-child > #workspaces { - margin-right: 0; - } + /* If workspaces is the rightmost module, omit right margin */ + .modules-right > widget:last-child > #workspaces { + margin-right: 0; + } - @keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } - } + @keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } + } - #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; - } + #battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; + } - label:focus { - background-color: #000000; - } + label:focus { + background-color: #000000; + } - #custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; - } + #custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; + } - #custom-media.custom-spotify { - background-color: #66cc99; - } + #custom-media.custom-spotify { + background-color: #66cc99; + } - #custom-media.custom-vlc { - background-color: #ffa000; - } + #custom-media.custom-vlc { + background-color: #ffa000; + } - #tray > .passive { - -gtk-icon-effect: dim; - } + #tray > .passive { + -gtk-icon-effect: dim; + } - #tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: #eb4d4b; - } + #tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; + } ''; }; }