Adding back waybar, wallpapers, and fonts

This commit is contained in:
Tyler Kelley 2024-05-14 13:04:27 -05:00
parent 32a9191fce
commit 5c04d0dc11
11 changed files with 771 additions and 224 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +1,24 @@
{ pkgs, config, lib, inputs, host, ... }:
{
pkgs,
config,
lib,
inputs,
host,
...
}:
let
theme = config.colorScheme.palette;
hyprplugins = inputs.hyprland-plugins.packages.${pkgs.system};
inherit (import ../hosts/${host}/variables.nix)
browser borderAnim terminal extraMonitorSettings;
in with lib; {
browser
borderAnim
terminal
extraMonitorSettings
;
in
with lib;
{
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
@ -13,9 +26,12 @@ in with lib; {
plugins = [
# hyprplugins.hyprtrails
];
extraConfig = let
extraConfig =
let
modifier = "SUPER";
in concatStrings [ ''
in
concatStrings [
''
monitor=,preferred,auto,1
${extraMonitorSettings}
general {
@ -69,10 +85,14 @@ in with lib; {
animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner
${if borderAnim == true then ''
${
if borderAnim == true then
''
animation = borderangle, 1, 30, liner, loop
'' else ''
''}
''
else
''''
}
animation = fade, 1, 10, default
animation = workspaces, 1, 5, wind
}
@ -97,8 +117,8 @@ in with lib; {
exec-once = swww init
exec-once = waybar
exec-once = swaync
exec-once = wallsetter
exec-once = nm-applet --indicator
exec-once = lxqt-policykit-agent
dwindle {
pseudotile = true
preserve_split = true
@ -110,11 +130,16 @@ in with lib; {
bind = ${modifier}SHIFT,Return,exec,rofi-launcher
bind = ${modifier}SHIFT,W,exec,web-search
bind = ${modifier}SHIFT,N,exec,swaync-client -rs
${if browser == "google-chrome" then ''
${
if browser == "google-chrome" then
''
bind = ${modifier},W,exec,google-chrome-stable
'' else ''
''
else
''
bind = ${modifier},W,exec,${browser}
''}
''
}
bind = ${modifier},E,exec,emopicker9000
bind = ${modifier},S,exec,screenshootin
bind = ${modifier},D,exec,discord
@ -184,7 +209,7 @@ in with lib; {
bind = ,XF86AudioPrev, exec, playerctl previous
bind = ,XF86MonBrightnessDown,exec,brightnessctl set 5%-
bind = ,XF86MonBrightnessUp,exec,brightnessctl set +5%
'' ];
''
];
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

384
config/waybar.nix Normal file
View File

@ -0,0 +1,384 @@
{
pkgs,
config,
lib,
host,
...
}:
let
palette = config.colorScheme.palette;
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"
];
modules-right = [
"custom/hyprbindings"
"custom/exit"
"idle_inhibitor"
"custom/themeselector"
"custom/notification"
"battery"
"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";
};
"clock" = {
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><br><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 25;
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;
};
"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 = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/themeselector" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && theme-selector";
};
"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 = " Bindings";
on-click = "sleep 0.1 && list-hypr-bindings";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-size: 16px;
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
font-weight: bold;
}
window#waybar {
background-color: #${palette.base00};
border-bottom: 1px solid rgba(26,27,38,0);
border-radius: 0px;
color: #${palette.base0F};
}
#workspaces {
background: #${palette.base01};
margin: 2px;
padding: 0px 1px;
border-radius: 15px;
border: 0px;
font-style: normal;
color: #${palette.base00};
}
#workspaces button {
padding: 0px 5px;
margin: 4px 3px;
border-radius: 10px;
border: 0px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
opacity: 0.5;
transition: ${betterTransition};
}
#workspaces button.active {
padding: 0px 5px;
margin: 4px 3px;
border-radius: 10px;
border: 0px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
transition: ${betterTransition};
opacity: 1.0;
min-width: 40px;
}
#workspaces button:hover {
border-radius: 10px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
opacity: 0.8;
transition: ${betterTransition};
}
@keyframes gradient_horizontal {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes swiping {
0% {
background-position: 0% 200%;
}
100% {
background-position: 200% 200%;
}
}
tooltip {
background: #${palette.base00};
border: 1px solid #${palette.base0E};
border-radius: 10px;
}
tooltip label {
color: #${palette.base07};
}
#window {
margin: 4px;
padding: 2px 10px;
color: #${palette.base05};
background: #${palette.base01};
border-radius: 10px;
}
#memory {
color: #${palette.base0F};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#clock {
color: #${palette.base01};
background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0F}, #${palette.base0B}, #${palette.base08});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#cpu {
color: #${palette.base07};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#disk {
color: #${palette.base03};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#battery {
color: #${palette.base08};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#network {
color: #${palette.base09};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-hyprbindings {
color: #${palette.base0E};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#tray {
color: #${palette.base05};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#pulseaudio {
color: #${palette.base0D};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-notification {
color: #${palette.base0C};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-themeselector {
color: #${palette.base0D};
background: #${palette.base01};
margin: 4px 0px;
padding: 2px 10px 2px 5px;
border-radius: 0px 10px 10px 0px;
}
#custom-startmenu {
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base09}, #${palette.base03}, #${palette.base0C}, #${palette.base07});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#idle_inhibitor {
color: #${palette.base09};
background: #${palette.base01};
margin: 4px 0px;
padding: 2px 14px;
border-radius: 0px;
}
#custom-exit {
color: #${palette.base0E};
background: #${palette.base01};
border-radius: 10px 0px 0px 10px;
margin: 4px 0px;
padding: 2px 5px 2px 15px;
} ''
];
};
}

View File

@ -14,11 +14,7 @@
};
outputs =
inputs@{
nixpkgs,
home-manager,
...
}:
inputs@{ nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
host = "familypc";

View File

@ -7,6 +7,9 @@
...
}:
let
inherit (import ./variables.nix) browser;
in
{
imports = [
./hardware.nix
@ -16,7 +19,9 @@
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernel.sysctl = { "vm.max_map_count" = 2147483642; };
boot.kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
boot.tmp.useTmpfs = false;
boot.tmp.tmpfsSize = "30%";
@ -24,8 +29,7 @@
boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
networking.hostName = "${host}"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.hostName = "${host}";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
@ -66,7 +70,31 @@
pulse.enable = true;
};
programs.firefox.enable = true;
programs = {
hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
};
firefox.enable = true;
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
};
# Steam Configuration
programs.steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
nixpkgs.config.allowUnfree = true;
@ -78,13 +106,74 @@
vim
wget
git
cmatrix
lolcat
neofetch
htop
btop
libvirt
lxqt.lxqt-policykit
lm_sensors
unzip
unrar
libnotify
eza
v4l-utils
ydotool
wl-clipboard
socat
cowsay
lsd
lshw
pkg-config
meson
hugo
gnumake
ninja
go
nodejs
symbola
noto-fonts-color-emoji
material-icons
brightnessctl
virt-viewer
swappy
ripgrep
appimage-run
networkmanagerapplet
yad
playerctl
nh
nixfmt
discord
libvirt
swww
grim
slurp
gnome.file-roller
swaynotificationcenter
rofi-wayland
imv
transmission-gtk
mpv
gimp
obs-studio
rustup
audacity
pavucontrol
tree
protonup-qt
font-awesome
spotify
swayidle
neovide
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
];
environment.variables = {
ZANEYOS_VERSION="2.0";
ZANEYOS_VERSION = "2.0";
};
# List services that you want to enable:
# Enable the X11 windowing system.
services.xserver = {
@ -103,11 +192,12 @@
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
experimental-features = [
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
gc = {
automatic = true;
@ -116,6 +206,14 @@
};
};
virtualisation.libvirtd.enable = true;
# OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];

View File

@ -36,6 +36,16 @@ in
"Xcursor.size" = 24;
};
# Place Files Inside Home Directory
home.file.".config/wallpapers" = {
source = ../../config/wallpapers;
recursive = true;
};
home.file.".local/share/fonts" = {
source = ../../config/fonts;
recursive = true;
};
# Install & Configure Git
programs.git = {
enable = true;
@ -58,7 +68,8 @@ in
};
};
programs.bash = {
programs = {
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
@ -76,20 +87,51 @@ in
ZANEYOS = true;
};
shellAliases = {
sv="sudo nvim";
flake-rebuild="nh os switch --hostname ${host}";
flake-update="nh os switch --hostname ${host} --update";
gcCleanup="nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
v="nvim";
ls="lsd";
ll="lsd -l";
la="lsd -a";
lal="lsd -al";
".."="cd ..";
neofetch="neofetch --ascii ~/.config/ascii-neofetch";
sv = "sudo nvim";
flake-rebuild = "nh os switch --hostname ${host}";
flake-update = "nh os switch --hostname ${host} --update";
gcCleanup = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
v = "nvim";
ls = "lsd";
ll = "lsd -l";
la = "lsd -a";
lal = "lsd -al";
".." = "cd ..";
};
};
home-manager.enable = true;
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 300;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "/home/${username}/.config/wallpapers/zaney-wallpaper.jpg";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(202, 211, 245)";
inner_color = "rgb(91, 96, 120)";
outer_color = "rgb(24, 25, 38)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
};
programs.home-manager.enable = true;
}

View File

@ -10,8 +10,10 @@
borderAnim = true; # Enable / Disable Hyprland Border Animation
extraMonitorSettings = "";
# Waybar Settings
clock24h = false;
# Program Options
browser = "firefox"; # Set Default Browser
terminal = "kitty"; # Set Default System Terminal
}