a lot of work on visuals, overhauled waybar config

This commit is contained in:
pagedmov
2024-10-20 02:18:28 -04:00
parent 740c27ba86
commit 5a1f391af2
11 changed files with 267 additions and 160 deletions

View File

@@ -41,12 +41,33 @@
} @ inputs: let
system = "x86_64-linux";
username = "pagedmov";
wallpaper = "${self}/media/wallpapers/cabin-2.jpg";
# Base 16 scheme for system colors
scheme = {
"base00" = "151515";
"base01" = "202020";
"base02" = "303030";
"base03" = "505050";
"base04" = "b0b0b0";
"base05" = "d0d0d0";
"base06" = "e0e0e0";
"base07" = "f5f5f5";
"base08" = "fb9fb1";
"base09" = "eda987";
"base0A" = "ddb26f";
"base0B" = "acc267";
"base0C" = "12cfc0";
"base0D" = "6fc2ef";
"base0E" = "e1a3ee";
"base0F" = "deaf8f";
};
in {
nixosConfigurations = {
oganesson = nixpkgs.lib.nixosSystem {
specialArgs = {
host = "oganesson";
inherit self inputs username;
inherit self inputs scheme wallpaper username;
};
inherit system;
modules = [

View File

@@ -14,5 +14,14 @@
gtk = {
enable = true;
cursorTheme = {
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
size = 16;
};
#font = {
# name = "Iosevka Nerd Font";
# package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
#};
};
}

View File

@@ -1,6 +1,7 @@
{
username,
host,
scheme,
...
}: {
wayland.windowManager.hyprland = {
@@ -57,6 +58,8 @@
gaps_in = 4;
gaps_out = 8;
border_size = 2;
#"col.inactive_border" = "0xff${scheme.base01}";
#"col.active_border" = "0xff${scheme.base0F}";
border_part_of_window = false;
no_border_on_floating = false;
};

View File

@@ -2,6 +2,7 @@
pkgs,
lib,
inputs,
scheme,
...
}: let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
@@ -20,5 +21,23 @@ in {
hidePodcasts
shuffle # shuffle+ (special characters are sanitized out of extension names)
];
#colorScheme = "custom";
#customColorScheme = {
# text = scheme.base06;
# subtext = scheme.base04;
# sidebar-text = scheme.base04;
# main = scheme.base00;
# sidebar = scheme.base01;
# shadow = scheme.base01;
# selected-row = scheme.base08;
# button = scheme.base0D;
# button-active = scheme.base0C;
# button-disabled = scheme.base02;
# tab-active = scheme.base0E;
# notification = scheme.base0A;
# notification-error = scheme.base09;
# misc = scheme.base0F;
#};
};
}

View File

@@ -51,7 +51,7 @@
};
clock = {
format = "{:%I\n%M\n%S}";
format = "{:%I\n%M}";
interval = 1;
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";

View File

@@ -1,125 +1,98 @@
{...}: let
custom = {
font_size = "15px"; # Base font size
font_weight = "bold"; # Base font weight
notification_font_size = "18px"; # Font size for notifications
text_color = "#cccedb"; # Default text color
background_color = "rgba(21, 21, 21, 0.83)";
border_color = "rgba(255, 255, 255, 0.3)";
notification_margin_left = "-2px";
notification_margin_top = "-4px";
notification_padding_bottom = "12px";
tooltip_bg = "#1D2021";
tooltip_color = "#FBF1C7";
tooltip_border = "#101a24";
{
scheme,
...
}:
let
bg = {
darkester = scheme.base00;
darkest = scheme.base01;
darker = scheme.base02;
dark = scheme.base03;
};
in {
fg = {
lightester = scheme.base07;
lightest = scheme.base06;
lighter = scheme.base05;
light = scheme.base04;
};
colors = {
color0 = scheme.base08;
color1 = scheme.base09;
color2 = scheme.base0A;
color3 = scheme.base0B;
color4 = scheme.base0C;
color5 = scheme.base0D;
color6 = scheme.base0E;
color7 = scheme.base0F;
};
in
{
programs.waybar.style = ''
* {
font-family: "JetBrains Mono Nerd Font";
font-weight: ${custom.font_weight};
font-size: ${custom.font_size};
}
#custom-notification {
font-family: "JetBrains Mono Nerd Font";
font-size: ${custom.notification_font_size};
color: ${custom.text_color};
margin-left: ${custom.notification_margin_left};
margin-top: ${custom.notification_margin_top};
padding-bottom: ${custom.notification_padding_bottom};
}
window#waybar {
background: ${custom.background_color};
border: 3px solid ${custom.border_color};
border-radius: 6px;
}
tooltip {
background: ${custom.tooltip_bg};
color: ${custom.tooltip_color};
font-size: 13px;
border-radius: 7px;
border: 2px solid ${custom.tooltip_border};
}
#workspaces {
font-weight: normal;
background: rgba(23, 23, 23, 0.0);
color: #2F302D;
border-radius: 9px;
padding-left: 0px;
padding-right: 4px;
padding-top: 1px;
}
#workspaces button {
font-weight: normal;
background: rgba(23, 23, 23, 0.0);
color: #B1B2BD;
border-radius: 9px;
padding-left: 0px;
padding-right: 4px;
margin-right: -4px;
margin-top: -10px;
}
#workspaces button.active {
color: ${custom.text_color};
font-weight: normal;
padding-left: 0px;
padding-right: 4px;
transition: all 0.3s ease;
}
#taskbar button {
box-shadow: none;
font-size: 4px;
padding: 0px;
border-radius: 9px;
margin-top: 3px;
margin-bottom: 3px;
margin-left: 3px;
margin-right: 3px;
color: #A1BDCE;
}
#taskbar button.active {
background: #C8C8C8;
color: #C8C8C8;
margin-left: 10px;
margin-right: 10px;
border-radius: 3px;
}
#tray menu * {
font-weight: bold;
font-size: 13px;
color: #FBF1C7;
}
#tray {
padding: 0px;
font-size: 14;
}
#battery {
font-weight: normal;
font-size: 22px;
color: #a6d189;
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#clock {
color: ${custom.text_color};
font-size: 15px;
font-weight: 900;
font-family: "CaskaydiaCove Nerd Font Mono";
background: rgba(23, 23, 23, 0.0);
#tray menu * {
font-weight: bold;
font-size: 13px;
color: #FBF1C7;
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#taskbar button {
box-shadow: none;
font-size: 4px;
border-radius: 9px;
color: #A1BDCE;
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
tooltip {
background: #${bg.darkester};
color: #${fg.lighter};
font-size: 13px;
border-radius: 7px;
border: 2px solid #${bg.dark};
background: #${bg.darkest};
}
window#waybar {
opacity: 0.85;
background: #${bg.darkester};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#workspaces {
font-weight: normal;
color: transparent;
margin-left: -5px;
margin-top: 0px;
border: 0px;
border-radius: 6px;
}
#backlight-slider slider,
#pulseaudio-slider slider {
background: #A1BDCE;
background: #${colors.color3};
background-color: transparent;
box-shadow: none;
}
@@ -128,11 +101,8 @@ in {
#pulseaudio-slider trough {
min-width: 9px;
min-height: 90px;
margin-bottom: -4px;
border-radius: 8px;
background: #343434;
margin-left: -4px;
margin-right: -4px;
}
#backlight-slider highlight,
@@ -141,59 +111,99 @@ in {
background-color: #2096C0;
}
#custom-mouse {
font-size: 14px;
margin-bottom: 6px;
background: #161320;
#pulseaudio {
font-weight: normal;
font-size: 18px;
color: #${colors.color3};
background: #${bg.darkest};
border: 2px solid #${bg.dark};
margin: 4px;
margin-bottom: 0px;
border: 2px solid @unfocused_borders;
border-bottom: 2px solid #151515;
border-radius: 6px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
#network {
font-size: 19px;
color: #${colors.color4};
background: #${bg.darkest};
margin: 4px;
margin-top: 0;
border: 2px solid @unfocused_borders;
border-top: 2px solid #151515;
border-radius: 6px;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
}
#clock {
color: #${colors.color6};
font-size: 15px;
font-weight: 900;
font-family: "CaskaydiaCove Nerd Font Mono";
background: #${bg.darkest};
margin: 4px;
border-radius: 6px;
border: 2px solid @unfocused_borders;
border-radius: 6px;
}
#custom-notification {
font-family: "JetBrains Mono Nerd Font";
font-size: 21px;
color: #${colors.color7};
background: #${bg.darkest};
margin: 4px;
border: 2px solid @unfocused_borders;
border-radius: 6px;
}
#custom-power {
font-size: 15px;
color: #FFFFFF;
background: rgba(22, 19, 32, 0.9);
margin: 6px 0px;
padding-left: 4px;
padding-right: 4px;
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#backlight {
color: ${custom.text_color};
color: #${fg.lighter};
font-weight: normal;
font-size: 19px;
margin: 0px;
padding-left: 0px;
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#custom-spacer {
opacity: 0.0;
padding-top: 3px;
}
#tray menu separator {
min-height: 10px;
}
#pulseaudio {
font-weight: normal;
font-size: 18px;
color: ${custom.text_color};
}
#cpu {
font-weight: normal;
font-size: 22px;
color: ${custom.text_color};
color: #${fg.lighter};
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
#memory {
font-weight: normal;
font-size: 22px;
color: ${custom.text_color};
}
#network {
font-size: 19px;
color: ${custom.text_color};
color: #${fg.lighter};
background: #${bg.darkest};
border: 2px solid #${bg.dark};
border-radius: 6px;
}
'';
}

