From 900b565405b3378f973916dbaf5c0601b9d36190 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Sun, 23 Nov 2025 16:34:22 +0100 Subject: [PATCH] Update Zed configuration for nix LSP and formatter. --- flake.nix | 70 +- hosts/Garand-Desktop/default.nix | 3 +- hosts/Garand-Desktop/hardware.nix | 9 +- hosts/Garand-Desktop/host-packages.nix | 3 +- hosts/Garand-Laptop/default.nix | 3 +- hosts/Garand-Laptop/hardware.nix | 12 +- hosts/Garand-Laptop/host-packages.nix | 3 +- hosts/default/default.nix | 3 +- hosts/default/hardware.nix | 13 +- hosts/default/host-packages.nix | 3 +- modules/core/auto-cpufreq.nix | 3 +- modules/core/boot.nix | 8 +- modules/core/default.nix | 6 +- modules/core/fonts.nix | 3 +- modules/core/greetd.nix | 3 +- modules/core/hardware.nix | 7 +- modules/core/network.nix | 8 +- modules/core/nfs.nix | 6 +- modules/core/nh.nix | 6 +- modules/core/packages/clients.nix | 3 +- modules/core/packages/default.nix | 3 +- modules/core/packages/development.nix | 3 +- modules/core/packages/gaming.nix | 3 +- modules/core/packages/multimedia.nix | 3 +- modules/core/packages/programs.nix | 10 +- modules/core/packages/terminal.nix | 3 +- modules/core/packages/tools.nix | 3 +- modules/core/packages/virtualization.nix | 3 +- modules/core/printing.nix | 6 +- modules/core/services.nix | 10 +- modules/core/steam.nix | 5 +- modules/core/stylix.nix | 6 +- modules/core/syncthing.nix | 3 +- modules/core/system.nix | 39 +- modules/core/thunar.nix | 6 +- modules/core/user.nix | 12 +- modules/core/virtualisation.nix | 3 +- modules/core/xdg.nix | 5 +- modules/core/xserver.nix | 6 +- modules/drivers/amd-drivers.nix | 12 +- modules/drivers/default.nix | 5 +- modules/drivers/intel-drivers.nix | 6 +- modules/drivers/local-hardware-clock.nix | 8 +- modules/drivers/nvidia-drivers.nix | 12 +- modules/drivers/nvidia-prime-drivers.nix | 6 +- modules/drivers/vm-guest-services.nix | 6 +- modules/home/anki.nix | 5 +- modules/home/bash-aliases.nix | 5 +- modules/home/bat.nix | 3 +- modules/home/btop.nix | 3 +- modules/home/chromium.nix | 3 +- modules/home/default.nix | 6 +- modules/home/emoji.nix | 3 +- modules/home/fzf.nix | 6 +- modules/home/git.nix | 6 +- modules/home/gtk.nix | 4 +- modules/home/hyprland/animations-def.nix | 3 +- modules/home/hyprland/animations-dynamic.nix | 3 +- modules/home/hyprland/animations-end4.nix | 3 +- modules/home/hyprland/animations-moving.nix | 3 +- modules/home/hyprland/binds.nix | 10 +- modules/home/hyprland/default.nix | 6 +- modules/home/hyprland/env.nix | 3 +- modules/home/hyprland/exec-once.nix | 9 +- modules/home/hyprland/hypridle.nix | 4 +- modules/home/hyprland/hyprland.nix | 15 +- modules/home/hyprland/hyprlock.nix | 3 +- modules/home/hyprland/pyprland.nix | 3 +- modules/home/kdeConnect.nix | 3 +- modules/home/kitty.nix | 3 +- modules/home/librewolf.nix | 35 +- modules/home/lutris.nix | 9 +- modules/home/nextcloud.nix | 3 +- modules/home/obs-studio.nix | 3 +- modules/home/onlyoffice.nix | 3 +- modules/home/qt.nix | 3 +- modules/home/rofi/config-long.nix | 3 +- modules/home/rofi/default.nix | 3 +- modules/home/rofi/rofi.nix | 373 +++++----- modules/home/scripts/default.nix | 23 +- modules/home/scripts/emopicker9000.nix | 2 +- modules/home/scripts/hm-find.nix | 2 +- modules/home/scripts/keybinds.nix | 43 +- modules/home/scripts/note-from-clipboard.nix | 2 +- modules/home/scripts/note.nix | 46 +- modules/home/scripts/nvidia-offload.nix | 3 +- modules/home/scripts/rofi-launcher.nix | 2 +- modules/home/scripts/screenshootin.nix | 3 +- modules/home/scripts/task-waybar.nix | 3 +- modules/home/scripts/wallsetter.nix | 3 +- modules/home/scripts/web-search.nix | 2 +- modules/home/starship.nix | 8 +- modules/home/stylix.nix | 5 +- modules/home/swappy.nix | 3 +- modules/home/swaync.nix | 3 +- modules/home/tealdeer.nix | 3 +- modules/home/virtmanager.nix | 8 +- modules/home/vscode.nix | 18 +- modules/home/waybar/waybar-curved.nix | 517 +++++++------- modules/home/waybar/waybar-ddubs-2.nix | 672 +++++++++--------- modules/home/waybar/waybar-ddubs.nix | 529 +++++++-------- modules/home/waybar/waybar-dwm-2.nix | 7 +- modules/home/waybar/waybar-dwm.nix | 7 +- modules/home/waybar/waybar-jerry.nix | 676 +++++++++---------- modules/home/waybar/waybar-nekodyke.nix | 575 ++++++++-------- modules/home/waybar/waybar-simple.nix | 575 ++++++++-------- modules/home/wlogout/default.nix | 4 +- modules/home/xdg.nix | 12 +- modules/home/zed.nix | 33 +- profiles/amd/default.nix | 3 +- profiles/intel/default.nix | 3 +- profiles/nvidia-laptop/default.nix | 6 +- profiles/nvidia/default.nix | 3 +- profiles/vm/default.nix | 3 +- 114 files changed, 2311 insertions(+), 2408 deletions(-) diff --git a/flake.nix b/flake.nix index 89c4c7f..7791f67 100644 --- a/flake.nix +++ b/flake.nix @@ -51,43 +51,39 @@ nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; }; - outputs = - { - nixpkgs, - nix-flatpak, - auto-cpufreq, - ... - }@inputs: - let - hostDirs = builtins.attrNames (builtins.readDir ./hosts); + outputs = { + nixpkgs, + nix-flatpak, + auto-cpufreq, + ... + } @ inputs: let + hostDirs = builtins.attrNames (builtins.readDir ./hosts); - mkHost = - hostName: - let - inherit (import ./hosts/${hostName}/variables.nix) - host - username - profile - system - ; - in - nixpkgs.lib.nixosSystem { - inherit system; - specialArgs = { - inherit inputs; - inherit username; - inherit host; - inherit profile; - inherit system; - }; - modules = [ - ./profiles/${profile} - nix-flatpak.nixosModules.nix-flatpak - auto-cpufreq.nixosModules.default - ]; - }; + mkHost = hostName: let + inherit + (import ./hosts/${hostName}/variables.nix) + host + username + profile + system + ; in - { - nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost; - }; + nixpkgs.lib.nixosSystem { + inherit system; + specialArgs = { + inherit inputs; + inherit username; + inherit host; + inherit profile; + inherit system; + }; + modules = [ + ./profiles/${profile} + nix-flatpak.nixosModules.nix-flatpak + auto-cpufreq.nixosModules.default + ]; + }; + in { + nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost; + }; } diff --git a/hosts/Garand-Desktop/default.nix b/hosts/Garand-Desktop/default.nix index b947be8..14fa2e5 100644 --- a/hosts/Garand-Desktop/default.nix +++ b/hosts/Garand-Desktop/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { imports = [ ./hardware.nix ./host-packages.nix diff --git a/hosts/Garand-Desktop/hardware.nix b/hosts/Garand-Desktop/hardware.nix index 2cde9ee..e78b266 100644 --- a/hosts/Garand-Desktop/hardware.nix +++ b/hosts/Garand-Desktop/hardware.nix @@ -6,8 +6,7 @@ lib, modulesPath, ... -}: -{ +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -22,7 +21,7 @@ "usb_storage" "sd_mod" ]; - kernelModules = [ "dm-snapshot" ]; + kernelModules = ["dm-snapshot"]; luks.devices = { cryptroot = { device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065"; @@ -30,8 +29,8 @@ }; }; }; - kernelModules = [ "kvm-amd" ]; - extraModulePackages = [ ]; + kernelModules = ["kvm-amd"]; + extraModulePackages = []; }; fileSystems = { diff --git a/hosts/Garand-Desktop/host-packages.nix b/hosts/Garand-Desktop/host-packages.nix index 589a3a8..6933190 100644 --- a/hosts/Garand-Desktop/host-packages.nix +++ b/hosts/Garand-Desktop/host-packages.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # audacity ]; diff --git a/hosts/Garand-Laptop/default.nix b/hosts/Garand-Laptop/default.nix index b947be8..14fa2e5 100644 --- a/hosts/Garand-Laptop/default.nix +++ b/hosts/Garand-Laptop/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { imports = [ ./hardware.nix ./host-packages.nix diff --git a/hosts/Garand-Laptop/hardware.nix b/hosts/Garand-Laptop/hardware.nix index 7872ac7..9a9ca3f 100644 --- a/hosts/Garand-Laptop/hardware.nix +++ b/hosts/Garand-Laptop/hardware.nix @@ -6,9 +6,7 @@ lib, modulesPath, ... -}: - -{ +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -21,14 +19,14 @@ "usb_storage" "sd_mod" ]; - kernelModules = [ "dm-snapshot" ]; + kernelModules = ["dm-snapshot"]; luks.devices.cryptroot = { device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c"; preLVM = true; }; }; - kernelModules = [ "kvm-amd" ]; - extraModulePackages = [ ]; + kernelModules = ["kvm-amd"]; + extraModulePackages = []; }; fileSystems = { @@ -51,7 +49,7 @@ }; swapDevices = [ - { device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a"; } + {device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a";} ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking diff --git a/hosts/Garand-Laptop/host-packages.nix b/hosts/Garand-Laptop/host-packages.nix index 589a3a8..6933190 100644 --- a/hosts/Garand-Laptop/host-packages.nix +++ b/hosts/Garand-Laptop/host-packages.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # audacity ]; diff --git a/hosts/default/default.nix b/hosts/default/default.nix index b947be8..14fa2e5 100644 --- a/hosts/default/default.nix +++ b/hosts/default/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { imports = [ ./hardware.nix ./host-packages.nix diff --git a/hosts/default/hardware.nix b/hosts/default/hardware.nix index 5ddb0ef..663d0fc 100644 --- a/hosts/default/hardware.nix +++ b/hosts/default/hardware.nix @@ -7,9 +7,7 @@ pkgs, modulesPath, ... -}: - -{ +}: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; @@ -20,17 +18,16 @@ "nvme" "usbhid" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; fileSystems."/" = { device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d"; fsType = "ext4"; }; - boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = - "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8"; + boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8"; fileSystems."/boot" = { device = "/dev/disk/by-uuid/C2A6-DF56"; diff --git a/hosts/default/host-packages.nix b/hosts/default/host-packages.nix index 589a3a8..6933190 100644 --- a/hosts/default/host-packages.nix +++ b/hosts/default/host-packages.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # audacity ]; diff --git a/modules/core/auto-cpufreq.nix b/modules/core/auto-cpufreq.nix index e7a1d3f..838bef1 100644 --- a/modules/core/auto-cpufreq.nix +++ b/modules/core/auto-cpufreq.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { programs.auto-cpufreq = { enable = true; settings = { diff --git a/modules/core/boot.nix b/modules/core/boot.nix index 46a1ba3..8260bca 100644 --- a/modules/core/boot.nix +++ b/modules/core/boot.nix @@ -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; }; diff --git a/modules/core/default.nix b/modules/core/default.nix index 421af3a..ca80549 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -1,8 +1,4 @@ -{ - inputs, - ... -}: -{ +{inputs, ...}: { imports = [ ./packages ./auto-cpufreq.nix diff --git a/modules/core/fonts.nix b/modules/core/fonts.nix index c2bf242..2c03d61 100644 --- a/modules/core/fonts.nix +++ b/modules/core/fonts.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { fonts = { packages = with pkgs; [ dejavu_fonts diff --git a/modules/core/greetd.nix b/modules/core/greetd.nix index 05399be..d44b7ba 100644 --- a/modules/core/greetd.nix +++ b/modules/core/greetd.nix @@ -2,8 +2,7 @@ pkgs, username, ... -}: -{ +}: { services.greetd = { enable = true; #vt = 3; diff --git a/modules/core/hardware.nix b/modules/core/hardware.nix index 3b02700..b4d2014 100644 --- a/modules/core/hardware.nix +++ b/modules/core/hardware.nix @@ -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; diff --git a/modules/core/network.nix b/modules/core/network.nix index 084adec..db20960 100644 --- a/modules/core/network.nix +++ b/modules/core/network.nix @@ -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 = [ diff --git a/modules/core/nfs.nix b/modules/core/nfs.nix index 7999158..adbcde8 100644 --- a/modules/core/nfs.nix +++ b/modules/core/nfs.nix @@ -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; diff --git a/modules/core/nh.nix b/modules/core/nh.nix index 261968d..149028e 100644 --- a/modules/core/nh.nix +++ b/modules/core/nh.nix @@ -1,8 +1,4 @@ -{ - username, - ... -}: -{ +{username, ...}: { programs.nh = { enable = true; clean = { diff --git a/modules/core/packages/clients.nix b/modules/core/packages/clients.nix index 21c91fc..37eb968 100644 --- a/modules/core/packages/clients.nix +++ b/modules/core/packages/clients.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # Communication slack diff --git a/modules/core/packages/default.nix b/modules/core/packages/default.nix index 0a13224..26acb4d 100644 --- a/modules/core/packages/default.nix +++ b/modules/core/packages/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { nixpkgs.config.allowUnfree = true; imports = [ ./programs.nix diff --git a/modules/core/packages/development.nix b/modules/core/packages/development.nix index 43537ce..942f061 100644 --- a/modules/core/packages/development.nix +++ b/modules/core/packages/development.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # Learning & practice exercism diff --git a/modules/core/packages/gaming.nix b/modules/core/packages/gaming.nix index 72dd1b9..f5d4149 100644 --- a/modules/core/packages/gaming.nix +++ b/modules/core/packages/gaming.nix @@ -3,8 +3,7 @@ # inputs, # system, ... -}: -{ +}: { environment.systemPackages = with pkgs; [ # inputs.prismlauncher-cracked.packages.${system}.default space-cadet-pinball diff --git a/modules/core/packages/multimedia.nix b/modules/core/packages/multimedia.nix index 06059ec..3e1694d 100644 --- a/modules/core/packages/multimedia.nix +++ b/modules/core/packages/multimedia.nix @@ -3,8 +3,7 @@ # inputs, # system, ... -}: -{ +}: { environment.systemPackages = with pkgs; [ # Video & image processing ffmpeg diff --git a/modules/core/packages/programs.nix b/modules/core/packages/programs.nix index c77dae4..27bca66 100644 --- a/modules/core/packages/programs.nix +++ b/modules/core/packages/programs.nix @@ -1,8 +1,8 @@ -{ - # pkgs - ... -}: -{ +# { +# pkgs +# ... +# } +_: { programs = { nano.enable = true; hyprland = { diff --git a/modules/core/packages/terminal.nix b/modules/core/packages/terminal.nix index 83164ac..68b839a 100644 --- a/modules/core/packages/terminal.nix +++ b/modules/core/packages/terminal.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ cmatrix cowsay diff --git a/modules/core/packages/tools.nix b/modules/core/packages/tools.nix index 5df4539..eae0eed 100644 --- a/modules/core/packages/tools.nix +++ b/modules/core/packages/tools.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ # File management trash-cli diff --git a/modules/core/packages/virtualization.nix b/modules/core/packages/virtualization.nix index 7be533a..2219840 100644 --- a/modules/core/packages/virtualization.nix +++ b/modules/core/packages/virtualization.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { environment.systemPackages = with pkgs; [ virt-viewer # lazydocker diff --git a/modules/core/printing.nix b/modules/core/printing.nix index a6d5e1b..982126f 100644 --- a/modules/core/printing.nix +++ b/modules/core/printing.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../hosts/${host}/variables.nix) printEnable; -in -{ +in { services = { printing = { enable = printEnable; diff --git a/modules/core/services.nix b/modules/core/services.nix index b7aff74..2418dae 100644 --- a/modules/core/services.nix +++ b/modules/core/services.nix @@ -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 = { diff --git a/modules/core/steam.nix b/modules/core/steam.nix index 59b6c09..f6dfd3a 100644 --- a/modules/core/steam.nix +++ b/modules/core/steam.nix @@ -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; diff --git a/modules/core/stylix.nix b/modules/core/stylix.nix index 3f97c5c..3ed5d35 100644 --- a/modules/core/stylix.nix +++ b/modules/core/stylix.nix @@ -2,11 +2,9 @@ pkgs, host, ... -}: -let +}: let inherit (import ../../hosts/${host}/variables.nix) stylixImage; -in -{ +in { # Styling Options stylix = { enable = true; diff --git a/modules/core/syncthing.nix b/modules/core/syncthing.nix index dfd0f03..b374c5c 100644 --- a/modules/core/syncthing.nix +++ b/modules/core/syncthing.nix @@ -1,5 +1,4 @@ -{ username, ... }: -{ +{username, ...}: { services.syncthing = { enable = false; user = "${username}"; diff --git a/modules/core/system.nix b/modules/core/system.nix index 4410d6a..6010240 100644 --- a/modules/core/system.nix +++ b/modules/core/system.nix @@ -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"; diff --git a/modules/core/thunar.nix b/modules/core/thunar.nix index 3a33c0a..fc52274 100644 --- a/modules/core/thunar.nix +++ b/modules/core/thunar.nix @@ -1,8 +1,4 @@ -{ - pkgs, - ... -}: -{ +{pkgs, ...}: { programs = { thunar = { enable = true; diff --git a/modules/core/user.nix b/modules/core/user.nix index f1ad20d..93d3771 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -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}"]; } diff --git a/modules/core/virtualisation.nix b/modules/core/virtualisation.nix index 3c53eb0..4d887f7 100644 --- a/modules/core/virtualisation.nix +++ b/modules/core/virtualisation.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { # Only enable either docker or podman -- Not both virtualisation = { docker.enable = true; diff --git a/modules/core/xdg.nix b/modules/core/xdg.nix index 7862464..3fb824c 100644 --- a/modules/core/xdg.nix +++ b/modules/core/xdg.nix @@ -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]; }; } diff --git a/modules/core/xserver.nix b/modules/core/xserver.nix index 3e0e2c5..7429bd0 100644 --- a/modules/core/xserver.nix +++ b/modules/core/xserver.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../hosts/${host}/variables.nix) keyboardLayout; -in -{ +in { services.xserver = { enable = true; xkb = { diff --git a/modules/drivers/amd-drivers.nix b/modules/drivers/amd-drivers.nix index ed05113..31af56e 100644 --- a/modules/drivers/amd-drivers.nix +++ b/modules/drivers/amd-drivers.nix @@ -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]; }; } diff --git a/modules/drivers/default.nix b/modules/drivers/default.nix index e19682e..f4994cd 100644 --- a/modules/drivers/default.nix +++ b/modules/drivers/default.nix @@ -1,7 +1,4 @@ -{ - ... -}: -{ +{...}: { imports = [ ./amd-drivers.nix ./intel-drivers.nix diff --git a/modules/drivers/intel-drivers.nix b/modules/drivers/intel-drivers.nix index fb24fd6..329719b 100644 --- a/modules/drivers/intel-drivers.nix +++ b/modules/drivers/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"; }; diff --git a/modules/drivers/local-hardware-clock.nix b/modules/drivers/local-hardware-clock.nix index 0231dcb..1ebc431 100644 --- a/modules/drivers/local-hardware-clock.nix +++ b/modules/drivers/local-hardware-clock.nix @@ -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;}; } diff --git a/modules/drivers/nvidia-drivers.nix b/modules/drivers/nvidia-drivers.nix index 9fcd907..ad79f87 100644 --- a/modules/drivers/nvidia-drivers.nix +++ b/modules/drivers/nvidia-drivers.nix @@ -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 + diff --git a/modules/drivers/nvidia-prime-drivers.nix b/modules/drivers/nvidia-prime-drivers.nix index aba1acc..559a35e 100644 --- a/modules/drivers/nvidia-prime-drivers.nix +++ b/modules/drivers/nvidia-prime-drivers.nix @@ -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 { diff --git a/modules/drivers/vm-guest-services.nix b/modules/drivers/vm-guest-services.nix index 3e99ebb..3d03035 100644 --- a/modules/drivers/vm-guest-services.nix +++ b/modules/drivers/vm-guest-services.nix @@ -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"; }; diff --git a/modules/home/anki.nix b/modules/home/anki.nix index ad81303..a1b0b5d 100644 --- a/modules/home/anki.nix +++ b/modules/home/anki.nix @@ -1,5 +1,8 @@ -{ pkgs, username, ... }: { + pkgs, + username, + ... +}: { programs.anki = { enable = true; package = pkgs.anki; diff --git a/modules/home/bash-aliases.nix b/modules/home/bash-aliases.nix index 9a2a52a..e6ab54f 100644 --- a/modules/home/bash-aliases.nix +++ b/modules/home/bash-aliases.nix @@ -1,5 +1,8 @@ -{ host, username, ... }: { + host, + username, + ... +}: { programs.bash = { shellAliases = { # GarandOS aliases diff --git a/modules/home/bat.nix b/modules/home/bat.nix index 0089b69..1cff829 100644 --- a/modules/home/bat.nix +++ b/modules/home/bat.nix @@ -2,8 +2,7 @@ pkgs, lib, ... -}: -{ +}: { programs.bat = { enable = true; config = { diff --git a/modules/home/btop.nix b/modules/home/btop.nix index 0c034f3..37204e8 100644 --- a/modules/home/btop.nix +++ b/modules/home/btop.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { programs.btop = { enable = true; package = pkgs.btop.override { diff --git a/modules/home/chromium.nix b/modules/home/chromium.nix index 9e560c0..4cf465c 100644 --- a/modules/home/chromium.nix +++ b/modules/home/chromium.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { programs.chromium = { enable = true; package = pkgs.ungoogled-chromium; diff --git a/modules/home/default.nix b/modules/home/default.nix index 02524d2..6bbaa09 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../hosts/${host}/variables.nix) waybarChoice; -in -{ +in { imports = [ ./fastfetch ./hyprland diff --git a/modules/home/emoji.nix b/modules/home/emoji.nix index 7eb541d..4cb86ef 100644 --- a/modules/home/emoji.nix +++ b/modules/home/emoji.nix @@ -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 diff --git a/modules/home/fzf.nix b/modules/home/fzf.nix index c629d54..c2eb9ee 100644 --- a/modules/home/fzf.nix +++ b/modules/home/fzf.nix @@ -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; diff --git a/modules/home/git.nix b/modules/home/git.nix index a0b6e2b..4d158b4 100644 --- a/modules/home/git.nix +++ b/modules/home/git.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail; -in -{ +in { programs.git = { enable = true; settings = { diff --git a/modules/home/gtk.nix b/modules/home/gtk.nix index f433efa..cec72b3 100644 --- a/modules/home/gtk.nix +++ b/modules/home/gtk.nix @@ -1,6 +1,4 @@ -{ pkgs, ... }: - -{ +{pkgs, ...}: { gtk = { iconTheme = { name = "Papirus-Dark"; diff --git a/modules/home/hyprland/animations-def.nix b/modules/home/hyprland/animations-def.nix index b1695a1..01fd2da 100644 --- a/modules/home/hyprland/animations-def.nix +++ b/modules/home/hyprland/animations-def.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { wayland.windowManager.hyprland.settings = { animations = { enabled = true; diff --git a/modules/home/hyprland/animations-dynamic.nix b/modules/home/hyprland/animations-dynamic.nix index 97ff0f6..b637a21 100644 --- a/modules/home/hyprland/animations-dynamic.nix +++ b/modules/home/hyprland/animations-dynamic.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { wayland.windowManager.hyprland.settings = { # name "Dynamic" # credit https://github.com/mylinuxforwork/dotfiles diff --git a/modules/home/hyprland/animations-end4.nix b/modules/home/hyprland/animations-end4.nix index f70f5ca..aee2df4 100644 --- a/modules/home/hyprland/animations-end4.nix +++ b/modules/home/hyprland/animations-end4.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { wayland.windowManager.hyprland.settings = { # Name: END-4 # Credit: END-4 project https://github.com/end-4/dots-hyprland diff --git a/modules/home/hyprland/animations-moving.nix b/modules/home/hyprland/animations-moving.nix index 17a0720..64eff70 100644 --- a/modules/home/hyprland/animations-moving.nix +++ b/modules/home/hyprland/animations-moving.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { wayland.windowManager.hyprland.settings = { # name "moving" # credit https://github.com/mylinuxforwork/dotfiles diff --git a/modules/home/hyprland/binds.nix b/modules/home/hyprland/binds.nix index 27a9e8d..6529b8d 100644 --- a/modules/home/hyprland/binds.nix +++ b/modules/home/hyprland/binds.nix @@ -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 = [ # ============================================================================= diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix index 25234de..ab286ca 100644 --- a/modules/home/hyprland/default.nix +++ b/modules/home/hyprland/default.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../../hosts/${host}/variables.nix) animChoice; -in -{ +in { imports = [ animChoice ./binds.nix diff --git a/modules/home/hyprland/env.nix b/modules/home/hyprland/env.nix index 12987ca..bc5d3c9 100644 --- a/modules/home/hyprland/env.nix +++ b/modules/home/hyprland/env.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { wayland.windowManager.hyprland = { settings = { env = [ diff --git a/modules/home/hyprland/exec-once.nix b/modules/home/hyprland/exec-once.nix index a9c2097..9395ba3 100644 --- a/modules/home/hyprland/exec-once.nix +++ b/modules/home/hyprland/exec-once.nix @@ -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 diff --git a/modules/home/hyprland/hypridle.nix b/modules/home/hyprland/hypridle.nix index 21fbf57..8af73cb 100644 --- a/modules/home/hyprland/hypridle.nix +++ b/modules/home/hyprland/hypridle.nix @@ -1,6 +1,4 @@ -{ ... }: - -{ +_: { services = { hypridle = { enable = true; diff --git a/modules/home/hyprland/hyprland.nix b/modules/home/hyprland/hyprland.nix index f8a540d..384bfc5 100644 --- a/modules/home/hyprland/hyprland.nix +++ b/modules/home/hyprland/hyprland.nix @@ -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 diff --git a/modules/home/hyprland/hyprlock.nix b/modules/home/hyprland/hyprlock.nix index e285ad9..7feb66f 100644 --- a/modules/home/hyprland/hyprlock.nix +++ b/modules/home/hyprland/hyprlock.nix @@ -1,5 +1,4 @@ -{ username, ... }: -{ +{username, ...}: { programs.hyprlock = { enable = true; settings = { diff --git a/modules/home/hyprland/pyprland.nix b/modules/home/hyprland/pyprland.nix index 9d4a799..b18d3a3 100644 --- a/modules/home/hyprland/pyprland.nix +++ b/modules/home/hyprland/pyprland.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { home.file.".config/hypr/pyprland.toml".text = '' [pyprland] plugins = [ diff --git a/modules/home/kdeConnect.nix b/modules/home/kdeConnect.nix index 6108770..800e86f 100644 --- a/modules/home/kdeConnect.nix +++ b/modules/home/kdeConnect.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { services.kdeconnect = { enable = true; indicator = true; diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix index d5e747a..e34c3a4 100644 --- a/modules/home/kitty.nix +++ b/modules/home/kitty.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { programs.kitty = { enable = true; package = pkgs.kitty; diff --git a/modules/home/librewolf.nix b/modules/home/librewolf.nix index 4a31f5d..3b2ec58 100644 --- a/modules/home/librewolf.nix +++ b/modules/home/librewolf.nix @@ -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 = [ { diff --git a/modules/home/lutris.nix b/modules/home/lutris.nix index 26d4132..339968d 100644 --- a/modules/home/lutris.nix +++ b/modules/home/lutris.nix @@ -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; }; diff --git a/modules/home/nextcloud.nix b/modules/home/nextcloud.nix index 62d39c9..393b09a 100644 --- a/modules/home/nextcloud.nix +++ b/modules/home/nextcloud.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { services.nextcloud-client = { enable = true; startInBackground = true; diff --git a/modules/home/obs-studio.nix b/modules/home/obs-studio.nix index b9d2a6e..9c6c27a 100644 --- a/modules/home/obs-studio.nix +++ b/modules/home/obs-studio.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { programs.obs-studio = { enable = false; plugins = with pkgs.obs-studio-plugins; [ diff --git a/modules/home/onlyoffice.nix b/modules/home/onlyoffice.nix index 0a3ea22..0492e33 100644 --- a/modules/home/onlyoffice.nix +++ b/modules/home/onlyoffice.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { programs.onlyoffice = { enable = true; package = pkgs.onlyoffice-desktopeditors; diff --git a/modules/home/qt.nix b/modules/home/qt.nix index 503b6cd..2674038 100644 --- a/modules/home/qt.nix +++ b/modules/home/qt.nix @@ -1,5 +1,4 @@ -{ lib, ... }: -{ +{lib, ...}: { qt = { enable = true; platformTheme.name = lib.mkForce "qtct"; diff --git a/modules/home/rofi/config-long.nix b/modules/home/rofi/config-long.nix index 2451615..4ca3cde 100644 --- a/modules/home/rofi/config-long.nix +++ b/modules/home/rofi/config-long.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { home.file.".config/rofi/config-long.rasi".text = '' @import "~/.config/rofi/config.rasi" * { diff --git a/modules/home/rofi/default.nix b/modules/home/rofi/default.nix index 5d8e45a..55e58e9 100644 --- a/modules/home/rofi/default.nix +++ b/modules/home/rofi/default.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { imports = [ ./config-long.nix ./rofi.nix diff --git a/modules/home/rofi/rofi.nix b/modules/home/rofi/rofi.nix index 2b779f6..d3a9fd8 100644 --- a/modules/home/rofi/rofi.nix +++ b/modules/home/rofi/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"; + }; + }; }; }; } diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix index d939748..37c694c 100644 --- a/modules/home/scripts/default.nix +++ b/modules/home/scripts/default.nix @@ -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;}) ]; } diff --git a/modules/home/scripts/emopicker9000.nix b/modules/home/scripts/emopicker9000.nix index ed8e4ed..b622cc3 100644 --- a/modules/home/scripts/emopicker9000.nix +++ b/modules/home/scripts/emopicker9000.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{pkgs}: pkgs.writeShellScriptBin "emopicker9000" '' # check if rofi is already running if pidof rofi > /dev/null; then diff --git a/modules/home/scripts/hm-find.nix b/modules/home/scripts/hm-find.nix index 77771d5..d997469 100644 --- a/modules/home/scripts/hm-find.nix +++ b/modules/home/scripts/hm-find.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{pkgs}: pkgs.writeShellScriptBin "hm-find" '' #!/usr/bin/env bash diff --git a/modules/home/scripts/keybinds.nix b/modules/home/scripts/keybinds.nix index 3a3da16..dec1ae2 100644 --- a/modules/home/scripts/keybinds.nix +++ b/modules/home/scripts/keybinds.nix @@ -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" -'' + '' diff --git a/modules/home/scripts/note-from-clipboard.nix b/modules/home/scripts/note-from-clipboard.nix index 3c4546e..ddb767a 100644 --- a/modules/home/scripts/note-from-clipboard.nix +++ b/modules/home/scripts/note-from-clipboard.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{pkgs, ...}: pkgs.writeShellScriptBin "note-from-clipboard" '' #!/usr/bin/env bash diff --git a/modules/home/scripts/note.nix b/modules/home/scripts/note.nix index 95dcf2e..43a1786 100644 --- a/modules/home/scripts/note.nix +++ b/modules/home/scripts/note.nix @@ -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 ''${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 "") diff --git a/modules/home/scripts/nvidia-offload.nix b/modules/home/scripts/nvidia-offload.nix index ada00d9..a99f6d4 100644 --- a/modules/home/scripts/nvidia-offload.nix +++ b/modules/home/scripts/nvidia-offload.nix @@ -1,5 +1,4 @@ -{ pkgs }: - +{pkgs}: pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 diff --git a/modules/home/scripts/rofi-launcher.nix b/modules/home/scripts/rofi-launcher.nix index 014802d..b1a3eb2 100644 --- a/modules/home/scripts/rofi-launcher.nix +++ b/modules/home/scripts/rofi-launcher.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{pkgs}: pkgs.writeShellScriptBin "rofi-launcher" '' # check if rofi is already running if pidof rofi > /dev/null; then diff --git a/modules/home/scripts/screenshootin.nix b/modules/home/scripts/screenshootin.nix index 15042b4..40de68e 100644 --- a/modules/home/scripts/screenshootin.nix +++ b/modules/home/scripts/screenshootin.nix @@ -1,5 +1,4 @@ -{ pkgs }: - +{pkgs}: pkgs.writeShellScriptBin "screenshootin" '' grim -g "$(slurp)" - | swappy -f - '' diff --git a/modules/home/scripts/task-waybar.nix b/modules/home/scripts/task-waybar.nix index 9ba29d1..46b079c 100644 --- a/modules/home/scripts/task-waybar.nix +++ b/modules/home/scripts/task-waybar.nix @@ -1,5 +1,4 @@ -{ pkgs }: - +{pkgs}: pkgs.writeShellScriptBin "task-waybar" '' sleep 0.1 ${pkgs.swaynotificationcenter}/bin/swaync-client -t & diff --git a/modules/home/scripts/wallsetter.nix b/modules/home/scripts/wallsetter.nix index 6f391a6..a2ae7d5 100644 --- a/modules/home/scripts/wallsetter.nix +++ b/modules/home/scripts/wallsetter.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: - +{pkgs, ...}: pkgs.writeShellScriptBin "wallsetter" '' TIMEOUT=720 diff --git a/modules/home/scripts/web-search.nix b/modules/home/scripts/web-search.nix index c1ebbc6..e58fa05 100644 --- a/modules/home/scripts/web-search.nix +++ b/modules/home/scripts/web-search.nix @@ -1,4 +1,4 @@ -{ pkgs }: +{pkgs}: pkgs.writeShellScriptBin "web-search" '' # check if rofi is already running if pidof rofi > /dev/null; then diff --git a/modules/home/starship.nix b/modules/home/starship.nix index aaee7d2..9161dd4 100644 --- a/modules/home/starship.nix +++ b/modules/home/starship.nix @@ -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 = { diff --git a/modules/home/stylix.nix b/modules/home/stylix.nix index 16f9419..006ac78 100644 --- a/modules/home/stylix.nix +++ b/modules/home/stylix.nix @@ -1,7 +1,6 @@ -{ host, ... }: -{ +{host, ...}: { stylix.targets = { - librewolf.profileNames = [ "${host}" ]; + librewolf.profileNames = ["${host}"]; waybar.enable = false; rofi.enable = false; hyprland.enable = false; diff --git a/modules/home/swappy.nix b/modules/home/swappy.nix index 373d8a6..0029798 100644 --- a/modules/home/swappy.nix +++ b/modules/home/swappy.nix @@ -1,5 +1,4 @@ -{ username, ... }: -{ +{username, ...}: { home.file = { ".config/swappy/config".text = '' [Default] diff --git a/modules/home/swaync.nix b/modules/home/swaync.nix index c024bd9..07e6261 100644 --- a/modules/home/swaync.nix +++ b/modules/home/swaync.nix @@ -1,5 +1,4 @@ -{ config, ... }: -{ +{config, ...}: { services.swaync = { enable = true; settings = { diff --git a/modules/home/tealdeer.nix b/modules/home/tealdeer.nix index 3f705d3..df253f5 100644 --- a/modules/home/tealdeer.nix +++ b/modules/home/tealdeer.nix @@ -1,5 +1,4 @@ -{ ... }: -{ +_: { programs.tealdeer = { enable = true; settings = { diff --git a/modules/home/virtmanager.nix b/modules/home/virtmanager.nix index 0a885e1..cec3e4d 100644 --- a/modules/home/virtmanager.nix +++ b/modules/home/virtmanager.nix @@ -1,10 +1,8 @@ -{ ... }: - -{ +_: { dconf.settings = { "org/virt-manager/virt-manager/connections" = { - autoconnect = [ "qemu:///system" ]; - uris = [ "qemu:///system" ]; + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; }; }; } diff --git a/modules/home/vscode.nix b/modules/home/vscode.nix index 9235f05..43e4d62 100644 --- a/modules/home/vscode.nix +++ b/modules/home/vscode.nix @@ -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'"; } ]; }; diff --git a/modules/home/waybar/waybar-curved.nix b/modules/home/waybar/waybar-curved.nix index 3fe6586..33e46fe 100644 --- a/modules/home/waybar/waybar-curved.nix +++ b/modules/home/waybar/waybar-curved.nix @@ -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 = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }\n{calendar}"; }; - }; - "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; + } + '' + ]; + }; + } diff --git a/modules/home/waybar/waybar-ddubs-2.nix b/modules/home/waybar/waybar-ddubs-2.nix index 028269b..398cb44 100644 --- a/modules/home/waybar/waybar-ddubs-2.nix +++ b/modules/home/waybar/waybar-ddubs-2.nix @@ -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 = "{:%A, %d.%B %Y }{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }{calendar}"; + }; + "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; - } - '' - ]; - }; -} + } + '' + ]; + }; + } diff --git a/modules/home/waybar/waybar-ddubs.nix b/modules/home/waybar/waybar-ddubs.nix index cdeddfa..08edf50 100644 --- a/modules/home/waybar/waybar-ddubs.nix +++ b/modules/home/waybar/waybar-ddubs.nix @@ -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 = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }\n{calendar}"; }; - }; - "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; + } + '' + ]; + }; + } diff --git a/modules/home/waybar/waybar-dwm-2.nix b/modules/home/waybar/waybar-dwm-2.nix index f5a7a42..d7dc247 100644 --- a/modules/home/waybar/waybar-dwm-2.nix +++ b/modules/home/waybar/waybar-dwm-2.nix @@ -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"; }; diff --git a/modules/home/waybar/waybar-dwm.nix b/modules/home/waybar/waybar-dwm.nix index 09fe356..5efe5e3 100644 --- a/modules/home/waybar/waybar-dwm.nix +++ b/modules/home/waybar/waybar-dwm.nix @@ -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"; }; diff --git a/modules/home/waybar/waybar-jerry.nix b/modules/home/waybar/waybar-jerry.nix index faf1a14..994f922 100644 --- a/modules/home/waybar/waybar-jerry.nix +++ b/modules/home/waybar/waybar-jerry.nix @@ -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 = "{:%A, %d.%B %Y }{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }{calendar}"; + }; + "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; - } - '' - ]; - }; -} + } + '' + ]; + }; + } diff --git a/modules/home/waybar/waybar-nekodyke.nix b/modules/home/waybar/waybar-nekodyke.nix index 92618e7..c7a07dc 100755 --- a/modules/home/waybar/waybar-nekodyke.nix +++ b/modules/home/waybar/waybar-nekodyke.nix @@ -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 = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }\n{calendar}"; + }; + "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; + } + '' + ]; + }; + } diff --git a/modules/home/waybar/waybar-simple.nix b/modules/home/waybar/waybar-simple.nix index ad0e525..04f1ae0 100644 --- a/modules/home/waybar/waybar-simple.nix +++ b/modules/home/waybar/waybar-simple.nix @@ -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 = "{:%A, %d.%B %Y }\n{calendar}"; - }; - "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 = "{:%A, %d.%B %Y }\n{calendar}"; }; - }; - "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 = ""; - none = ""; - dnd-notification = ""; - dnd-none = ""; - inhibited-notification = ""; - inhibited-none = ""; - dnd-inhibited-notification = ""; - 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 = ""; + none = ""; + dnd-notification = ""; + dnd-none = ""; + inhibited-notification = ""; + inhibited-none = ""; + dnd-inhibited-notification = ""; + 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; + } + '' + ]; + }; + } diff --git a/modules/home/wlogout/default.nix b/modules/home/wlogout/default.nix index e51de04..efc67e6 100644 --- a/modules/home/wlogout/default.nix +++ b/modules/home/wlogout/default.nix @@ -1,6 +1,4 @@ -{ config, ... }: - -{ +{config, ...}: { programs.wlogout = { enable = true; layout = [ diff --git a/modules/home/xdg.nix b/modules/home/xdg.nix index d3b9a2c..fe94050 100644 --- a/modules/home/xdg.nix +++ b/modules/home/xdg.nix @@ -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 = { diff --git a/modules/home/zed.nix b/modules/home/zed.nix index 05bbebb..b7024dc 100644 --- a/modules/home/zed.nix +++ b/modules/home/zed.nix @@ -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 { }"; + 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 @@ }; }; }; - }; } diff --git a/profiles/amd/default.nix b/profiles/amd/default.nix index 19a9cba..1b5506b 100644 --- a/profiles/amd/default.nix +++ b/profiles/amd/default.nix @@ -1,5 +1,4 @@ -{ host, ... }: -{ +{host, ...}: { imports = [ ../../hosts/${host} ../../modules/drivers diff --git a/profiles/intel/default.nix b/profiles/intel/default.nix index 45a4e5b..f99a114 100644 --- a/profiles/intel/default.nix +++ b/profiles/intel/default.nix @@ -1,5 +1,4 @@ -{ host, ... }: -{ +{host, ...}: { imports = [ ../../hosts/${host} ../../modules/drivers diff --git a/profiles/nvidia-laptop/default.nix b/profiles/nvidia-laptop/default.nix index 6d58b83..2c4444b 100644 --- a/profiles/nvidia-laptop/default.nix +++ b/profiles/nvidia-laptop/default.nix @@ -1,8 +1,6 @@ -{ host, ... }: -let +{host, ...}: let inherit (import ../../hosts/${host}/variables.nix) intelID nvidiaID; -in -{ +in { imports = [ ../../hosts/${host} ../../modules/drivers diff --git a/profiles/nvidia/default.nix b/profiles/nvidia/default.nix index c10098e..5b50370 100644 --- a/profiles/nvidia/default.nix +++ b/profiles/nvidia/default.nix @@ -1,5 +1,4 @@ -{ host, ... }: -{ +{host, ...}: { imports = [ ../../hosts/${host} ../../modules/drivers diff --git a/profiles/vm/default.nix b/profiles/vm/default.nix index b227ae9..130c1b7 100644 --- a/profiles/vm/default.nix +++ b/profiles/vm/default.nix @@ -1,5 +1,4 @@ -{ host, ... }: -{ +{host, ...}: { imports = [ ../../hosts/${host} ../../modules/drivers