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

View File

@ -7,6 +7,9 @@
... ...
}: }:
let
inherit (import ./variables.nix) browser;
in
{ {
imports = [ imports = [
./hardware.nix ./hardware.nix
@ -16,7 +19,9 @@
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = 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.useTmpfs = false;
boot.tmp.tmpfsSize = "30%"; boot.tmp.tmpfsSize = "30%";
@ -24,8 +29,7 @@
boot.kernelModules = [ "v4l2loopback" ]; boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
networking.hostName = "${host}"; # Define your hostname. networking.hostName = "${host}";
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary # Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.default = "http://user:password@proxy:port/";
@ -66,7 +70,31 @@
pulse.enable = true; 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; nixpkgs.config.allowUnfree = true;
@ -78,13 +106,74 @@
vim vim
wget wget
git 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 = { environment.variables = {
ZANEYOS_VERSION="2.0"; ZANEYOS_VERSION = "2.0";
}; };
# List services that you want to enable: # List services that you want to enable:
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver = { services.xserver = {
@ -103,11 +192,12 @@
nix = { nix = {
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [
substituters = ["https://hyprland.cachix.org"]; "nix-command"
trusted-public-keys = [ "flakes"
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
]; ];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
}; };
gc = { gc = {
automatic = true; automatic = true;
@ -116,6 +206,14 @@
}; };
}; };
virtualisation.libvirtd.enable = true;
# OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Open ports in the firewall. # Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedTCPPorts = [ ... ];

View File

@ -36,6 +36,16 @@ in
"Xcursor.size" = 24; "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 # Install & Configure Git
programs.git = { programs.git = {
enable = true; enable = true;
@ -58,7 +68,8 @@ in
}; };
}; };
programs.bash = { programs = {
bash = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
profileExtra = '' profileExtra = ''
@ -76,20 +87,51 @@ in
ZANEYOS = true; ZANEYOS = true;
}; };
shellAliases = { shellAliases = {
sv="sudo nvim"; sv = "sudo nvim";
flake-rebuild="nh os switch --hostname ${host}"; flake-rebuild = "nh os switch --hostname ${host}";
flake-update="nh os switch --hostname ${host} --update"; 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"; gcCleanup = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
v="nvim"; v = "nvim";
ls="lsd"; ls = "lsd";
ll="lsd -l"; ll = "lsd -l";
la="lsd -a"; la = "lsd -a";
lal="lsd -al"; lal = "lsd -al";
".."="cd .."; ".." = "cd ..";
neofetch="neofetch --ascii ~/.config/ascii-neofetch"; };
};
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 borderAnim = true; # Enable / Disable Hyprland Border Animation
extraMonitorSettings = ""; extraMonitorSettings = "";
# Waybar Settings
clock24h = false;
# Program Options # Program Options
browser = "firefox"; # Set Default Browser browser = "firefox"; # Set Default Browser
terminal = "kitty"; # Set Default System Terminal terminal = "kitty"; # Set Default System Terminal
} }