View File

@@ -4,6 +4,8 @@
self,
inputs,
username,
wallpaper,
scheme,
config,
...
}: let
@@ -14,7 +16,7 @@ in {
useUserPackages = true;
useGlobalPkgs = true;
backupFileExtension = "backup";
extraSpecialArgs = {inherit self inputs host username nur;};
extraSpecialArgs = {inherit self inputs host wallpaper scheme username nur;};
users.${username} = {
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {

View File

@@ -1,4 +1,4 @@
{pkgs, ...}: {
{pkgs, scheme, ...}: {
programs.kitty = {
enable = true;
@@ -30,5 +30,41 @@
"ctrl+shift+left" = "no_op";
"ctrl+shift+right" = "no_op";
};
extraConfig = ''
background #${scheme.base00}
foreground #${scheme.base05}
selection_background #${scheme.base05}
selection_foreground #${scheme.base00}
url_color #${scheme.base04}
cursor #${scheme.base05}
active_border_color #${scheme.base03}
inactive_border_color #${scheme.base01}
active_tab_background #${scheme.base00}
active_tab_foreground #${scheme.base05}
inactive_tab_background #${scheme.base01}
inactive_tab_foreground #${scheme.base04}
tab_bar_background #${scheme.base01}
# normal
color0 #${scheme.base01}
color1 #${scheme.base08}
color2 #${scheme.base0B}
color3 #${scheme.base0A}
color4 #${scheme.base0D}
color5 #${scheme.base0E}
color6 #${scheme.base0C}
color7 #${scheme.base05}
# bright
color8 #${scheme.base03}
color9 #${scheme.base09}
color10 #${scheme.base01}
color11 #${scheme.base02}
color12 #${scheme.base04}
color13 #${scheme.base06}
color14 #${scheme.base0F}
color15 #${scheme.base07}
'';
};
}

View File

@@ -7,6 +7,7 @@ pkgs.writeShellScriptBin "splash" ''
echo "NixOS kernel ver. $(uname -a | awk '{print $3}') x86_64 GNU/Linux"
date +"%A %B %-d %Y"
echo -e "\033[38;2;0;180;205m$(toilet -t -f Slant.flf glasshouse)\033[0m"
echo
echo " NixOS" | toilet -f 3d | lolcat -S 25
echo
''

View File

@@ -1,32 +1,14 @@
{
pkgs,
self,
lib,
scheme,
wallpaper,
...
}:
let
wallpaper = "${self}/media/wallpapers/sine.png";
# Generate base16 color scheme from wallpaper
scheme_string_step1 = pkgs.runCommand "scheme_string" { }''
${pkgs.flavours}/bin/flavours generate dark ${wallpaper} --stdout | sed 's/"//g' | sed 's/://' | tail -n 16 > $out
'';
scheme_string = builtins.readFile scheme_string_step1;
scheme_list = lib.filter (x: x != "") (lib.splitString "\n" scheme_string);
scheme_set = lib.lists.foldl' (acc: line:
let
splitLine = lib.splitString " " line;
key = builtins.elemAt splitLine 0;
value = builtins.elemAt splitLine 1;
in
acc // { "${key}" = value; }
) {} scheme_list;
in
{
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/chalk.yaml";
base16Scheme = scheme;
image = wallpaper;
polarity = "dark";
autoEnable = true;
@@ -35,6 +17,9 @@ in
console.enable = true;
feh.enable = true;
grub.enable = true;
gtk.enable = true;
nixos-icons.enable = true;
nixvim.enable = true;
};
cursor = {
package = pkgs.bibata-cursors;

View File

@@ -1,7 +1,28 @@
{ config, ... }:
{ scheme, config, ... }:
{
programs.nixvim = {
colorschemes.base16 = {
enable = true;
colorscheme = {
base00 = "#${scheme.base00}";
base01 = "#${scheme.base01}";
base02 = "#${scheme.base02}";
base03 = "#${scheme.base03}";
base04 = "#${scheme.base04}";
base05 = "#${scheme.base05}";
base06 = "#${scheme.base06}";
base07 = "#${scheme.base07}";
base08 = "#${scheme.base08}";
base09 = "#${scheme.base09}";
base0A = "#${scheme.base0A}";
base0B = "#${scheme.base0B}";
base0C = "#${scheme.base0C}";
base0D = "#${scheme.base0D}";
base0E = "#${scheme.base0E}";
base0F = "#${scheme.base0F}";
};
};
enable = true;
diagnostics.signs = false;
extraConfigLua = ''