chore: init

This commit is contained in:
Nick 2025-10-01 19:51:55 -05:00
commit 1b2c1ea359
891 changed files with 37053 additions and 0 deletions

View file

@ -0,0 +1,214 @@
{ config, flake, ... }:
let
user = config.home.username;
inherit (flake.config.aesthetics.themes) windowManager;
isNiriEnabled = config.programs.niri.enable or false;
workspaceModule = if isNiriEnabled then "niri/workspaces" else "hyprland/workspaces";
in
{
mainBar = {
position = "bottom";
layer = "top";
height = 5;
margin-top = 0;
margin-bottom = windowManager.gaps;
margin-left = windowManager.gaps;
margin-right = windowManager.gaps;
modules-left = [
"custom/launcher"
workspaceModule
];
modules-center = [
"custom/weather"
];
modules-right = [
"tray"
"privacy"
"cpu"
"memory"
"disk"
"pulseaudio"
# "network"
"battery"
"clock"
];
clock = {
calendar = {
format = {
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
};
};
format = " {:%H:%M}";
tooltip = true;
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
format-alt = " {:%d/%m}";
};
}
// (
if isNiriEnabled then
{
"niri/workspaces" = {
format = "{icon}";
format-icons = {
"chat" = "";
"code" = "";
"browser" = "";
"media" = "";
"terminal" = "";
"active" = "";
"default" = "";
};
};
}
else
{
"hyprland/workspaces" = {
active-only = false;
disable-scroll = true;
format = "{icon}";
on-click = "activate";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
};
persistent-workspaces = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
"5" = [ ];
"6" = [ ];
"7" = [ ];
"8" = [ ];
"9" = [ ];
"10" = [ ];
};
};
}
)
// {
memory = {
format = " {}%";
format-alt = " {used} GiB"; # 
interval = 2;
};
cpu = {
format = " {usage}%";
format-alt = " {avg_frequency} GHz";
interval = 2;
};
disk = {
# path = "/";
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 = 12;
spacing = 8;
};
pulseaudio = {
format = "{icon} {volume}%";
tooltip = false;
format-muted = " Muted";
on-click = "pavucontrol";
on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +5%";
on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -5%";
scroll-step = 5;
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
};
"custom/launcher" = {
format = "";
on-click = "fuzzel";
tooltip = false;
};
privacy = {
icon-spacing = 8;
icon-size = 12;
transition-duration = 250;
modules = {
screenshare = {
type = "screenshare";
tooltip = true;
tooltip-icon-size = 12;
};
audio-out = {
type = "audio-out";
tooltip = true;
tooltip-icon-size = 12;
};
audio-in = {
type = "audio-in";
tooltip = true;
tooltip-icon-size = 12;
};
};
};
"custom/weather" = {
exec = "/home/${user}/.config/scripts/get_weather.sh Winnipeg";
return-type = "json";
format = "{}";
tooltip = true;
interval = 3600;
};
battery = {
format = "{icon} {capacity}%";
format-alt = "{icon} {time}";
format-charging = " {capacity}%";
format-icons = [
""
""
""
""
""
];
format-plugged = " {capacity}%";
states = {
critical = 15;
warning = 30;
};
};
};
}
# https://unicodes.jessetane.com/

View file

@ -0,0 +1,123 @@
{
config,
flake,
...
}:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
fonts
windowManager
;
inherit (flake.config.people) user0;
user = config.home.username;
themeLogic = if user == user0 then currentTheme else currentTheme;
el = palettes.${themeLogic}.colours;
custom = {
font = fonts.name;
font_size = fonts.sizes.popups;
font_weight = "bold";
opacityBg = "0.90";
opacityBt = "1";
border = windowManager.borders;
rounding = windowManager.rounding;
text_color = el.base0E;
secondary_accent = el.base07;
tertiary_accent = el.base15;
button_color = el.base04;
background_1 = el.base01;
background_2 = el.base00;
background_3 = el.base04;
};
fontSizeMod = plus: builtins.toString (custom.font_size + plus);
in
''
* {
min-height: 34px;
border-radius: 0;
font-family: ${custom.font};
font-weight: ${custom.font_weight};
}
window#waybar {
background: #${custom.background_2};
color: #${custom.text_color};
border: ${builtins.toString custom.border}px solid;
border-radius: ${builtins.toString custom.rounding}px;
border-color: #${custom.text_color};
opacity: ${custom.opacityBg};
}
#workspaces {
font-size: ${fontSizeMod 6}px;
padding-left: 5px;
margin-bottom: 0px;
}
#workspaces button {
color: #${custom.button_color};
padding: 0px 5px 0px 5px;
opacity: ${custom.opacityBt};
}
#workspaces button.empty {
color: #${custom.background_3};
}
#workspaces button.active {
color: #${custom.text_color};
}
#tray, #pulseaudio, #privacy, #cpu, #memory, #disk, #clock {
font-size: ${builtins.toString custom.font_size}px;
color: #${custom.text_color};
padding-right: 10px;
}
#privacy {
}
#cpu {
}
#memory {
}
#disk {
}
#tray {
}
#pulseaudio {
}
#clock {
}
#battery {
font-size: ${builtins.toString custom.font_size}px;
color: #${custom.text_color};
padding-right: 10px;
}
#custom-launcher {
font-size: ${fontSizeMod 8}px;
color: #${custom.text_color};
font-weight: ${custom.font_weight};
padding-left: 10px;
padding-right: 10px;
}
#custom-weather {
font-size: ${fontSizeMod 2}px;
color: #${custom.text_color};
font-weight: ${custom.font_weight};
}
''