new wallpapers added, along with a general visual overhaul via stylix and refactoring of existing stylization options

This commit is contained in:
pagedmov
2024-10-19 07:42:55 -04:00
parent c2dd806538
commit 740c27ba86
17 changed files with 506 additions and 217 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
media/wallpapers/cloud.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
media/wallpapers/sine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 KiB

BIN
media/wallpapers/train.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

View File

@@ -4,7 +4,12 @@
... ...
}: { }: {
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home.packages = [ home.packages = with pkgs; [
(nerdfonts.override { fonts = [
"JetBrainsMono"
"CascadiaCode"
"NerdFontsSymbolsOnly"
]; })
]; ];
gtk = { gtk = {

View File

@@ -94,10 +94,10 @@
blur = { blur = {
enabled = true; enabled = true;
size = 1; # size = 1;
passes = 1; # passes = 1;
# size = 4; size = 4;
# passes = 2; passes = 2;
brightness = 1; brightness = 1;
contrast = 1.400; contrast = 1.400;
ignore_opacity = true; ignore_opacity = true;

View File

@@ -34,6 +34,9 @@
in { in {
home.packages = with pkgs; home.packages = with pkgs;
[ [
flavours
ags
sassc
gtk3 gtk3
sqlite sqlite
gimp gimp

View File

@@ -1,147 +1,301 @@
{...}: { {...}:
{
programs.waybar.settings.mainBar = { programs.waybar.settings.mainBar = {
position = "top";
layer = "top"; layer = "top";
height = 5; position = "left";
margin-top = 0; mod = "dock";
margin-bottom = 0; margin-left = 4;
margin-left = 0;
margin-right = 0; margin-right = 0;
margin-top = 4;
margin-bottom = 4;
exclusive = true;
passthrough = false;
"gtk-layer-shell" = true;
reload_style_on_change = true;
modules-left = [ modules-left = [
"custom/launcher" "custom/spacer"
"custom/separator"
"hyprland/workspaces" "hyprland/workspaces"
"custom/spacer"
]; ];
modules-center = [
"clock"
];
modules-right = [ modules-right = [
"tray" "group/expand"
"custom/separator" "group/expand-3"
"cpu"
"memory"
"disk"
"custom/separator"
"pulseaudio"
"battery"
"network" "network"
"custom/separator" "clock"
"upower"
"custom/notification" "custom/notification"
]; ];
"custom/led" = {
format = "<span color='#AFAFAF'>󰍿</span><span color='#AFAFAF'> </span>";
format-alt = "󰍿<span color='#83A1F6'> </span>";
on-click = "~/mouse.sh";
rotate = 90;
tooltip = false;
};
"group/expand-3" = {
orientation = "vertical";
drawer = {
"transition-duration" = 600;
"children-class" = "not-power";
"transition-to-left" = false;
"click-to-reveal" = false;
};
modules = [
"pulseaudio"
"pulseaudio/slider"
];
};
clock = { clock = {
format = "{:%I\n%M\n%S}";
interval = 1;
rotate = 0;
on-click = "/usr/local/bin/ags -t ActivityCenter";
tooltip-format = "<tt>{calendar}</tt>";
calendar = { calendar = {
format = {today = "<span color='#b4befe'><b><u>{}</u></b></span>";}; mode = "month";
}; "mode-mon-col" = 3;
format = " {:%H:%M}"; "on-scroll" = 1;
tooltip = "true"; "on-click-right" = "mode";
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"; format = {
format-alt = " {:%d/%m}"; months = "<span color='#ffead3'><b>{}</b></span>";
}; weekdays = "<span color='#ffcc66'><b>{}</b></span>";
"hyprland/workspaces" = { today = "<span color='#ff6699'><b>{}</b></span>";
active-only = false;
disable-scroll = true;
format = "{icon}";
on-click = "activate";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
urgent = "";
default = "";
sort-by-number = true;
};
persistent-workspaces = {
"1" = [];
"2" = [];
"3" = [];
"4" = [];
"5" = [];
"6" = [];
}; };
}; };
memory = {
format = "󰟜 {}%"; actions = {
format-alt = "󰟜 {used} GiB"; #  "on-click-right" = "mode";
interval = 2; "on-click-forward" = "tz_up";
"on-click-backward" = "tz_down";
"on-scroll-up" = "shift_up";
"on-scroll-down" = "shift_down";
}; };
cpu = {
format = " {usage}%";
format-alt = " {avg_frequency} GHz";
interval = 2;
}; };
disk = {
# path = "/"; upower = {
format = "󰋊 {percentage_used}%";
interval = 60;
};
network = {
format-wifi = " {signalStrength}%";
format-ethernet = "󰀂 ";
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
format-linked = "{ifname} (No IP)";
format-disconnected = "󰖪 ";
};
tray = {
icon-size = 20; icon-size = 20;
spacing = 8; format = "";
}; on-click = "/home/anik/battery.sh";
pulseaudio = {
format = "{icon} {volume}%";
format-muted = " {volume}%";
format-icons = {
default = [" "];
};
scroll-step = 5;
on-click = "pamixer -t";
on-click-right = "pavucontrol";
};
battery = {
format = "{icon} {capacity}%";
format-icons = [" " " " " " " " " "];
format-charging = " {capacity}%";
format-full = " {capacity}%";
format-warning = " {capacity}%";
interval = 5;
states = {
warning = 20;
};
format-time = "{H}h{M}m";
tooltip = true; tooltip = true;
tooltip-format = "{time}"; rotate = 0;
tooltip-spacing = 20;
on-click-right = "pkill waybar & hyprctl dispatch exec waybar";
}; };
"custom/launcher" = {
format = ""; "upower#headset" = {
on-click = "fuzzel"; format = " {percentage}";
on-click-right = "wallpaper-picker"; "native-path" = "/org/freedesktop/UPower/devices/headset_dev_A6_98_9A_0D_D3_49";
tooltip = "false"; "show-icon" = false;
tooltip = false;
}; };
"group/expand-4" = {
orientation = "horizontal";
drawer = {
"transition-duration" = 600;
"children-class" = "not-power";
"transition-to-left" = true;
"click-to-reveal" = true;
};
modules = ["upower" "upower/headset"];
};
network = {
tooltip = true;
format-wifi = "{icon}";
format-icons = ["󰤟" "󰤢" "󰤥"];
rotate = 0;
format-ethernet = "󰈀 ";
tooltip-format = ''
Network: <big><b>{essid}</b></big>\n
Signal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\n
Frequency: <b>{frequency}MHz</b>\n
Interface: <b>{ifname}</b>\n
IP: <b>{ipaddr}/{cidr}</b>\n
Gateway: <b>{gwaddr}</b>\n
Netmask: <b>{netmask}</b>
'';
format-linked = "󰈀 {ifname} (No IP)";
format-disconnected = "";
tooltip-format-disconnected = "Disconnected";
on-click = "/usr/local/bin/ags -t ControlPanel";
interval = 2;
};
"custom/smallspacer" = {
format = "";
rotate = 0;
};
memory = {
interval = 1;
rotate = 270;
format = "{icon}";
format-icons = [
"󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"
];
max-length = 10;
};
cpu = {
interval = 1;
format = "{icon}";
rotate = 270;
format-icons = [
"󰝦" "󰪞" "󰪟" "󰪠" "󰪡" "󰪢" "󰪣" "󰪤" "󰪥"
];
};
"mpris" = {
format = "󰝚 {player_icon}";
rotate = 90;
"format-paused" = "<span color='#2d2d2e'>󰝚 {status_icon}</span>";
"max-length" = 6;
"player-icons" = {
default = "󰏤";
mpv = "󰝚";
};
"status-icons" = {
paused = "󰐊";
};
};
tray = {
"icon-size" = 16;
rotate = 0;
spacing = 3;
};
"group/expand" = {
orientation = "vertical";
drawer = {
"transition-duration" = 600;
"children-class" = "not-power";
"transition-to-left" = true;
};
modules = ["custom/menu" "custom/spacer" "tray"];
};
"custom/menu" = {
format = "󰅃";
rotate = 0;
};
"custom/notification" = { "custom/notification" = {
tooltip = false; tooltip = false;
format = "{icon} "; rotate = 0;
format = "{icon}";
format-icons = { format-icons = {
notification = "<span foreground='red'><sup></sup></span> "; notification = "󱅫";
none = " "; none = "󰂚";
dnd-notification = "<span foreground='red'><sup></sup></span> "; "dnd-notification" = "󱅫";
dnd-none = " "; "dnd-none" = "󰂚";
inhibited-notification = "<span foreground='red'><sup></sup></span> "; "inhibited-notification" = "󱅫";
inhibited-none = " "; "inhibited-none" = "󰂚";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> "; "dnd-inhibited-notification" = "󱅫";
dnd-inhibited-none = " "; "dnd-inhibited-none" = "󰂚";
}; };
return-type = "json"; "return-type" = "json";
exec-if = "which swaync-client"; "exec-if" = "which swaync-client";
exec = "swaync-client -swb"; exec = "swaync-client -swb";
on-click = "swaync-client -t -sw"; "on-click-right" = "swaync-client -d -sw";
on-click-right = "swaync-client -d -sw"; "on-click" = "swaync-client -t -sw";
escape = true; escape = true;
}; };
"custom/separator" = {
exec = "echo ' | '"; "hyprland/window" = {
interval = 600; format = "<span weight='bold' >{class}</span>";
tooltip = false; "on-click-right" = "pkill waybar & hyprctl dispatch exec waybar";
rotate = 90;
"max-length" = 120;
icon = false;
"icon-size" = 13;
};
"custom/power" = {
format = "@{}";
rotate = 0;
"on-click" = "ags -t ControlPanel";
"on-click-right" = "pkill ags";
tooltip = true;
};
"custom/spacer" = {
format = "|";
rotate = 90;
};
"hyprland/workspaces" = {
format = "{icon}";
"format-icons" = {
default = "";
active = "";
};
};
"wlr/workspaces" = {
"persistent-workspaces" = {
"1" = ["HDMI-A-1"];
"2" = ["HDMI-A-1"];
"3" = ["HDMI-A-1"];
"4" = ["DP-1"];
"5" = ["DP-1"];
"6" = ["DP-1"];
};
};
pulseaudio = {
format = "{icon}";
rotate = 0;
format-muted = "";
tooltip-format = "{icon} {desc} // {volume}%";
scroll-step = 5;
format-icons = {
headphone = " ";
"hands-free" = " ";
headset = " ";
phone = " ";
portable = " ";
car = " ";
default = ["" " " " "];
};
};
"pulseaudio/slider" = {
min = 5;
max = 100;
rotate = 0;
device = "pulseaudio";
scroll-step = 1;
orientation = "vertical";
};
cava = {
"cava_config" = "~/.config/cava/config";
framerate = 60;
autosens = 1;
bars = 14;
"lower_cutoff_freq" = 50;
"higher_cutoff_freq" = 10000;
method = "pulse";
source = "auto";
stereo = true;
reverse = false;
"bar_delimiter" = 0;
monstercat = false;
waves = false;
"noise_reduction" = 0.77;
"input_delay" = 2;
"format-icons" = ["" "" "" "" "" "" "" ""];
actions = {
"on-click-right" = "mode";
};
}; };
}; };
} }

View File

@@ -1,98 +1,199 @@
{...}: let {...}: let
custom = { custom = {
font = "JetBrainsMono Nerd Font"; font_size = "15px"; # Base font size
font_size = "22px"; font_weight = "bold"; # Base font weight
font_weight = "bold"; notification_font_size = "18px"; # Font size for notifications
text_color = "#cdd6f4"; text_color = "#cccedb"; # Default text color
secondary_accent = "#89b4fa"; background_color = "rgba(21, 21, 21, 0.83)";
tertiary_accent = "#f5f5f5"; border_color = "rgba(255, 255, 255, 0.3)";
background = "#11111B"; notification_margin_left = "-2px";
notification_margin_top = "-4px";
notification_padding_bottom = "12px";
tooltip_bg = "#1D2021";
tooltip_color = "#FBF1C7";
tooltip_border = "#101a24";
}; };
in { in {
programs.waybar.style = '' programs.waybar.style = ''
* { * {
border: none; font-family: "JetBrains Mono Nerd Font";
border-radius: 0px;
padding: 0;
margin: 0;
min-height: 0px;
font-family: ${custom.font};
font-weight: ${custom.font_weight}; 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 { window#waybar {
background: ${custom.background}; 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 { #workspaces {
font-size: ${custom.font_size}; 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 { #workspaces button {
color: ${custom.text_color}; font-weight: normal;
padding-left: 6px; background: rgba(23, 23, 23, 0.0);
padding-right: 6px; color: #B1B2BD;
} border-radius: 9px;
#workspaces button.empty { padding-left: 0px;
color: #6c7086; padding-right: 4px;
} margin-right: -4px;
#workspaces button.active { margin-top: -10px;
color: #b4befe;
} }
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification { #workspaces button.active {
font-size: ${custom.font_size}; 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;
}
#battery {
font-weight: normal;
font-size: 22px;
color: #a6d189;
}
#clock {
color: ${custom.text_color};
font-size: 15px;
font-weight: 900;
font-family: "CaskaydiaCove Nerd Font Mono";
background: rgba(23, 23, 23, 0.0);
}
#backlight-slider slider,
#pulseaudio-slider slider {
background: #A1BDCE;
background-color: transparent;
box-shadow: none;
}
#backlight-slider trough,
#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,
#pulseaudio-slider highlight {
border-radius: 8px;
background-color: #2096C0;
}
#custom-mouse {
font-size: 14px;
margin-bottom: 6px;
background: #161320;
}
#custom-power {
font-size: 15px;
color: #FFFFFF;
background: rgba(22, 19, 32, 0.9);
margin: 6px 0px;
padding-left: 4px;
padding-right: 4px;
}
#backlight {
color: ${custom.text_color};
font-weight: normal;
font-size: 19px;
margin: 0px;
padding-left: 0px;
}
#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}; color: ${custom.text_color};
} }
#cpu { #cpu {
padding-left: 5px; font-weight: normal;
padding-right: 9px; font-size: 22px;
color: ${custom.text_color};
} }
#memory { #memory {
padding-left: 9px; font-weight: normal;
padding-right: 9px; font-size: 22px;
} color: ${custom.text_color};
#disk {
padding-left: 9px;
padding-right: 5px;
} }
#tray {
margin-left: 7px;
padding-right: 5px;
}
#pulseaudio {
padding-left: 5px;
padding-right: 9px;
}
#battery {
padding-left: 9px;
padding-right: 9px;
}
#network { #network {
padding-left: 9px; font-size: 19px;
padding-right: 5px; color: ${custom.text_color};
}
custom-notification {
padding-left: 15px;
padding-right: 20px;
}
#clock {
padding-left: 9px;
padding-right: 15px;
}
#custom-launcher {
font-size: ${custom.font_size};
color: #b4befe;
font-weight: ${custom.font_weight};
padding-left: 10px;
padding-right: 15px;
} }
''; '';
} }

