diff --git a/flake.lock b/flake.lock index 2e5a48b..530d4f6 100644 --- a/flake.lock +++ b/flake.lock @@ -301,6 +301,21 @@ "url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941" } }, + "gnome-mobile": { + "locked": { + "lastModified": 1748795015, + "narHash": "sha256-+XyXaa3KmgOykQpo6k4XsEaHWDGj8inCxMMGOWat4EM=", + "owner": "chuangzhu", + "repo": "nixpkgs-gnome-mobile", + "rev": "825ebb10c8bf02cb4b6553f3b85e169dc92484d7", + "type": "github" + }, + "original": { + "owner": "chuangzhu", + "repo": "nixpkgs-gnome-mobile", + "type": "github" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -338,6 +353,23 @@ "type": "github" } }, + "mobile-nixos": { + "flake": false, + "locked": { + "lastModified": 1741837934, + "narHash": "sha256-9GQyqCTAs9jShg0YdYsgWZalG3dwprkZK3vOHdoyeiE=", + "owner": "vlinkz", + "repo": "mobile-nixos", + "rev": "01db23f1cd3abfbd14dc06b983f336e74286730e", + "type": "github" + }, + "original": { + "owner": "vlinkz", + "ref": "sdm845-6.14", + "repo": "mobile-nixos", + "type": "github" + } + }, "musnix": { "inputs": { "nixpkgs": "nixpkgs_4" @@ -433,6 +465,21 @@ "url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A" } }, + "nix-flatpak": { + "locked": { + "lastModified": 1754777568, + "narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "62f636b87ef6050760a8cb325cadb90674d1e23e", + "type": "github" + }, + "original": { + "owner": "gmodena", + "repo": "nix-flatpak", + "type": "github" + } + }, "nix-mineral": { "flake": false, "locked": { @@ -657,9 +704,12 @@ "c3d2-user-module": "c3d2-user-module", "comin": "comin", "determinate": "determinate", + "gnome-mobile": "gnome-mobile", "home-manager": "home-manager", + "mobile-nixos": "mobile-nixos", "musnix": "musnix", "niri": "niri", + "nix-flatpak": "nix-flatpak", "nix-mineral": "nix-mineral", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_6", diff --git a/flake.nix b/flake.nix index 37041a1..cddae1c 100644 --- a/flake.nix +++ b/flake.nix @@ -28,22 +28,31 @@ url = "github:cynicsketch/nix-mineral"; flake = false; }; + mobile-nixos = { + url = "github:vlinkz/mobile-nixos/sdm845-6.14"; + flake = false; + }; + gnome-mobile.url = "github:chuangzhu/nixpkgs-gnome-mobile"; + nix-flatpak.url = "github:gmodena/nix-flatpak"; }; outputs = - inputs@{ self - , nixpkgs - , c3d2-user-module - , home-manager - , niri - , nixos-hardware - , treefmt-nix - , determinate - , stylix - , comin - , musnix - , nix-mineral - , + inputs@{ + self, + nixpkgs, + c3d2-user-module, + home-manager, + niri, + nixos-hardware, + treefmt-nix, + determinate, + stylix, + comin, + musnix, + nix-mineral, + mobile-nixos, + gnome-mobile, + nix-flatpak, }: let system = "x86_64-linux"; @@ -154,63 +163,83 @@ }; }; - nixosConfigurations.p50 = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - system = "x86_64-linux"; - modules = [ - "${nix-mineral}/nix-mineral.nix" - niri.nixosModules.niri - nixos-hardware.nixosModules.lenovo-thinkpad-p50 - ./configuration.nix - determinate.nixosModules.default - musnix.nixosModules.musnix + nixosConfigurations = { + cutie = nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + modules = [ + ./hosts/cutie/configuration.nix + gnome-mobile.nixosModules.gnome-mobile + nix-flatpak.nixosModules.nix-flatpak + (import "${mobile-nixos}/lib/configuration.nix" { + device = "oneplus-fajita"; + }) + ]; + }; + p50 = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + system = "x86_64-linux"; + modules = [ + "${nix-mineral}/nix-mineral.nix" + niri.nixosModules.niri + nixos-hardware.nixosModules.lenovo-thinkpad-p50 + ./hosts/p50/configuration.nix + determinate.nixosModules.default + musnix.nixosModules.musnix - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.backupFileExtension = "backup"; - home-manager.extraSpecialArgs = { inherit inputs; }; - home-manager.users.lucy = - { pkgs - , inputs - , ... - }: - { - imports = [ - ./modules/home.nix - ./modules/bottom.nix - ./modules/htop.nix - ]; + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.backupFileExtension = "backup"; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.lucy = + { + pkgs, + inputs, + ... + }: + { + imports = [ + ./modules/home.nix + ./modules/bottom.nix + ./modules/htop.nix + ]; - home.packages = with pkgs; [ - inputs.self.packages.${pkgs.system}.wallpapers - ]; + home.packages = with pkgs; [ + inputs.self.packages.${pkgs.system}.wallpapers + ]; - home.file = { - ".local/share/wallpapers/anime-cat-girl-snow.mp4".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/anime-cat-girl-snow.mp4"; - ".local/share/wallpapers/static-wallpaper.jpg".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/static-wallpaper.jpg"; - ".local/share/wallpapers/anime-cat-girl-snow-optimized.mp4".source = "${ - inputs.self.packages.${pkgs.system}.wallpapers - }/share/wallpapers/anime-cat-girl-snow-optimized.mp4"; + home.file = { + ".local/share/wallpapers/anime-cat-girl-snow.mp4".source = "${ + inputs.self.packages.${pkgs.system}.wallpapers + }/share/wallpapers/anime-cat-girl-snow.mp4"; + ".local/share/wallpapers/static-wallpaper.jpg".source = "${ + inputs.self.packages.${pkgs.system}.wallpapers + }/share/wallpapers/static-wallpaper.jpg"; + ".local/share/wallpapers/anime-cat-girl-snow-optimized.mp4".source = "${ + inputs.self.packages.${pkgs.system}.wallpapers + }/share/wallpapers/anime-cat-girl-snow-optimized.mp4"; + }; }; - }; - } - c3d2-user-module.nixosModule - ./modules/nix.nix - ./modules/fonts.nix - comin.nixosModules.comin - ./modules/comin.nix - stylix.nixosModules.stylix - ./modules/stylix.nix - ./modules/firefox-nixos.nix - ]; + } + c3d2-user-module.nixosModule + ./modules/nix.nix + ./modules/fonts.nix + comin.nixosModules.comin + ./modules/comin.nix + stylix.nixosModules.stylix + ./modules/stylix.nix + ./modules/firefox-nixos.nix + ]; + }; }; + fajita-fastboot-images = + inputs.self.nixosConfigurations.fajita.config.mobile.outputs.android.android-fastboot-images; + fajita-minimal-image = + inputs.self.nixosConfigurations.fajita_minimal.config.mobile.outputs.android.android-fastboot-images; + uefi-x86_64-image = inputs.self.nixosConfigurations.uefi-x86_64.config.mobile.outputs.default; + # Add treefmt formatter formatter.${system} = treefmtEval.config.build.wrapper; diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 7733ebc..1dd25df 100644 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = diff --git a/hosts/cutie/configuration.nix b/hosts/cutie/configuration.nix new file mode 100644 index 0000000..70e8167 --- /dev/null +++ b/hosts/cutie/configuration.nix @@ -0,0 +1,42 @@ +{ lib, pkgs, ... }: +{ + services.flatpak.remotes = [ + { + name = "flathub"; + location = "https://flathub.org/repo/flathub.flatpakrepo"; + } + ]; + + mobile.beautification = { + silentBoot = false; + splash = false; + }; + + users.users.lucy = { + isNormalUser = true; + hashedPassword = "$y$j9T$D1EpjBC8amO7RbwfitIHW.$qZeydQSBI0dzCm7TVUmJ4ZDzBQMMNVG6NUiTpa45XVA"; + extraGroups = [ + "dialout" + "feedbackd" + "networkmanager" + "video" + "wheel" + ]; + }; + + environment.systemPackages = with pkgs; [ + fractal + mission-center + ]; + environment.sessionVariables.NIXPKGS_ALLOW_UNFREE = "1"; + + zramSwap.enable = true; + networking.firewall.enable = lib.mkForce false; + + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + + system.stateVersion = "24.11"; +} diff --git a/hosts/p50/configuration.nix b/hosts/p50/configuration.nix new file mode 100644 index 0000000..b279c19 --- /dev/null +++ b/hosts/p50/configuration.nix @@ -0,0 +1,133 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ pkgs +, ... +}: + +{ + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "twinkpad"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + time.timeZone = "Europe/Berlin"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + programs.niri.enable = true; + + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound. + # services.pulseaudio.enable = true; + # OR + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + + }; + + # make pipewire realtime-capable + security.rtkit.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.mutableUsers = false; + users.users.lucy = { + initialHashedPassword = "$6$QX95LTUGi55mFQOZ$j19/LuGvMeWOBCp/oEOLWDU5rcrEfD9/2AQ3sW1OVMROMJEFpg/hTrWKnOgIUfzWtF32wUxNlThXIJm8YWJwZ."; + isNormalUser = true; + extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + packages = with pkgs; [ + tree + ]; + }; + + # List packages installed in system profile. + # You can use https://search.nixos.org/ to find more packages (and options). + environment.systemPackages = with pkgs; [ + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + wget + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + programs.mtr.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how + # to actually do that. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "25.05"; # Did you read the comment? + + nixpkgs.config.allowUnfree = true; + +} diff --git a/hosts/p50/hardware-configuration.nix b/hosts/p50/hardware-configuration.nix new file mode 100644 index 0000000..1dd25df --- /dev/null +++ b/hosts/p50/hardware-configuration.nix @@ -0,0 +1,65 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, modulesPath, ... }: + +{ + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "uas" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "none"; + fsType = "tmpfs"; + options = [ "defaults" "size=8G" "mode=755" ]; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/0777-71C3"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/nix" = + { + device = "/dev/disk/by-uuid/3a8c6986-3105-4f1f-a75b-f72e4ec5ecdc"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."nix".device = "/dev/disk/by-uuid/439beee9-6797-41bc-bc4f-01bfe1a75166"; + + fileSystems."/etc/nixos" = + { + device = "/nix/persist/etc/nixos"; + fsType = "none"; + options = [ "bind" ]; + }; + + fileSystems."/var/log" = + { + device = "/nix/persist/var/log"; + fsType = "none"; + options = [ "bind" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/home.nix b/modules/home.nix index b067021..8b3f772 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -1,6 +1,7 @@ -{ config -, pkgs -, ... +{ + config, + pkgs, + ... }: { imports = [ @@ -125,6 +126,9 @@ jaq wl-clipboard element-desktop + jetbrains.idea-community + jdk + gradle ]; # basic configuration of git, please change to your own programs.git = { diff --git a/modules/waybar.nix b/modules/waybar.nix index c66cd7c..ce9cf47 100644 --- a/modules/waybar.nix +++ b/modules/waybar.nix @@ -1,119 +1,443 @@ { + config, + pkgs, + ... +}: +{ + home.packages = with pkgs; [ waybar ]; + programs.waybar = { enable = true; - settings = { mainBar = { layer = "top"; - position = "top"; - height = 28; - output = [ "eDP-1" ]; - margin = "10 20"; - - modules-left = [ + "modules-left" = [ "niri/workspaces" - "custom/catgirl-status" + "hyprland/window" ]; - modules-center = [ "sway/window" ]; - modules-right = [ - "battery" - "network" - "clock" + "modules-center" = [ "clock" ]; + "modules-right" = [ + "tray" + "cpu" + "memory" + "idle_inhibitor" + "pulseaudio" + "bluetooth" ]; - - # Catgirl status placeholder - "custom/catgirl-status" = { - interval = 10; - exec = '' - echo "" - ''; - format = "{}"; - max-length = 40; - tooltip = false; + "hyprland/window" = { + format = "{title}"; + "max-length" = 333; + "seperate-outputs" = true; }; - - # Workspaces with numbers instead of icons - "niri/workspaces" = { - all-outputs = true; - disable-click = false; - format = "{name}"; - disable-markup = false; - max-length = 6; - }; - - battery = { - format = "🔋 {capacity}%"; - low = 20; - critical = 10; - format-low = "⚠️ {capacity}%"; - format-critical = "🚨 {capacity}%"; - tooltip = true; - }; - - network = { - interface = "wlan0"; - format-connected = "📶 {essid}"; - format-disconnected = "📡 disconnected"; - tooltip = true; - }; - clock = { - format = "{:%a %b %d, %H:%M}"; - tooltip = false; + format = "{:%I:%M %a %d}"; + "tooltip-format" = "{calendar}"; + calendar = { + mode = "month"; + "mode-mon-col" = 3; + "on-scroll" = 1; + "on-click-right" = "mode"; + format = { + months = "{}"; + days = "{}"; + weeks = "{%W}"; + weekdays = "{}"; + today = "{}"; + }; + }; + actions = { + "on-click-middle" = "mode"; + "on-click-right" = "shift_up"; + "on-click" = "shift_down"; + }; + }; + cpu = { + format = "󰯳 {usage}%"; + }; + memory = { + format = "󰍛 {}%"; + interval = 1; + }; + "custom/gpu-util" = { + exec = "./scripts/gpu-util"; + format = "󰯿 {}"; + interval = 1; + }; + "custom/gpu-temp" = { + exec = "./scripts/gpu-temp"; + format = " {}"; + interval = 1; + }; + temperature = { + "hwmon-path" = "/sys/class/hwmon/hwmon1/temp1_input"; + "critical-threshold" = 80; + format = " {temperatureC}°C"; + interval = 1; + }; + "niri/workspaces" = { + format = "{icon}"; + "active-only" = false; + "sort-by-number" = true; + "on-click" = "activate"; + "all-outputs" = false; + "format-icons" = { + "1" = "1"; + "2" = "2"; + "3" = "3"; + "4" = "4"; + "5" = "5"; + "6" = "6"; + "7" = "7"; + "8" = "8"; + "9" = "9"; + "10" = "10"; + }; + }; + network = { + format = "󰤭 Off"; + "format-wifi" = "{essid} ({signalStrength}%)"; + "format-ethernet" = "󰈀"; + "format-disconnected" = "󰤭 Disconnected"; + "tooltip-format" = "{ifname} via {gwaddr} "; + "tooltip-format-wifi" = "{essid}({signalStrength}%)  "; + "tooltip-format-ethernet" = "󰈀 {ifname}"; + "tooltip-format-disconnected" = "Disconnected"; + }; + pulseaudio = { + format = "{icon} {volume}% {format_source}"; + "format-bluetooth" = "{icon} {volume}% {format_source}"; + "format-bluetooth-muted" = "󰖁 {format_source}"; + "format-muted" = "󰖁 {format_source}"; + "format-source" = " {volume}%"; + "format-source-muted" = ""; + "format-icons" = { + headphone = ""; + phone = ""; + portable = ""; + default = [ + "" + "" + "" + ]; + }; + "on-click-left" = "pavucontrol"; + input = true; + }; + "custom/playerctl" = { + format = "{icon} {}"; + "return-type" = "json"; + "max-length" = 333; + exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} ~ {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F"; + "on-click-middle" = "playerctl play-pause"; + "on-click" = "playerctl previous"; + "on-click-right" = "playerctl next"; + "format-icons" = { + Playing = ""; + Paused = ""; + }; + }; + tray = { + format = "{icon}"; + "icon-size" = 14; + spacing = 5; + }; + idle_inhibitor = { + format = "{icon}"; + "format-icons" = { + activated = "󱠛"; + deactivated = "󱤱"; + }; + }; + "custom/subs" = { + format = "󰗃 {}"; + exec = "/usr/local/bin/subsfile.sh"; + "on-click" = "vivaldi-stable https://youtube.com/thelinuxcast"; + "restart-interval" = 1; + }; + "custom/spacer" = { + format = " "; + }; + "wlr/taskbar" = { + format = "{name}"; + "icon-size" = 14; + "icon-theme" = "Numix-Circle"; + "tooltip-format" = "{title}"; + "on-click" = "activate"; + "on-click-middle" = "close"; + "ignore-list" = [ "Alacritty" ]; + "app_ids-mapping" = { + firefoxdeveloperedition = "firefox-developer-edition"; + }; + rewrite = { + "Firefox Web Browser" = "Firefox"; + "Foot Server" = "Terminal"; + }; + }; + bluetooth = { + "on-click" = "./scripts/bluetooth-control"; + "on-click-right" = "./scripts/rofi-bluetooth"; + "on-click-middle" = "./scripts/rofi-bluetooth"; + format = "{icon}"; + interval = 15; + "format-icons" = { + on = ""; + off = "󰂲"; + disabled = "󰂲"; + connected = ""; + }; + "tooltip-format" = "{device_alias} {status}"; }; }; }; - style = '' + @define-color bg #${config.stylix.base16Scheme.base00}; + @define-color fg #${config.stylix.base16Scheme.base05}; + @define-color lbg #${config.stylix.base16Scheme.base01}; + @define-color yellow #${config.stylix.base16Scheme.base0A}; + @define-color lavender #${config.stylix.base16Scheme.base0E}; + @define-color peach #${config.stylix.base16Scheme.base0A}; + @define-color red #${config.stylix.base16Scheme.base08}; + @define-color green #${config.stylix.base16Scheme.base0B}; + @define-color blue #${config.stylix.base16Scheme.base0D}; + @define-color border #${config.stylix.base16Scheme.base02}; + * { - font-family: "Comic Mono", "Fira Mono", monospace; - border-radius: 12px; - font-weight: 600; - padding: 5px 15px; + min-height: 0; + margin: 0px 0px 0px 0px; + padding: 0; + border-radius: 7px; + font-family: "JetBrains Mono Nerd Font"; + font-size: 14pt; + font-weight: 700; + padding-bottom: 0px; + } + + tooltip { + background: @bg; + border-radius: 7px; + border: 2px solid @border; + } + + #window { + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 7px; + border-radius: 3px; + border-color: @lbg; + background-color: @yellow; + color: @bg; + } + + window#waybar.empty #window { + background-color: @bg; + border-bottom: none; + border-right: none; } window#waybar { - background-color: #3A3A58; - color: #FF69B4; - border: 2px solid #FF69B4; - box-shadow: 0 0 15px #FF69B4AA; + background-color: @bg; + color: @lavender; + } + + /* Workspaces */ + @keyframes button_activate { + from { opacity: .3 } + to { opacity: 1.; } + } + + #workspaces { + margin: 0px 0px 0px 0px; + border-radius: 3px; + padding: 1px; + background-color: @bg; + color: @bg; } #workspaces button { - background-color: #FF69B4; - color: #3A3A58; - margin: 0 3px; - border-radius: 8px; - padding: 3px 10px; - transition: background-color 0.2s ease; - font-family: "Fira Mono", monospace; - } - - #workspaces button:hover { - background-color: #FFB6C1; - color: #1A1A2E; + margin: 0px 0px 0px 0px; + border-radius: 3px; + padding-left: 3px; + padding-right: 9px; + background-color: @bg; + color: @fg; } #workspaces button.active { - background-color: #FF69B4; - color: #FFF0F5; - font-weight: bold; + background-color:@blue; + color: @bg; + } + + #workspaces button.urgent { + color: #F38BA8; + } + + #workspaces button:hover { + border: solid transparent; + } + + #custom-gpu-util { + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 10px; + border-radius: 7px; + background-color: @bg; + color: @fg; + } + + #tray { + margin: 0px 0px 0px 0px; + border-radius: 3px; + padding-left: 10px; + padding-right: 10px; + background-color: @bg; + color: @fg; + } + + #idle_inhibitor { + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 12px; + border-radius: 3px; + background-color: @bg; + color: @fg; + } + + #network { + margin: 5px 5px 2px 5px; + padding-left: 10px; + padding-right: 12px; + border-radius: 7px; + background-color: @bg; + color: @lavender; + } + + #network.linked { + color: @peach; + } + #network.disconnected, + #network.disabled { + color: @red; + } + + #custom-subs { + color: @fg; + margin: 5px 5px 2px 5px; + padding-left: 10px; + padding-right: 12px; + border-radius: 3px; + border-bottom: 2px solid @bg; + border-right: 2px solid @bg; + border-color: @lbg; + background-color: @red; + } + + #custom-spacer { + background-color: @yellow; + } + + #custom-cliphist { + color: @peach; + margin: 5px 5px 2px 5px; + padding-left: 10px; + padding-right: 12px; + border-radius: 3px; + background-color: @bg; + } + + #custom-gpu-temp, + #cpu, + #memory, + #custom-clipboard, + #temperature { + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 10px; + border-radius: 3px; + color: @fg; + background-color: @bg; + } + + #custom-playerctl { + margin: 5px 5px 2px 5px; + padding-left: 10px; + padding-right: 10px; + border-radius: 3px; + color: @fg; + background-color: @bg; + } + + #battery, + #backlight, + #bluetooth, + #pulseaudio { + margin-top: 5px; + margin-bottom: 2px; + color: @fg; + background-color: @bg; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + } + + #battery, + #bluetooth { + margin-left: 0px; + margin-right: 5px; + padding-left: 7.5px; + padding-right: 10px; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + } + + #backlight, + #pulseaudio { + margin-right: 0px; + margin-left: 5px; + padding-left: 10px; + padding-right: 7.5px; + border-top-right-radius: 0px; + border-bottom-right-radius: 0px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } #clock { - font-style: italic; - color: #FFC0CB; + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 10px; + border-radius: 3px; + color: @bg; + background-color: @green; } - #battery, #network { - color: #FFB6C1; + #taskbar { + border-radius: 0px 0px 0px 0; + padding: 0 3px; + margin: 0 0px; + color: #ffffff; + background-color: rgba(120,118,117,0.3); + } + #taskbar button { + border-radius: 0px 0px 0px 0px; + padding: 0 0 0 3px; + margin: 3px 1; + color: #ffffff; + background-color: rgba(120,118,117,0.1); + } + #taskbar button.active { + background-color: rgba(120,118,117,0.8); } - #custom-catgirl-status { - font-size: 1.1em; - color: #FF69B4; - font-weight: bold; - font-family: "Comic Mono", monospace; + #mode { + margin: 0px 0px 0px 0px; + padding-left: 10px; + padding-right: 10px; + border-radius: 3px; + background-color: @bg; + color: @peach; } ''; };