Update Zed configuration for nix LSP and formatter.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
programs.auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -3,13 +3,11 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernelModules = [ "v4l2loopback" ];
|
||||
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
kernelModules = ["v4l2loopback"];
|
||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
kernel.sysctl = {
|
||||
"vm.max_map_count" = 2147483642;
|
||||
};
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
{inputs, ...}: {
|
||||
imports = [
|
||||
./packages
|
||||
./auto-cpufreq.nix
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
dejavu_fonts
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
#vt = 3;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = [ pkgs.sane-airscan ];
|
||||
disabledDefaultBackends = [ "escl" ];
|
||||
extraBackends = [pkgs.sane-airscan];
|
||||
disabledDefaultBackends = ["escl"];
|
||||
};
|
||||
logitech.wireless = {
|
||||
enable = false;
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
host,
|
||||
options,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
||||
in
|
||||
{
|
||||
in {
|
||||
# Defensive assertion for hostname validity (clearer message at eval time)
|
||||
assertions = [
|
||||
{
|
||||
@@ -19,7 +17,7 @@ in
|
||||
hostName = "${host}";
|
||||
hostId = hostId;
|
||||
networkmanager.enable = true;
|
||||
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
||||
in
|
||||
{
|
||||
in {
|
||||
services = {
|
||||
rpcbind.enable = enableNFS;
|
||||
nfs.server.enable = enableNFS;
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
{username, ...}: {
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
clean = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Communication
|
||||
slack
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
imports = [
|
||||
./programs.nix
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Learning & practice
|
||||
exercism
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
# inputs,
|
||||
# system,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# inputs.prismlauncher-cracked.packages.${system}.default
|
||||
space-cadet-pinball
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
# inputs,
|
||||
# system,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Video & image processing
|
||||
ffmpeg
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
# pkgs
|
||||
...
|
||||
}:
|
||||
{
|
||||
# {
|
||||
# pkgs
|
||||
# ...
|
||||
# }
|
||||
_: {
|
||||
programs = {
|
||||
nano.enable = true;
|
||||
hyprland = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
cmatrix
|
||||
cowsay
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# File management
|
||||
trash-cli
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
virt-viewer
|
||||
# lazydocker
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) printEnable;
|
||||
in
|
||||
{
|
||||
in {
|
||||
services = {
|
||||
printing = {
|
||||
enable = printEnable;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ profile, ... }:
|
||||
{
|
||||
{profile, ...}: {
|
||||
# Services to start
|
||||
services = {
|
||||
libinput.enable = true; # Input Handling
|
||||
@@ -12,14 +11,17 @@
|
||||
PasswordAuthentication = true; # Users can SSH using kb and password
|
||||
KbdInteractiveAuthentication = true;
|
||||
};
|
||||
ports = [ 22 ];
|
||||
ports = [22];
|
||||
};
|
||||
blueman.enable = true; # Bluetooth Support
|
||||
tumbler.enable = true; # Image/video preview
|
||||
gnome.gnome-keyring.enable = true;
|
||||
|
||||
smartd = {
|
||||
enable = if profile == "vm" then false else true;
|
||||
enable =
|
||||
if profile == "vm"
|
||||
then false
|
||||
else true;
|
||||
autodetect = true;
|
||||
};
|
||||
pipewire = {
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
||||
extraCompatPackages = [pkgs.proton-ge-bin];
|
||||
};
|
||||
# gamescope = {
|
||||
# enable = true;
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
pkgs,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
||||
in
|
||||
{
|
||||
in {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ username, ... }:
|
||||
{
|
||||
{username, ...}: {
|
||||
services.syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
||||
in
|
||||
{
|
||||
host,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
||||
in {
|
||||
nix = {
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
settings = {
|
||||
download-buffer-size = 200000000;
|
||||
auto-optimise-store = true;
|
||||
@@ -11,22 +14,24 @@ in
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
};
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
i18n.defaultLocale = "pl_PL.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
i18n = {
|
||||
defaultLocale = "pl_PL.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
};
|
||||
};
|
||||
environment.variables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
thunar = {
|
||||
enable = true;
|
||||
|
||||
@@ -6,12 +6,10 @@
|
||||
profile,
|
||||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
||||
in
|
||||
{
|
||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
||||
in {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = false;
|
||||
@@ -26,7 +24,7 @@ in
|
||||
;
|
||||
};
|
||||
users.${username} = {
|
||||
imports = [ ./../home ];
|
||||
imports = [./../home];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
@@ -52,5 +50,5 @@ in
|
||||
shell = pkgs.bash;
|
||||
ignoreShellProgramCheck = true;
|
||||
};
|
||||
nix.settings.allowed-users = [ "${username}" ];
|
||||
nix.settings.allowed-users = ["${username}"];
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
# Only enable either docker or podman -- Not both
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
@@ -7,6 +6,6 @@
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
configPackages = [ pkgs.hyprland ];
|
||||
configPackages = [pkgs.hyprland];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
||||
in
|
||||
{
|
||||
in {
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
|
||||
@@ -4,18 +4,16 @@
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.drivers.amdgpu;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.drivers.amdgpu = {
|
||||
enable = mkEnableOption "Enable AMD Drivers";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
environment.systemPackages = with pkgs; [ rocmPackages.rocm-smi ];
|
||||
systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
|
||||
services.xserver.videoDrivers = ["amdgpu"];
|
||||
environment.systemPackages = with pkgs; [rocmPackages.rocm-smi];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./amd-drivers.nix
|
||||
./intel-drivers.nix
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.drivers.intel;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.drivers.intel = {
|
||||
enable = mkEnableOption "Enable Intel Graphics Drivers";
|
||||
};
|
||||
|
||||
@@ -4,14 +4,12 @@
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.local.hardware-clock;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.local.hardware-clock = {
|
||||
enable = mkEnableOption "Change Hardware Clock To Local Time";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable { time.hardwareClockInLocalTime = true; };
|
||||
config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
|
||||
}
|
||||
|
||||
@@ -4,18 +4,16 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.drivers.nvidia;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.drivers.nvidia = {
|
||||
enable = mkEnableOption "Enable Nvidia Drivers";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
environment.systemPackages = with pkgs; [ nvidia-docker ];
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
environment.systemPackages = with pkgs; [nvidia-docker];
|
||||
hardware = {
|
||||
nvidia-container-toolkit.enable = true;
|
||||
nvidia = {
|
||||
@@ -43,7 +41,6 @@ in
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
# Making nvidia docker toolkit work:
|
||||
#
|
||||
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
|
||||
@@ -59,3 +56,4 @@ in
|
||||
# EOF
|
||||
#
|
||||
# docker run --device nvidia.com/gpu=all
|
||||
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.drivers.nvidia-prime;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.drivers.nvidia-prime = {
|
||||
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
|
||||
intelBusID = mkOption {
|
||||
|
||||
@@ -4,11 +4,9 @@
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.vm.guest-services;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.vm.guest-services = {
|
||||
enable = mkEnableOption "Enable Virtual Machine Guest Services";
|
||||
};
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ pkgs, username, ... }:
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
programs.anki = {
|
||||
enable = true;
|
||||
package = pkgs.anki;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ host, username, ... }:
|
||||
{
|
||||
host,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
programs.bash = {
|
||||
shellAliases = {
|
||||
# GarandOS aliases
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
package = pkgs.btop.override {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
package = pkgs.ungoogled-chromium;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) waybarChoice;
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
./fastfetch
|
||||
./hyprland
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
home.file.".config/.emoji".text = ''
|
||||
😀 grinning face face smile happy joy :D grin
|
||||
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
||||
|
||||
@@ -3,13 +3,11 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
accent = "#" + config.lib.stylix.colors.base0D;
|
||||
foreground = "#" + config.lib.stylix.colors.base05;
|
||||
muted = "#" + config.lib.stylix.colors.base03;
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
gtk = {
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
animations = {
|
||||
enabled = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# name "Dynamic"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# Name: END-4
|
||||
# Credit: END-4 project https://github.com/end-4/dots-hyprland
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
# name "moving"
|
||||
# credit https://github.com/mylinuxforwork/dotfiles
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
{ host, username, ... }:
|
||||
let
|
||||
{
|
||||
host,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
|
||||
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||
in
|
||||
{
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
bind = [
|
||||
# =============================================================================
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
{host, ...}: let
|
||||
inherit (import ../../../hosts/${host}/variables.nix) animChoice;
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [
|
||||
animChoice
|
||||
./binds.nix
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
env = [
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{ host, ... }:
|
||||
let
|
||||
inherit (import ../../../hosts/${host}/variables.nix)
|
||||
{host, ...}: let
|
||||
inherit
|
||||
(import ../../../hosts/${host}/variables.nix)
|
||||
stylixImage
|
||||
;
|
||||
in
|
||||
{
|
||||
in {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"wl-paste --type text --watch cliphist store" # Saves text
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
_: {
|
||||
services = {
|
||||
hypridle = {
|
||||
enable = true;
|
||||
|
||||
@@ -3,11 +3,9 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
||||
in
|
||||
{
|
||||
in {
|
||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||
"xdg-desktop-autostart.target"
|
||||
];
|
||||
@@ -26,7 +24,7 @@ in
|
||||
systemd = {
|
||||
enable = true;
|
||||
enableXdgAutostart = true;
|
||||
variables = [ "--all" ];
|
||||
variables = ["--all"];
|
||||
};
|
||||
xwayland = {
|
||||
enable = true;
|
||||
@@ -68,8 +66,7 @@ in
|
||||
gaps_out = 8;
|
||||
border_size = 2;
|
||||
resize_on_border = true;
|
||||
"col.active_border" =
|
||||
"rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
||||
};
|
||||
|
||||
@@ -154,9 +151,7 @@ in
|
||||
extraConfig = "
|
||||
monitor=,preferred,auto,auto
|
||||
monitor=Virtual-1,1920x1080@60,auto,1
|
||||
${
|
||||
extraMonitorSettings
|
||||
}
|
||||
${extraMonitorSettings}
|
||||
# To enable blur on waybar uncomment the line below
|
||||
# Thanks to SchotjeChrisman
|
||||
#layerrule = blur,waybar
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ username, ... }:
|
||||
{
|
||||
{username, ...}: {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
home.file.".config/hypr/pyprland.toml".text = ''
|
||||
[pyprland]
|
||||
plugins = [
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
system,
|
||||
host,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs = {
|
||||
librewolf = {
|
||||
enable = true;
|
||||
@@ -61,12 +60,12 @@
|
||||
force = true;
|
||||
engines = {
|
||||
"garand's-search" = {
|
||||
definedAliases = [ "@g" ];
|
||||
urls = [ { template = "https://search.garandplg.com/search?q={searchTerms}"; } ];
|
||||
definedAliases = ["@g"];
|
||||
urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}];
|
||||
suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}";
|
||||
};
|
||||
"youtube" = {
|
||||
definedAliases = [ "@yt" ];
|
||||
definedAliases = ["@yt"];
|
||||
urls = [
|
||||
{
|
||||
template = "https://www.youtube.com/results";
|
||||
@@ -80,7 +79,7 @@
|
||||
];
|
||||
};
|
||||
"wikipedia-pl" = {
|
||||
definedAliases = [ "@w" ];
|
||||
definedAliases = ["@w"];
|
||||
urls = [
|
||||
{
|
||||
template = "https://pl.wikipedia.org/w/index.php";
|
||||
@@ -94,7 +93,7 @@
|
||||
];
|
||||
};
|
||||
"stackoverflow" = {
|
||||
definedAliases = [ "@so" ];
|
||||
definedAliases = ["@so"];
|
||||
urls = [
|
||||
{
|
||||
template = "https://stackoverflow.com/search";
|
||||
@@ -108,7 +107,7 @@
|
||||
];
|
||||
};
|
||||
"nix-packages" = {
|
||||
definedAliases = [ "@np" ];
|
||||
definedAliases = ["@np"];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -123,7 +122,7 @@
|
||||
];
|
||||
};
|
||||
"nix-options" = {
|
||||
definedAliases = [ "@no" ];
|
||||
definedAliases = ["@no"];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -138,7 +137,7 @@
|
||||
];
|
||||
};
|
||||
"nix-wiki" = {
|
||||
definedAliases = [ "@nw" ];
|
||||
definedAliases = ["@nw"];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -153,7 +152,7 @@
|
||||
];
|
||||
};
|
||||
"home-manager-option" = {
|
||||
definedAliases = [ "@hmo" ];
|
||||
definedAliases = ["@hmo"];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -162,7 +161,7 @@
|
||||
];
|
||||
};
|
||||
"eneba" = {
|
||||
definedAliases = [ "@en" ];
|
||||
definedAliases = ["@en"];
|
||||
icon = "https://static.eneba.games/branding/v2/logoFull.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -177,7 +176,7 @@
|
||||
];
|
||||
};
|
||||
"kinguin" = {
|
||||
definedAliases = [ "@ki" ];
|
||||
definedAliases = ["@ki"];
|
||||
icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -192,7 +191,7 @@
|
||||
];
|
||||
};
|
||||
"instant-gaming" = {
|
||||
definedAliases = [ "@ig" ];
|
||||
definedAliases = ["@ig"];
|
||||
icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg";
|
||||
urls = [
|
||||
{
|
||||
@@ -207,7 +206,7 @@
|
||||
];
|
||||
};
|
||||
"morele" = {
|
||||
definedAliases = [ "@mo" ];
|
||||
definedAliases = ["@mo"];
|
||||
icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -222,7 +221,7 @@
|
||||
];
|
||||
};
|
||||
"x-kom" = {
|
||||
definedAliases = [ "@xk" ];
|
||||
definedAliases = ["@xk"];
|
||||
icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -237,7 +236,7 @@
|
||||
];
|
||||
};
|
||||
"komputronik" = {
|
||||
definedAliases = [ "@kp" ];
|
||||
definedAliases = ["@kp"];
|
||||
icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg";
|
||||
urls = [
|
||||
{
|
||||
@@ -252,7 +251,7 @@
|
||||
];
|
||||
};
|
||||
"allegro" = {
|
||||
definedAliases = [ "@al" ];
|
||||
definedAliases = ["@al"];
|
||||
icon = "";
|
||||
urls = [
|
||||
{
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
{ pkgs, osConfig, ... }:
|
||||
{
|
||||
pkgs,
|
||||
osConfig,
|
||||
...
|
||||
}: {
|
||||
programs.lutris = {
|
||||
enable = false;
|
||||
package = pkgs.lutris;
|
||||
protonPackages = [ pkgs.proton-ge-bin ];
|
||||
winePackages = [ pkgs.wineWowPackages.waylandFull ];
|
||||
protonPackages = [pkgs.proton-ge-bin];
|
||||
winePackages = [pkgs.wineWowPackages.waylandFull];
|
||||
defaultWinePackage = pkgs.wineWowPackages.waylandFull;
|
||||
steamPackage = osConfig.programs.steam.package;
|
||||
};
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
startInBackground = true;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.obs-studio = {
|
||||
enable = false;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.onlyoffice = {
|
||||
enable = true;
|
||||
package = pkgs.onlyoffice-desktopeditors;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
{lib, ...}: {
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = lib.mkForce "qtct";
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
home.file.".config/rofi/config-long.rasi".text = ''
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
* {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
imports = [
|
||||
./config-long.nix
|
||||
./rofi.nix
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs = {
|
||||
rofi = {
|
||||
enable = true;
|
||||
@@ -18,193 +17,191 @@
|
||||
display-run = " Run";
|
||||
display-filebrowser = " File";
|
||||
};
|
||||
theme =
|
||||
let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
in
|
||||
{
|
||||
"*" = {
|
||||
bg = mkLiteral "#${config.stylix.base16Scheme.base00}";
|
||||
bg-alt = mkLiteral "#${config.stylix.base16Scheme.base09}";
|
||||
foreground = mkLiteral "#${config.stylix.base16Scheme.base01}";
|
||||
selected = mkLiteral "#${config.stylix.base16Scheme.base08}";
|
||||
active = mkLiteral "#${config.stylix.base16Scheme.base0B}";
|
||||
text-selected = mkLiteral "#${config.stylix.base16Scheme.base00}";
|
||||
text-color = mkLiteral "#${config.stylix.base16Scheme.base05}";
|
||||
border-color = mkLiteral "#${config.stylix.base16Scheme.base0F}";
|
||||
urgent = mkLiteral "#${config.stylix.base16Scheme.base0E}";
|
||||
};
|
||||
"window" = {
|
||||
transparency = "real";
|
||||
width = mkLiteral "1000px";
|
||||
location = mkLiteral "center";
|
||||
anchor = mkLiteral "center";
|
||||
fullscreen = false;
|
||||
x-offset = mkLiteral "0px";
|
||||
y-offset = mkLiteral "0px";
|
||||
cursor = "default";
|
||||
enabled = true;
|
||||
border-radius = mkLiteral "15px";
|
||||
background-color = mkLiteral "@bg";
|
||||
};
|
||||
"mainbox" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "0px";
|
||||
orientation = mkLiteral "horizontal";
|
||||
children = map mkLiteral [
|
||||
"imagebox"
|
||||
"listbox"
|
||||
];
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"imagebox" = {
|
||||
padding = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)'';
|
||||
orientation = mkLiteral "vertical";
|
||||
children = map mkLiteral [
|
||||
"inputbar"
|
||||
"dummy"
|
||||
"mode-switcher"
|
||||
];
|
||||
};
|
||||
"listbox" = {
|
||||
spacing = mkLiteral "20px";
|
||||
padding = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
orientation = mkLiteral "vertical";
|
||||
children = map mkLiteral [
|
||||
"message"
|
||||
"listview"
|
||||
];
|
||||
};
|
||||
"dummy" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"inputbar" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "10px";
|
||||
padding = mkLiteral "10px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "@foreground";
|
||||
children = map mkLiteral [
|
||||
"textbox-prompt-colon"
|
||||
"entry"
|
||||
];
|
||||
};
|
||||
"textbox-prompt-colon" = {
|
||||
enabled = true;
|
||||
expand = false;
|
||||
str = "";
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
};
|
||||
"entry" = {
|
||||
enabled = true;
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "text";
|
||||
placeholder = "Search";
|
||||
placeholder-color = mkLiteral "inherit";
|
||||
};
|
||||
"mode-switcher" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"button" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "pointer";
|
||||
};
|
||||
"button selected" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"listview" = {
|
||||
enabled = true;
|
||||
columns = 1;
|
||||
lines = 8;
|
||||
cycle = true;
|
||||
dynamic = true;
|
||||
scrollbar = false;
|
||||
layout = mkLiteral "vertical";
|
||||
reverse = false;
|
||||
fixed-height = true;
|
||||
fixed-columns = true;
|
||||
spacing = mkLiteral "10px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@foreground";
|
||||
cursor = "default";
|
||||
};
|
||||
"element" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "15px";
|
||||
padding = mkLiteral "8px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@text-color";
|
||||
cursor = mkLiteral "pointer";
|
||||
};
|
||||
"element normal.normal" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element normal.urgent" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element normal.active" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element selected.normal" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"element selected.urgent" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-selected";
|
||||
};
|
||||
"element selected.active" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-selected";
|
||||
};
|
||||
"element-icon" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "inherit";
|
||||
size = mkLiteral "36px";
|
||||
cursor = mkLiteral "inherit";
|
||||
};
|
||||
"element-text" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "inherit";
|
||||
vertical-align = mkLiteral "0.5";
|
||||
horizontal-align = mkLiteral "0.0";
|
||||
};
|
||||
"message" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"textbox" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "@foreground";
|
||||
vertical-align = mkLiteral "0.5";
|
||||
horizontal-align = mkLiteral "0.0";
|
||||
};
|
||||
"error-message" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "20px";
|
||||
background-color = mkLiteral "@bg";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
theme = let
|
||||
inherit (config.lib.formats.rasi) mkLiteral;
|
||||
in {
|
||||
"*" = {
|
||||
bg = mkLiteral "#${config.stylix.base16Scheme.base00}";
|
||||
bg-alt = mkLiteral "#${config.stylix.base16Scheme.base09}";
|
||||
foreground = mkLiteral "#${config.stylix.base16Scheme.base01}";
|
||||
selected = mkLiteral "#${config.stylix.base16Scheme.base08}";
|
||||
active = mkLiteral "#${config.stylix.base16Scheme.base0B}";
|
||||
text-selected = mkLiteral "#${config.stylix.base16Scheme.base00}";
|
||||
text-color = mkLiteral "#${config.stylix.base16Scheme.base05}";
|
||||
border-color = mkLiteral "#${config.stylix.base16Scheme.base0F}";
|
||||
urgent = mkLiteral "#${config.stylix.base16Scheme.base0E}";
|
||||
};
|
||||
"window" = {
|
||||
transparency = "real";
|
||||
width = mkLiteral "1000px";
|
||||
location = mkLiteral "center";
|
||||
anchor = mkLiteral "center";
|
||||
fullscreen = false;
|
||||
x-offset = mkLiteral "0px";
|
||||
y-offset = mkLiteral "0px";
|
||||
cursor = "default";
|
||||
enabled = true;
|
||||
border-radius = mkLiteral "15px";
|
||||
background-color = mkLiteral "@bg";
|
||||
};
|
||||
"mainbox" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "0px";
|
||||
orientation = mkLiteral "horizontal";
|
||||
children = map mkLiteral [
|
||||
"imagebox"
|
||||
"listbox"
|
||||
];
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"imagebox" = {
|
||||
padding = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
background-image = mkLiteral ''url("~/Pictures/Wallpapers/fire-nation.jpg", height)'';
|
||||
orientation = mkLiteral "vertical";
|
||||
children = map mkLiteral [
|
||||
"inputbar"
|
||||
"dummy"
|
||||
"mode-switcher"
|
||||
];
|
||||
};
|
||||
"listbox" = {
|
||||
spacing = mkLiteral "20px";
|
||||
padding = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
orientation = mkLiteral "vertical";
|
||||
children = map mkLiteral [
|
||||
"message"
|
||||
"listview"
|
||||
];
|
||||
};
|
||||
"dummy" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"inputbar" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "10px";
|
||||
padding = mkLiteral "10px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "@foreground";
|
||||
children = map mkLiteral [
|
||||
"textbox-prompt-colon"
|
||||
"entry"
|
||||
];
|
||||
};
|
||||
"textbox-prompt-colon" = {
|
||||
enabled = true;
|
||||
expand = false;
|
||||
str = "";
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
};
|
||||
"entry" = {
|
||||
enabled = true;
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "text";
|
||||
placeholder = "Search";
|
||||
placeholder-color = mkLiteral "inherit";
|
||||
};
|
||||
"mode-switcher" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "20px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"button" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "pointer";
|
||||
};
|
||||
"button selected" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"listview" = {
|
||||
enabled = true;
|
||||
columns = 1;
|
||||
lines = 8;
|
||||
cycle = true;
|
||||
dynamic = true;
|
||||
scrollbar = false;
|
||||
layout = mkLiteral "vertical";
|
||||
reverse = false;
|
||||
fixed-height = true;
|
||||
fixed-columns = true;
|
||||
spacing = mkLiteral "10px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@foreground";
|
||||
cursor = "default";
|
||||
};
|
||||
"element" = {
|
||||
enabled = true;
|
||||
spacing = mkLiteral "15px";
|
||||
padding = mkLiteral "8px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "@text-color";
|
||||
cursor = mkLiteral "pointer";
|
||||
};
|
||||
"element normal.normal" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element normal.urgent" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element normal.active" = {
|
||||
background-color = mkLiteral "inherit";
|
||||
text-color = mkLiteral "@text-color";
|
||||
};
|
||||
"element selected.normal" = {
|
||||
background-color = mkLiteral "@selected";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
"element selected.urgent" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-selected";
|
||||
};
|
||||
"element selected.active" = {
|
||||
background-color = mkLiteral "@urgent";
|
||||
text-color = mkLiteral "@text-selected";
|
||||
};
|
||||
"element-icon" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "inherit";
|
||||
size = mkLiteral "36px";
|
||||
cursor = mkLiteral "inherit";
|
||||
};
|
||||
"element-text" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
text-color = mkLiteral "inherit";
|
||||
cursor = mkLiteral "inherit";
|
||||
vertical-align = mkLiteral "0.5";
|
||||
horizontal-align = mkLiteral "0.0";
|
||||
};
|
||||
"message" = {
|
||||
background-color = mkLiteral "transparent";
|
||||
};
|
||||
"textbox" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "10px";
|
||||
background-color = mkLiteral "@bg-alt";
|
||||
text-color = mkLiteral "@foreground";
|
||||
vertical-align = mkLiteral "0.5";
|
||||
horizontal-align = mkLiteral "0.0";
|
||||
};
|
||||
"error-message" = {
|
||||
padding = mkLiteral "15px";
|
||||
border-radius = mkLiteral "20px";
|
||||
background-color = mkLiteral "@bg";
|
||||
text-color = mkLiteral "@foreground";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
# hyprland
|
||||
swww
|
||||
@@ -17,19 +16,19 @@
|
||||
# pyprland
|
||||
pyprland
|
||||
|
||||
(import ./emopicker9000.nix { inherit pkgs; })
|
||||
(import ./hm-find.nix { inherit pkgs; })
|
||||
(import ./keybinds.nix { inherit pkgs username; })
|
||||
(import ./note.nix { inherit pkgs; })
|
||||
(import ./note-from-clipboard.nix { inherit pkgs; })
|
||||
(import ./nvidia-offload.nix { inherit pkgs; })
|
||||
(import ./rofi-launcher.nix { inherit pkgs; })
|
||||
(import ./screenshootin.nix { inherit pkgs; })
|
||||
(import ./task-waybar.nix { inherit pkgs; })
|
||||
(import ./emopicker9000.nix {inherit pkgs;})
|
||||
(import ./hm-find.nix {inherit pkgs;})
|
||||
(import ./keybinds.nix {inherit pkgs username;})
|
||||
(import ./note.nix {inherit pkgs;})
|
||||
(import ./note-from-clipboard.nix {inherit pkgs;})
|
||||
(import ./nvidia-offload.nix {inherit pkgs;})
|
||||
(import ./rofi-launcher.nix {inherit pkgs;})
|
||||
(import ./screenshootin.nix {inherit pkgs;})
|
||||
(import ./task-waybar.nix {inherit pkgs;})
|
||||
(import ./wallsetter.nix {
|
||||
inherit pkgs;
|
||||
inherit username;
|
||||
})
|
||||
(import ./web-search.nix { inherit pkgs; })
|
||||
(import ./web-search.nix {inherit pkgs;})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs }:
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "emopicker9000" ''
|
||||
# check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs }:
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "hm-find" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
@@ -1,29 +1,32 @@
|
||||
{ pkgs, username, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||
in
|
||||
pkgs.writeShellScriptBin "list-keybinds" ''
|
||||
# check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
pkill rofi
|
||||
fi
|
||||
pkgs.writeShellScriptBin "list-keybinds" ''
|
||||
# check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
pkill rofi
|
||||
fi
|
||||
|
||||
msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)'
|
||||
keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind')
|
||||
msg=' = Windows/Super/CAPS LOCK (Enter nie wykonuje skrótu)'
|
||||
keybinds=$(cat ~/.config/hypr/hyprland.conf | grep -E '^bind')
|
||||
|
||||
# replace $modifier with SUPER and clean up paths
|
||||
display_keybinds=$(echo "$keybinds" | sed 's/\$modifier//g' | sed 's|${desktopEntriesPath}/||g')
|
||||
# replace $modifier with SUPER and clean up paths
|
||||
display_keybinds=$(echo "$keybinds" | sed 's/\$modifier//g' | sed 's|${desktopEntriesPath}/||g')
|
||||
|
||||
# remove "bind=" and "bindm=" prefixes
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/^bind=//' | sed 's/^bindm=/🖱️/')
|
||||
# remove "bind=" and "bindm=" prefixes
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/^bind=//' | sed 's/^bindm=/🖱️/')
|
||||
|
||||
# add + before CONTROL, SHIFT, ALT when they appear after removed $modifier
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/ CONTROL/ + CONTROL/g' | sed 's/ SHIFT/ + SHIFT/g' | sed 's/ ALT/ + ALT/g')
|
||||
# add + before CONTROL, SHIFT, ALT when they appear after removed $modifier
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/ CONTROL/ + CONTROL/g' | sed 's/ SHIFT/ + SHIFT/g' | sed 's/ ALT/ + ALT/g')
|
||||
|
||||
# replace commas: first comma -> " +", second comma -> " =", remaining commas -> " ->"
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/,/ +/1' | sed 's/,/ =/1' | sed 's/,/ ->/g')
|
||||
# replace commas: first comma -> " +", second comma -> " =", remaining commas -> " ->"
|
||||
display_keybinds=$(echo "$display_keybinds" | sed 's/,/ +/1' | sed 's/,/ =/1' | sed 's/,/ ->/g')
|
||||
|
||||
# use rofi to display the keybinds with the modified content
|
||||
echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg"
|
||||
# use rofi to display the keybinds with the modified content
|
||||
echo "$display_keybinds" | rofi -dmenu -i -config ~/.config/rofi/config-long.rasi -mesg "$msg"
|
||||
|
||||
''
|
||||
''
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "note-from-clipboard" ''
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "note" ''
|
||||
|
||||
# Colors for nice output
|
||||
@@ -42,24 +42,24 @@ pkgs.writeShellScriptBin "note" ''
|
||||
local note_text="$1"
|
||||
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
local date_only=$(date '+%Y-%m-%d')
|
||||
|
||||
|
||||
# Create notes file if it doesn't exist
|
||||
touch "$NOTES_FILE"
|
||||
|
||||
|
||||
# Get next note number
|
||||
local note_num=1
|
||||
if [ -f "$NOTES_FILE" ] && [ -s "$NOTES_FILE" ]; then
|
||||
note_num=$(grep -E "^#[0-9]+" "$NOTES_FILE" | sed 's/^#\([0-9]*\).*/\1/' | sort -n | tail -1)
|
||||
note_num=$((note_num + 1))
|
||||
fi
|
||||
|
||||
|
||||
# Add the note with proper formatting
|
||||
{
|
||||
echo "#$note_num [$timestamp]"
|
||||
echo "$note_text"
|
||||
echo ""
|
||||
} >> "$NOTES_FILE"
|
||||
|
||||
|
||||
echo -e "''${GREEN}✓''${NC} Note #$note_num added ''${GRAY}($date_only)''${NC}"
|
||||
}
|
||||
|
||||
@@ -70,14 +70,14 @@ pkgs.writeShellScriptBin "note" ''
|
||||
echo -e "''${GRAY}Use ''${CYAN}note <text>''${GRAY} to add your first note''${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
echo -e "''${BOLD}''${BLUE}📝 Your Notes''${NC}"
|
||||
echo -e "''${GRAY}📁 $NOTES_FILE''${NC}"
|
||||
echo -e "''${GRAY}$(printf '%.0s─' {1..50})''${NC}"
|
||||
|
||||
|
||||
local in_note=false
|
||||
local note_content=""
|
||||
|
||||
|
||||
while IFS= read -r line; do
|
||||
# Check if line starts with # followed by numbers and space and [
|
||||
if echo "$line" | grep -q "^#[0-9][0-9]* \["; then
|
||||
@@ -86,13 +86,13 @@ pkgs.writeShellScriptBin "note" ''
|
||||
echo -e "$note_content"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
|
||||
# Extract note number and timestamp
|
||||
local num=$(echo "$line" | sed 's/^#\([0-9]*\) \[.*/\1/')
|
||||
local timestamp=$(echo "$line" | sed 's/^#[0-9]* \[\(.*\)\]/\1/')
|
||||
local date_part=$(echo "$timestamp" | cut -d' ' -f1)
|
||||
local time_part=$(echo "$timestamp" | cut -d' ' -f2)
|
||||
|
||||
|
||||
echo -e "''${BOLD}''${CYAN}#$num''${NC} ''${GRAY}[$date_part ''${YELLOW}$time_part''${GRAY}]''${NC}"
|
||||
in_note=true
|
||||
note_content=""
|
||||
@@ -113,13 +113,13 @@ pkgs.writeShellScriptBin "note" ''
|
||||
note_content=""
|
||||
fi
|
||||
done < "$NOTES_FILE"
|
||||
|
||||
|
||||
# Print last note if file doesn't end with empty line
|
||||
if [ "$in_note" = true ] && [ -n "$note_content" ]; then
|
||||
echo -e "$note_content"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
|
||||
local total_notes=$(grep -c "^#[0-9]" "$NOTES_FILE")
|
||||
echo -e "''${GRAY}$(printf '%.0s─' {1..50})''${NC}"
|
||||
echo -e "''${GRAY}Total: ''${BOLD}$total_notes''${NC} ''${GRAY}notes''${NC}"
|
||||
@@ -128,27 +128,27 @@ pkgs.writeShellScriptBin "note" ''
|
||||
# Function to delete a note
|
||||
delete_note() {
|
||||
local note_num="$1"
|
||||
|
||||
|
||||
if [ ! -f "$NOTES_FILE" ] || [ ! -s "$NOTES_FILE" ]; then
|
||||
echo -e "''${RED}✗''${NC} No notes found"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
if ! echo "$note_num" | grep -q "^[0-9][0-9]*$"; then
|
||||
echo -e "''${RED}✗''${NC} Invalid note number: $note_num"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
# Check if note exists
|
||||
if ! grep -q "^#$note_num " "$NOTES_FILE"; then
|
||||
echo -e "''${RED}✗''${NC} Note #$note_num not found"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
# Create temporary file without the specified note
|
||||
local temp_file=$(mktemp)
|
||||
local skip_lines=false
|
||||
|
||||
|
||||
while IFS= read -r line; do
|
||||
if echo "$line" | grep -q "^#[0-9][0-9]* "; then
|
||||
local current_num=$(echo "$line" | sed 's/^#\([0-9]*\) .*/\1/')
|
||||
@@ -159,7 +159,7 @@ pkgs.writeShellScriptBin "note" ''
|
||||
skip_lines=false
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ "$skip_lines" = false ]; then
|
||||
echo "$line" >> "$temp_file"
|
||||
elif [ -z "$line" ]; then
|
||||
@@ -167,7 +167,7 @@ pkgs.writeShellScriptBin "note" ''
|
||||
skip_lines=false
|
||||
fi
|
||||
done < "$NOTES_FILE"
|
||||
|
||||
|
||||
mv "$temp_file" "$NOTES_FILE"
|
||||
echo -e "''${GREEN}✓''${NC} Note #$note_num deleted"
|
||||
}
|
||||
@@ -178,11 +178,11 @@ pkgs.writeShellScriptBin "note" ''
|
||||
echo -e "''${YELLOW}📝 No notes to clear''${NC}"
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
local total_notes=$(grep -c "^#[0-9]" "$NOTES_FILE")
|
||||
echo -e "''${YELLOW}⚠''${NC} This will delete all $total_notes notes. Are you sure? ''${GRAY}[y/N]''${NC}"
|
||||
read -r confirmation
|
||||
|
||||
|
||||
if echo "$confirmation" | grep -qi "^y"; then
|
||||
> "$NOTES_FILE"
|
||||
echo -e "''${GREEN}✓''${NC} All notes cleared"
|
||||
@@ -204,7 +204,7 @@ pkgs.writeShellScriptBin "note" ''
|
||||
piped_content="$piped_content"$'\n'"$line"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if [ -n "$piped_content" ]; then
|
||||
add_note "$piped_content"
|
||||
else
|
||||
@@ -213,7 +213,7 @@ pkgs.writeShellScriptBin "note" ''
|
||||
fi
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
# Handle command line arguments
|
||||
case "$1" in
|
||||
"")
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs }:
|
||||
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "nvidia-offload" ''
|
||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs }:
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "rofi-launcher" ''
|
||||
# check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs }:
|
||||
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "screenshootin" ''
|
||||
grim -g "$(slurp)" - | swappy -f -
|
||||
''
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs }:
|
||||
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "task-waybar" ''
|
||||
sleep 0.1
|
||||
${pkgs.swaynotificationcenter}/bin/swaync-client -t &
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "wallsetter" ''
|
||||
|
||||
TIMEOUT=720
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs }:
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "web-search" ''
|
||||
# check if rofi is already running
|
||||
if pidof rofi > /dev/null; then
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
accent = "#${config.lib.stylix.colors.base0D}";
|
||||
in
|
||||
{
|
||||
in {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -107,7 +105,7 @@ in
|
||||
"docker-compose.yaml"
|
||||
"Dockerfile"
|
||||
];
|
||||
detect_extensions = [ "Dockerfile" ];
|
||||
detect_extensions = ["Dockerfile"];
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ host, ... }:
|
||||
{
|
||||
{host, ...}: {
|
||||
stylix.targets = {
|
||||
librewolf.profileNames = [ "${host}" ];
|
||||
librewolf.profileNames = ["${host}"];
|
||||
waybar.enable = false;
|
||||
rofi.enable = false;
|
||||
hyprland.enable = false;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ username, ... }:
|
||||
{
|
||||
{username, ...}: {
|
||||
home.file = {
|
||||
".config/swappy/config".text = ''
|
||||
[Default]
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ config, ... }:
|
||||
{
|
||||
{config, ...}: {
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ ... }:
|
||||
{
|
||||
_: {
|
||||
programs.tealdeer = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
_: {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///system" ];
|
||||
uris = [ "qemu:///system" ];
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
programs.vscode = {
|
||||
@@ -7,8 +6,7 @@
|
||||
package = pkgs.vscodium;
|
||||
profiles = {
|
||||
default = {
|
||||
extensions =
|
||||
with pkgs.vscode-extensions;
|
||||
extensions = with pkgs.vscode-extensions;
|
||||
[
|
||||
batisteo.vscode-django
|
||||
bradlc.vscode-tailwindcss
|
||||
@@ -409,26 +407,22 @@
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-editor.emmet.action.expandAbbreviation";
|
||||
"when" =
|
||||
"config.emmet.triggerExpansionOnTab && editorTextFocus && !editorReadonly && !editorTabMovesFocus";
|
||||
"when" = "config.emmet.triggerExpansionOnTab && editorTextFocus && !editorReadonly && !editorTabMovesFocus";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-editor.action.inlineSuggest.jump";
|
||||
"when" =
|
||||
"inlineEditIsVisible && tabShouldJumpToInlineEdit && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible";
|
||||
"when" = "inlineEditIsVisible && tabShouldJumpToInlineEdit && !editorHoverFocused && !editorTabMovesFocus && !suggestWidgetVisible";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-Alignment Preserving Indent";
|
||||
"when" =
|
||||
"editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion != 'on'";
|
||||
"when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion != 'on'";
|
||||
}
|
||||
{
|
||||
"key" = "tab";
|
||||
"command" = "-Alignment Preserving Indent";
|
||||
"when" =
|
||||
"editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'";
|
||||
"when" = "editorTextFocus && !editorReadOnly && !editorTabMovesFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
@@ -4,273 +4,274 @@
|
||||
host,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
|
||||
inherit (import ../../../hosts/${host}/variables.nix) clock24h;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
"clock" = {
|
||||
format =
|
||||
if clock24h == true
|
||||
then '' {:L%H:%M}''
|
||||
else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "sleep 0.1 && rofi-launcher";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "sleep 0.1 && rofi-launcher";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 16px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base01};
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.5;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.8;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0px;
|
||||
margin-left: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
font-size: 28px;
|
||||
margin: 0px;
|
||||
padding: 0px 30px 0px 15px;
|
||||
border-radius: 0px 0px 40px 0px;
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #tray, #custom-exit {
|
||||
font-weight: bold;
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
margin: 4px 0px;
|
||||
margin-right: 7px;
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
color: #0D0E15;
|
||||
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C});
|
||||
margin: 0px;
|
||||
padding: 0px 15px 0px 30px;
|
||||
border-radius: 0px 0px 0px 40px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 16px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base01};
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.5;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.8;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0px;
|
||||
margin-left: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
border-radius: 24px 10px 24px 10px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
font-size: 28px;
|
||||
margin: 0px;
|
||||
padding: 0px 30px 0px 15px;
|
||||
border-radius: 0px 0px 40px 0px;
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #tray, #custom-exit {
|
||||
font-weight: bold;
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
margin: 4px 0px;
|
||||
margin-right: 7px;
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
color: #0D0E15;
|
||||
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C});
|
||||
margin: 0px;
|
||||
padding: 0px 15px 0px 30px;
|
||||
border-radius: 0px 0px 0px 40px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
terminal = "kitty";
|
||||
base00 = "0F1419";
|
||||
base01 = "131721";
|
||||
@@ -20,368 +19,367 @@ let
|
||||
base0E = "D2A6FF";
|
||||
base0F = "E6B673";
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"tray"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-right = [
|
||||
"idle_inhibitor"
|
||||
"custom/notification"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"clock"
|
||||
"custom/exit"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = '' {:%H:%M}'';
|
||||
# ''{: %I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
# Not working with garandos window open then closes
|
||||
#on-click = "${terminal} -e sh -c df -h ; read";
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"tray"
|
||||
"hyprland/window"
|
||||
];
|
||||
format-ethernet = " {bandwidthDownBits}";
|
||||
format-wifi = " {bandwidthDownBits}";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-right = [
|
||||
"idle_inhibitor"
|
||||
"custom/notification"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"clock"
|
||||
"custom/exit"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = '' {:%H:%M}'';
|
||||
# ''{: %I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
# Not working with garandos window open then closes
|
||||
#on-click = "${terminal} -e sh -c df -h ; read";
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownBits}";
|
||||
format-wifi = " {bandwidthDownBits}";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "⏻";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = " ";
|
||||
deactivated = " ";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "⏻";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = " ";
|
||||
deactivated = " ";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
/*
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
/*
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
*/
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
*/
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
}
|
||||
#workspaces {
|
||||
/*
|
||||
Eternal
|
||||
background: linear-gradient(180deg, #${base00}, #${base01});
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 0px 10px;
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
}
|
||||
#workspaces {
|
||||
/*
|
||||
Eternal
|
||||
background: linear-gradient(180deg, #${base00}, #${base01});
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 0px 10px;
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
*/
|
||||
background: linear-gradient(45deg, #${base01}, #${base01});
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
*/
|
||||
background: linear-gradient(45deg, #${base01}, #${base01});
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.5;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
border-radius: 15px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${base00};
|
||||
border: 1px solid #${base0E};
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${base07};
|
||||
}
|
||||
#window {
|
||||
/*
|
||||
Eternal
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.5;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
border-radius: 15px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${base00};
|
||||
border: 1px solid #${base0E};
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${base07};
|
||||
}
|
||||
#window {
|
||||
/*
|
||||
Eternal
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
color: #${base05};
|
||||
background: #${base01};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#memory {
|
||||
color: #${base0F};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#clock {
|
||||
color: #${base0B};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base0A};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 3px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #${base07};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #${base0F};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #${base08};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px;
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 15px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #${base0D};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 4px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
color: #${base05};
|
||||
background: #${base01};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#memory {
|
||||
color: #${base0F};
|
||||
/*
|
||||
Eternal
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#custom-notification {
|
||||
color: #${base0C};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#clock {
|
||||
color: #${base0B};
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base0A};
|
||||
}
|
||||
#custom-exit {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 3px;
|
||||
border-radius: 15px 0px 0px 15px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #${base07};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #${base0F};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #${base08};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 15px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #${base0D};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 4px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
}
|
||||
#custom-notification {
|
||||
color: #${base0C};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 15px 15px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-exit {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 15px 0px 0px 15px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,279 +4,280 @@
|
||||
host,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
|
||||
inherit (import ../../../hosts/${host}/variables.nix) clock24h;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
"clock" = {
|
||||
format =
|
||||
if clock24h == true
|
||||
then '' {:L%H:%M}''
|
||||
else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
#on-click = "sleep 0.1 && rofi-launcher";
|
||||
on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
#on-click = "sleep 0.1 && rofi-launcher";
|
||||
on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base01};
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.5;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.8;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0px;
|
||||
margin-left: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
font-size: 28px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
font-size: 22px;
|
||||
margin: 0px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 16px 16px 16px 16px;
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #tray, #custom-exit {
|
||||
/* font-weight: bold; */
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
margin: 4px 0px;
|
||||
margin-right: 7px;
|
||||
border-radius: 8px 8px 8px 8px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #0D0E15;
|
||||
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0B}, #${config.lib.stylix.colors.base02});
|
||||
margin: 0px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 16px 16px 16px 16px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base01};
|
||||
margin: 4px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.5;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
|
||||
opacity: 0.8;
|
||||
transition: ${betterTransition};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
font-weight: bold;
|
||||
margin: 4px 0px;
|
||||
margin-left: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
font-size: 28px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
font-size: 22px;
|
||||
margin: 0px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 16px 16px 16px 16px;
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #tray, #custom-exit {
|
||||
/* font-weight: bold; */
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
margin: 4px 0px;
|
||||
margin-right: 7px;
|
||||
border-radius: 8px 8px 8px 8px;
|
||||
padding: 0px 18px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #0D0E15;
|
||||
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0B}, #${config.lib.stylix.colors.base02});
|
||||
margin: 0px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 16px 16px 16px 16px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
@@ -15,7 +14,7 @@
|
||||
"temperature"
|
||||
"hyprland/window"
|
||||
];
|
||||
"modules-center" = [ "custom/spacer" ];
|
||||
"modules-center" = ["custom/spacer"];
|
||||
"modules-right" = [
|
||||
"tray"
|
||||
"cpu"
|
||||
@@ -165,7 +164,7 @@
|
||||
"tooltip-format" = "{title}";
|
||||
"on-click" = "activate";
|
||||
"on-click-middle" = "close";
|
||||
"ignore-list" = [ "Alacritty" ];
|
||||
"ignore-list" = ["Alacritty"];
|
||||
"app_ids-mapping" = {
|
||||
firefoxdeveloperedition = "firefox-developer-edition";
|
||||
};
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
@@ -14,7 +13,7 @@
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
];
|
||||
"modules-center" = [ "clock" ];
|
||||
"modules-center" = ["clock"];
|
||||
"modules-right" = [
|
||||
"tray"
|
||||
"cpu"
|
||||
@@ -163,7 +162,7 @@
|
||||
"tooltip-format" = "{title}";
|
||||
"on-click" = "activate";
|
||||
"on-click-middle" = "close";
|
||||
"ignore-list" = [ "Alacritty" ];
|
||||
"ignore-list" = ["Alacritty"];
|
||||
"app_ids-mapping" = {
|
||||
firefoxdeveloperedition = "firefox-developer-edition";
|
||||
};
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
terminal = "kitty";
|
||||
base00 = "0F1419";
|
||||
base01 = "131721";
|
||||
@@ -20,374 +19,373 @@ let
|
||||
base0E = "D2A6FF";
|
||||
base0F = "E6B673";
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-center = [
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"hyprland/workspaces"
|
||||
"memory"
|
||||
"disk"
|
||||
"clock"
|
||||
]; # Eterna: [ "hyprland/window" ]
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
]; # Eternal: [ "hyprland/workspaces" "cpu" "memory" "network" ]
|
||||
modules-right = [
|
||||
"tray"
|
||||
"idle_inhibitor"
|
||||
"custom/notification"
|
||||
"battery"
|
||||
"custom/exit"
|
||||
]; # Eternal: [ "idle_inhibitor" "pulseaudio" "clock" "custom/notification" "tray" ]
|
||||
modules-center = [
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"hyprland/workspaces"
|
||||
"memory"
|
||||
"disk"
|
||||
"clock"
|
||||
]; # Eterna: [ "hyprland/window" ]
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/window"
|
||||
]; # Eternal: [ "hyprland/workspaces" "cpu" "memory" "network" ]
|
||||
modules-right = [
|
||||
"tray"
|
||||
"idle_inhibitor"
|
||||
"custom/notification"
|
||||
"battery"
|
||||
"custom/exit"
|
||||
]; # Eternal: [ "idle_inhibitor" "pulseaudio" "clock" "custom/notification" "tray" ]
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = '' {:%H:%M}'';
|
||||
# ''{: %I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
# Not working with garandos window open then closes
|
||||
#on-click = "${terminal} -e sh -c df -h ; read";
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownBits}";
|
||||
format-wifi = " {bandwidthDownBits}";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
"clock" = {
|
||||
format = '' {:%H:%M}'';
|
||||
# ''{: %I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 60;
|
||||
separate-outputs = false;
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
# Not working with garandos window open then closes
|
||||
#on-click = "${terminal} -e sh -c df -h ; read";
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownBits}";
|
||||
format-wifi = " {bandwidthDownBits}";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
on-click = "${terminal} -e btop";
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "⏻";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = " ";
|
||||
deactivated = " ";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "⏻";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = " ";
|
||||
# exec = "rofi -show drun";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = " ";
|
||||
deactivated = " ";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
/*
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-size: 16px;
|
||||
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
window#waybar {
|
||||
/*
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
*/
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
*/
|
||||
|
||||
background-color: rgba(26,27,38,0);
|
||||
border-bottom: 1px solid rgba(26,27,38,0);
|
||||
border-radius: 0px;
|
||||
color: #${base0F};
|
||||
}
|
||||
#workspaces {
|
||||
/*
|
||||
Eternal
|
||||
background: linear-gradient(180deg, #${base00}, #${base01});
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 0px 10px;
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
}
|
||||
#workspaces {
|
||||
/*
|
||||
Eternal
|
||||
background: linear-gradient(180deg, #${base00}, #${base01});
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 0px 10px;
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
*/
|
||||
background: linear-gradient(45deg, #${base01}, #${base01});
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
*/
|
||||
background: linear-gradient(45deg, #${base01}, #${base01});
|
||||
margin: 5px;
|
||||
padding: 0px 1px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
font-style: normal;
|
||||
color: #${base00};
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.5;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
border-radius: 15px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${base00};
|
||||
border: 1px solid #${base0E};
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${base07};
|
||||
}
|
||||
#window {
|
||||
/*
|
||||
Eternal
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.5;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button.active {
|
||||
padding: 0px 5px;
|
||||
margin: 4px 3px;
|
||||
border-radius: 15px;
|
||||
border: 0px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
transition: all 0.3s ease-in-out;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
border-radius: 15px;
|
||||
color: #${base00};
|
||||
background: linear-gradient(45deg, #${base0D}, #${base0E});
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${base00};
|
||||
border: 1px solid #${base0E};
|
||||
border-radius: 10px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${base07};
|
||||
}
|
||||
#window {
|
||||
/*
|
||||
Eternal
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
color: #${base05};
|
||||
background: #${base01};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
}
|
||||
#memory {
|
||||
color: #${base0F};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
}
|
||||
#clock {
|
||||
color: #${base0B};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base0A};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #${base07};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #${base0F};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #${base08};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
color: #${base05};
|
||||
background: #${base01};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
}
|
||||
#memory {
|
||||
color: #${base0F};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #${base0D};
|
||||
/*
|
||||
Eternal
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 4px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
}
|
||||
#clock {
|
||||
color: #${base0B};
|
||||
}
|
||||
#custom-notification {
|
||||
color: #${base0C};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base0A};
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#cpu {
|
||||
color: #${base07};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#disk {
|
||||
color: #${base0F};
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#battery {
|
||||
color: #${base08};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#network {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#tray {
|
||||
color: #${base05};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: #${base0D};
|
||||
/*
|
||||
Eternal
|
||||
}
|
||||
#custom-exit {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
border-radius: 15px 0px 0px 50px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
*/
|
||||
background: #${base01};
|
||||
margin: 4px;
|
||||
padding: 2px 20px;
|
||||
border-radius: 50px 15px 50px 15px;
|
||||
}
|
||||
#custom-notification {
|
||||
color: #${base0C};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 0px 15px 50px 0px;
|
||||
margin: 5px 5px 5px 0px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: #${base09};
|
||||
background: #${base00};
|
||||
border-radius: 15px 50px 15px 50px;
|
||||
margin: 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
#custom-exit {
|
||||
color: #${base0E};
|
||||
background: #${base00};
|
||||
border-radius: 15px 0px 0px 50px;
|
||||
margin: 5px 0px 5px 5px;
|
||||
padding: 2px 20px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,302 +4,303 @@
|
||||
host,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
|
||||
inherit (import ../../../hosts/${host}/variables.nix) clock24h;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
margin-top = 6;
|
||||
margin-left = 6;
|
||||
margin-right = 6;
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"disk"
|
||||
"hyprland/window"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"pulseaudio/slider" = {
|
||||
min = 0;
|
||||
max = 100;
|
||||
orientation = "horizontal";
|
||||
};
|
||||
"temperature" = {
|
||||
format = " {temperatureC}°C ";
|
||||
};
|
||||
"clock" = {
|
||||
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
icon-size = 20;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
margin-top = 6;
|
||||
margin-left = 6;
|
||||
margin-right = 6;
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"cpu"
|
||||
"memory"
|
||||
"temperature"
|
||||
"disk"
|
||||
"hyprland/window"
|
||||
"idle_inhibitor"
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
modules-right = [
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"custom/hyprbindings"
|
||||
"custom/notification"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"pulseaudio/slider" = {
|
||||
min = 0;
|
||||
max = 100;
|
||||
orientation = "horizontal";
|
||||
};
|
||||
"temperature" = {
|
||||
format = " {temperatureC}°C ";
|
||||
};
|
||||
"clock" = {
|
||||
format =
|
||||
if clock24h == true
|
||||
then '' {:L%H:%M}''
|
||||
else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
icon-size = 20;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
scroll-step = 2;
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
#on-click = "sleep 0.1 && rofi-launcher";
|
||||
on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
scroll-step = 2;
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
# exec = "rofi -show drun";
|
||||
#on-click = "sleep 0.1 && rofi-launcher";
|
||||
on-click = "sleep 0.1 && nwg-drawer -mb 200 -mt 200 -mr 200 -ml 200";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
padding: 2px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
margin: 2px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 18px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
padding: 2px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#workspaces {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
margin: 2px 4px;
|
||||
padding: 5px 5px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
#workspaces button {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 16px;
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 4px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 4px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #temperature, #cpu, #memory, #idle_inhibitor, #disk {
|
||||
font-weight: bold;
|
||||
margin: 2px 0px;
|
||||
margin-right: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
border-radius: 4px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
font-size: 28px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
font-size: 22px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 4px;
|
||||
padding: 0px 8px;
|
||||
margin: 0px;
|
||||
margin-right:7px;
|
||||
}
|
||||
#workspaces button.active {
|
||||
font-weight: bold;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 4px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
transition: ${betterTransition};
|
||||
opacity: 1.0;
|
||||
min-width: 40px;
|
||||
}
|
||||
#workspaces button:hover {
|
||||
font-weight: bold;
|
||||
border-radius: 4px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
opacity: 0.8;
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base08};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#window, #pulseaudio, #temperature, #cpu, #memory, #idle_inhibitor, #disk {
|
||||
font-weight: bold;
|
||||
margin: 2px 0px;
|
||||
margin-right: 7px;
|
||||
padding: 0px 18px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
border-radius: 4px;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
font-size: 28px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
font-size: 22px;
|
||||
padding: 0px 5px 0px 5px;
|
||||
border-radius: 4px;
|
||||
padding: 0px 8px;
|
||||
margin: 0px;
|
||||
margin-right:7px;
|
||||
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #clock, #custom-exit {
|
||||
/* font-weight: bold; */
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
margin: 2px 0px;
|
||||
margin-right: 7px;
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
border-radius: 4px;
|
||||
padding: 0px 12px;
|
||||
}
|
||||
#tray{
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
margin: 0px;
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
padding: 0px 18px;
|
||||
margin: 0px 0px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #clock, #custom-exit {
|
||||
/* font-weight: bold; */
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
margin: 2px 0px;
|
||||
margin-right: 7px;
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
border-radius: 4px;
|
||||
padding: 0px 12px;
|
||||
}
|
||||
#tray{
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
margin: 0px;
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
border: 2px solid #${config.lib.stylix.colors.base0B};
|
||||
padding: 0px 18px;
|
||||
margin: 0px 0px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,301 +4,302 @@
|
||||
host,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
inherit (import ../../../hosts/${host}/variables.nix) clock24h;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = [ "hyprland/workspaces" ];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"custom/arrow6"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
"custom/arrow7"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/arrow4"
|
||||
"custom/hyprbindings"
|
||||
"custom/arrow3"
|
||||
"custom/notification"
|
||||
"custom/arrow3"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"custom/arrow2"
|
||||
"tray"
|
||||
"custom/arrow1"
|
||||
"clock"
|
||||
];
|
||||
with lib; {
|
||||
# Configure & Theme Waybar
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"custom/arrow6"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
"idle_inhibitor"
|
||||
"custom/arrow7"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"custom/arrow4"
|
||||
"custom/hyprbindings"
|
||||
"custom/arrow3"
|
||||
"custom/notification"
|
||||
"custom/arrow3"
|
||||
"custom/exit"
|
||||
"battery"
|
||||
"custom/arrow2"
|
||||
"tray"
|
||||
"custom/arrow1"
|
||||
"clock"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
on-scroll-up = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"clock" = {
|
||||
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
"clock" = {
|
||||
format =
|
||||
if clock24h == true
|
||||
then '' {:L%H:%M}''
|
||||
else '' {:L%I:%M %p}'';
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
"hyprland/window" = {
|
||||
max-length = 22;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = " 🙈 No Windows? ";
|
||||
};
|
||||
};
|
||||
"memory" = {
|
||||
interval = 5;
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"cpu" = {
|
||||
interval = 5;
|
||||
format = " {usage:2}%";
|
||||
tooltip = true;
|
||||
};
|
||||
"disk" = {
|
||||
format = " {free}";
|
||||
tooltip = true;
|
||||
};
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = "{icon} {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
tooltip = false;
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && rofi-launcher";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-muted = " {format_source}";
|
||||
format-source = " {volume}%";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "sleep 0.1 && pavucontrol";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
"custom/exit" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && wlogout";
|
||||
};
|
||||
"custom/startmenu" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && rofi-launcher";
|
||||
};
|
||||
"custom/hyprbindings" = {
|
||||
tooltip = false;
|
||||
format = "";
|
||||
on-click = "sleep 0.1 && list-keybinds";
|
||||
};
|
||||
"idle_inhibitor" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
activated = "";
|
||||
deactivated = "";
|
||||
};
|
||||
tooltip = "true";
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} {}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = "";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = "";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = "";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = "";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "sleep 0.1 && task-waybar";
|
||||
escape = true;
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/arrow1" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow2" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow3" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow4" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow5" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow6" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow7" = {
|
||||
format = "";
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
on-click = "";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/arrow1" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow2" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow3" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow4" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow5" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow6" = {
|
||||
format = "";
|
||||
};
|
||||
"custom/arrow7" = {
|
||||
format = "";
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 14px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base05};
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
background: transparent;
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#workspaces button:hover {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base05};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base05};
|
||||
}
|
||||
#window {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
padding: 0px 10px;
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base02};
|
||||
padding: 0px 14px;
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #custom-exit {
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#tray {
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
padding: 0px 10px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0E};
|
||||
}
|
||||
#custom-arrow1 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0E};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
}
|
||||
#custom-arrow2 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base02};
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
}
|
||||
#custom-arrow3 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
}
|
||||
#custom-arrow4 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0F};
|
||||
background: transparent;
|
||||
}
|
||||
#custom-arrow6 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
}
|
||||
#custom-arrow7 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
background: transparent;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
style = concatStrings [
|
||||
''
|
||||
* {
|
||||
font-family: JetBrainsMono Nerd Font Mono;
|
||||
font-size: 14px;
|
||||
border-radius: 0px;
|
||||
border: none;
|
||||
min-height: 0px;
|
||||
}
|
||||
window#waybar {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
color: #${config.lib.stylix.colors.base05};
|
||||
}
|
||||
#workspaces button {
|
||||
padding: 0px 5px;
|
||||
background: transparent;
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
#workspaces button:hover {
|
||||
color: #${config.lib.stylix.colors.base08};
|
||||
}
|
||||
tooltip {
|
||||
background: #${config.lib.stylix.colors.base00};
|
||||
border: 1px solid #${config.lib.stylix.colors.base05};
|
||||
border-radius: 12px;
|
||||
}
|
||||
tooltip label {
|
||||
color: #${config.lib.stylix.colors.base05};
|
||||
}
|
||||
#window {
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#pulseaudio, #cpu, #memory, #idle_inhibitor {
|
||||
padding: 0px 10px;
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: #${config.lib.stylix.colors.base02};
|
||||
padding: 0px 14px;
|
||||
font-size: 20px;
|
||||
background: #${config.lib.stylix.colors.base0B};
|
||||
}
|
||||
#custom-hyprbindings, #network, #battery,
|
||||
#custom-notification, #custom-exit {
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#tray {
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
padding: 0px 10px;
|
||||
}
|
||||
#clock {
|
||||
font-weight: bold;
|
||||
padding: 0px 10px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0E};
|
||||
}
|
||||
#custom-arrow1 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0E};
|
||||
background: #${config.lib.stylix.colors.base02};
|
||||
}
|
||||
#custom-arrow2 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base02};
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
}
|
||||
#custom-arrow3 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base00};
|
||||
background: #${config.lib.stylix.colors.base0F};
|
||||
}
|
||||
#custom-arrow4 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0F};
|
||||
background: transparent;
|
||||
}
|
||||
#custom-arrow6 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base0B};
|
||||
background: #${config.lib.stylix.colors.base04};
|
||||
}
|
||||
#custom-arrow7 {
|
||||
font-size: 24px;
|
||||
color: #${config.lib.stylix.colors.base04};
|
||||
background: transparent;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
{ config, ... }:
|
||||
|
||||
{
|
||||
{config, ...}: {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
{ pkgs, config, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
messengerIcon = pkgs.fetchurl {
|
||||
url = "https://assets.stickpng.com/images/580b57fcd9996e24bc43c526.png";
|
||||
sha256 = "sha256-mQ7TAsLIWLZhun1DrJFgLkkwpqvWujhGT6Ig8Rf6vbc=";
|
||||
@@ -28,8 +31,7 @@ let
|
||||
url = "https://i.pinimg.com/236x/e6/b6/28/e6b628706696320cd0ede93f7053abd8.jpg";
|
||||
sha256 = "sha256-bZVmoWHeG8rycS8lj7LQaxFggXINjUx/7NWKPVhPTFw=";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
xdg = {
|
||||
enable = true;
|
||||
mime.enable = true;
|
||||
@@ -41,7 +43,7 @@ in
|
||||
xdg-desktop-portal-gtk
|
||||
kdePackages.xdg-desktop-portal-kde
|
||||
];
|
||||
configPackages = [ config.wayland.windowManager.hyprland.package ];
|
||||
configPackages = [config.wayland.windowManager.hyprland.package];
|
||||
config = {
|
||||
common.default = "*";
|
||||
hyprland = {
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
package = pkgs.zed-editor;
|
||||
@@ -31,7 +36,7 @@
|
||||
biome
|
||||
rust-analyzer
|
||||
nixd
|
||||
nil
|
||||
alejandra
|
||||
opencode
|
||||
];
|
||||
|
||||
@@ -65,7 +70,7 @@
|
||||
name = "llama-3.3-70b";
|
||||
display_name = "Llama 3.3 70B";
|
||||
max_tokens = 65000;
|
||||
max_output_tokens = 32000;
|
||||
max_output_tokens = 8000;
|
||||
capabilities = {
|
||||
tools = true;
|
||||
images = true;
|
||||
@@ -115,9 +120,28 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
nixd = {
|
||||
initialization_options.formatting.command = [
|
||||
"alejandra"
|
||||
"--quiet"
|
||||
"--"
|
||||
];
|
||||
settings = {
|
||||
nixpkgs.expr = "import <nixpkgs> { }";
|
||||
formatting.command = ["alejandra"];
|
||||
options = {
|
||||
nixos.expr = "(builtins.getFlake (builtins.toString \"/home/${username}/garandos\")).nixosConfigurations.\"${host}\".options";
|
||||
home-manager.expr = "(builtins.getFlake (builtins.toString \"/home/${username}/garandos\")).nixosConfigurations.\"${host}\".options.home-manager.users.type.getSubOptions []";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
languages = {
|
||||
Python.language_servers = [ "!basedpyright" ];
|
||||
Nix.language_servers = [
|
||||
"nixd"
|
||||
"!nil"
|
||||
];
|
||||
Python.language_servers = ["!basedpyright"];
|
||||
YAML.tab_size = 2;
|
||||
JavaScript = {
|
||||
formatter.language_server.name = "biome";
|
||||
@@ -177,6 +201,5 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user