View File

@@ -49,7 +49,7 @@ in {
}; };
}; };
security.sudo.extraConfig = '' security.sudo.extraConfig = ''
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild ${username} ALL=(ALL) NOPASSWD: /etc/profiles/per-user/pagedmov/bin/rebuild
''; '';
nix.settings.allowed-users = ["${username}"]; nix.settings.allowed-users = ["${username}"];
} }

View File

@@ -5,7 +5,6 @@
settings = { settings = {
update_ms = 500; update_ms = 500;
vim_keys = true; vim_keys = true;
proc_tree = true;
temp_scale = "fahrenheit"; temp_scale = "fahrenheit";
disks_filter = "exclude=/boot"; disks_filter = "exclude=/boot";
show_swap = false; show_swap = false;

View File

@@ -5,7 +5,7 @@
settings = { settings = {
confirm_os_window_close = 0; confirm_os_window_close = 0;
window_padding_width = 10; window_padding_width = 4;
scrollback_lines = 10000; scrollback_lines = 10000;
enable_audio_bell = false; enable_audio_bell = false;
allow_remote_control = true; allow_remote_control = true;

View File

@@ -1,14 +1,36 @@
{ {
pkgs, pkgs,
self, self,
lib,
... ...
}: { }:
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 = { stylix = {
enable = true; enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/material-darker.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/chalk.yaml";
image = ../../../media/wallpapers/catppuccin/cat-leaves.png; image = wallpaper;
polarity = "dark"; polarity = "dark";
autoEnable = true; autoEnable = true;
opacity.terminal = 0.95;
targets = { targets = {
console.enable = true; console.enable = true;
feh.enable = true; feh.enable = true;
@@ -20,16 +42,22 @@
}; };
fonts = { fonts = {
monospace = { monospace = {
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}; package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
name = "JetBrainsMono Nerd Font Mono"; name = "Iosevka Nerd Font";
}; };
sansSerif = { sansSerif = {
package = pkgs.dejavu_fonts; package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
name = "DejaVu Sans"; name = "Iosevka Nerd Font";
}; };
serif = { serif = {
package = pkgs.dejavu_fonts; package = pkgs.nerdfonts.override {fonts = ["Iosevka"];};
name = "DejaVu Serif"; name = "Iosevka Nerd Font";
};
sizes = {
desktop = 10;
applications = 14;
terminal = 16;
popups = 12;
}; };
}; };
}; };

View File

@@ -22,7 +22,6 @@
htop htop
hyprland hyprland
hyprland-workspaces hyprland-workspaces
hyprpaper
hyprpicker hyprpicker
imagemagick imagemagick
inetutils inetutils