feat: refactored home manager

This commit is contained in:
Nick 2025-01-19 23:40:54 -06:00
parent 65417d1809
commit 376c1d7b18
511 changed files with 1777 additions and 772 deletions

View file

@ -0,0 +1,10 @@
let
content = builtins.readDir ./.;
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
importList = map (name: ./. + "/${name}") dirContent;
in
{
imports = importList;
}

View file

@ -0,0 +1,37 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
font
;
el = palettes.${currentTheme}.colours;
makeColor = c: "#" + c;
in
{
global = {
font = "${font.name} ${builtins.toString font.size.popups}";
background = makeColor el.base01;
frame_color = makeColor el.base0E;
foreground = makeColor el.base05;
corner_radius = 10;
fade_in_duration = 1000;
frame = 10000;
frame_width = 1;
icon_corner_radius = 10;
monitor = 1;
offset = "20x20";
origin = "bottom-right";
progress_bar_corner_radius = 4;
timeout = 10;
transparecncy = true;
};
urgency_critical = {
frame_color = makeColor el.base09;
timeout = 0;
};
}

View file

@ -0,0 +1,15 @@
{ flake, ... }:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) {
inherit
flake
;
};
in
{
services.dunst = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,3 @@
{
services.easyeffects.enable = true;
}

View file

@ -0,0 +1,12 @@
{
services.flameshot = {
enable = true;
settings = {
General = {
disabledTrayIcon = true;
showStartupLaunchMessage = false;
disabledGrimWarning = true;
};
};
};
}

View file

@ -0,0 +1,13 @@
{
services.gammastep = {
enable = true;
tray = true;
provider = "geoclue2";
temperature = {
day = 6500;
night = 3500;
};
dawnTime = "8:00-8:30";
duskTime = "20:30-21:00";
};
}

View file

@ -0,0 +1,5 @@
{ pkgs, ... }:
{
name = "catppuccin-macchiato-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
}

View file

@ -0,0 +1,5 @@
{
extraConfig = {
gtk-application-prefer-dark-theme = true;
};
}

View file

@ -0,0 +1,13 @@
{ pkgs, flake, ... }:
let
inherit (flake.config.aesthetics.themes)
cursor
;
in
{
gtk.enable = true;
# x11.enable = true;
name = "catppuccin-mocha-dark-cursors";
package = pkgs.catppuccin-cursors.macchiatoDark;
size = cursor.size;
}

View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
package = pkgs.catppuccin-papirus-folders.override {
flavor = "macchiato";
accent = "mauve";
};
name = "Papirus-Dark";
}

View file

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
package = pkgs.catppuccin-gtk.override {
size = "compact";
variant = "macchiato";
accents = [
"mauve"
];
};
name = "catppuccin-macchiato-mauve-compact";
}

View file

@ -0,0 +1,36 @@
{ pkgs, flake, ... }:
let
configPath = ./config;
cursorThemePath = import (configPath + /cursorTheme.nix) {
inherit
pkgs
;
};
iconThemePath = import (configPath + /iconTheme.nix) {
inherit
pkgs
;
};
themePath = import (configPath + /theme.nix) {
inherit
pkgs
;
};
homeCursorPath = import (configPath + /homeCursor.nix) {
inherit
flake
pkgs
;
};
gtk3Path = import (configPath + /gtk3.nix);
in
{
gtk = {
enable = true;
gtk3 = gtk3Path;
cursorTheme = cursorThemePath;
iconTheme = iconThemePath;
theme = themePath;
};
home.pointerCursor = homeCursorPath;
}

View file

@ -0,0 +1,23 @@
{ pkgs, ... }:
{
general = {
lock_cmd = "pidof swaylock || swaylock";
before_sleep_cmd = "loginctl lock-session";
};
listener = [
{
timeout = 150;
on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -s set 0";
on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -r";
}
{
timeout = 150;
on-timeout = "${pkgs.brightnessctl}/bin/brightnessctl -sd rgb:kbd_backlight set 0";
on-resume = "${pkgs.brightnessctl}/bin/brightnessctl -rd rgb:kbd_backlight";
}
{
timeout = 300;
on-timeout = "systemctl suspend";
}
];
}

View file

@ -0,0 +1,20 @@
{
flake,
pkgs,
...
}:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) {
inherit
pkgs
;
};
in
{
services.hypridle = {
enable = true;
package = flake.inputs.hypridle.packages.${pkgs.system}.hypridle;
settings = settingsPath;
};
}

View file

@ -0,0 +1,18 @@
{
enabled = true;
animation = [
"border, 1, 2.2, bounce"
"fadeIn, 1, 1, bounce"
"fadeOut, 1, 4.5, bounce"
"fadeSwitch, 1, 2.2, bounce"
"windows, 1, 2.2, bounce"
"windowsOut, 1, 1.1, bounce"
"workspaces, 1, 2.2, bounce, slide"
];
bezier = [
"wind, 0, 1, 0.5, 1"
"winIn, 0, 0.5, 0, 1"
"winOut, 0, 0.5, 0, 1"
"bounce, 0.7, 1.7, 0.5, 1"
];
}

View file

@ -0,0 +1,110 @@
{
flake,
config,
...
}:
let
inherit (flake.config.people) user0 user1;
user = config.home.username;
superBinds = builtins.map (x: "SUPER, " + x) [
# Apps
"Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun"
"C, exec, code"
"A, exec, obsidian"
"D, exec, ghostty -e zellij a dotfiles"
"E, exec, ghostty -e nu -e y"
"T, exec, ghostty"
"G, exec, firefox https://cronometer.com/#diary"
"B, exec, firefox"
"V, exec, vesktop"
"W, exec, bitwarden"
"H, exec, feishin"
"Y, exec, scrcpy"
"R, exec, ghostty -e nu -e btm"
"N, exec, signal-desktop"
"M, exec, element-desktop"
"Home, exec, sudo protonvpn c --cc CA"
"End, exec, hyprctl dispatch exit"
"S, exec, steam"
"period, exec, emote"
"L, exec, ${
if user == user0 then
"slack"
else if user == user1 then
"flatpak run org.vinegarhq.Sober"
else
""
}"
# Workspaces
"1, workspace, 1"
"2, workspace, 2"
"3, workspace, 3"
"4, workspace, 4"
"5, workspace, 5"
# Windows
"F, togglefloating"
"X, killactive"
"Tab, fullscreen, 0"
"P, pin, enable"
"equal, splitratio, 0.33"
"minus, splitratio, -0.33"
# Window Focus
"left , movefocus, l"
"down , movefocus, d"
"up , movefocus, u"
"right , movefocus, r"
# Audio
"F8, exec, playerctl next"
"F7, exec, playerctl previous"
"F6, exec, playerctl play-pause"
];
superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [
# Super+shift binds
"S, exec, flameshot gui"
"Print, exec, grim -g \"$(slurp)\""
"ScrollDown, workspace, previous"
"left , movewindow, l"
"down , movewindow, d"
"up , movewindow, u"
"right , movewindow, r"
];
superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [
# Super+shift binds
"Space, workspace, previous"
"S, layoutmsg, togglesplit"
"equal, splitratio, 0.33"
"minus, splitratio, -0.33"
];
altBinds = builtins.map (x: "ALT, " + x) [
# Alt binds
];
shiftBinds = builtins.map (x: "SHIFT, " + x) [
# Shift binds
];
ctrlBinds = builtins.map (x: "CTRL, " + x) [
# Ctrl binds
];
ctrlShiftBinds = builtins.map (x: "CTRL SHIFT, " + x) [
# Ctrl+shift binds
"1, movetoworkspacesilent, 1"
"2, movetoworkspacesilent, 2"
"3, movetoworkspacesilent, 3"
"4, movetoworkspacesilent, 4"
"End, exec, shutdown now"
];
in
superBinds
++ superShiftBinds
++ superCtrlBinds
++ altBinds
++ ctrlBinds
++ ctrlShiftBinds
++ shiftBinds
# Docs
# https://wiki.hyprland.org/Getting-Started/Master-Tutorial/

View file

@ -0,0 +1,4 @@
[
",switch:on:Lid Switch, exec, hyprlock --immediate"
",switch:off:Lid Switch, exec, hyprlock --immediate"
]

View file

@ -0,0 +1,10 @@
let
superBinds = builtins.map (x: "SUPER, " + x) [
"mouse:272, resizewindow"
];
altBinds = builtins.map (x: "ALT, " + x) [
"mouse:272, movewindow"
];
in
superBinds ++ altBinds

View file

@ -0,0 +1,3 @@
{
"allow_workspace_cycles" = "1";
}

View file

@ -0,0 +1,36 @@
{
active_opacity = 0.95;
inactive_opacity = 0.90;
fullscreen_opacity = 1;
rounding = 10;
dim_inactive = 1;
dim_strength = 0.05;
shadow = {
enabled = true;
color = "rgba(00000000)";
ignore_window = true;
offset = "0 2";
range = 20;
render_power = 3;
scale = 0.97;
};
blur = {
enabled = true;
size = 5;
passes = 2;
brightness = 1;
contrast = 1.300000;
ignore_opacity = true;
noise = 0.011700;
new_optimizations = true;
xray = true;
popups = true;
popups_ignorealpha = 0.2;
};
}

View file

@ -0,0 +1,4 @@
{
pseudotile = true;
preserve_split = true;
}

View file

@ -0,0 +1,24 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
cursor
;
in
[
"swaylock"
"wl-clipboard"
"wpaperd"
"gammastep"
"dunst"
"playerctrld"
"waybar"
"nm-applet"
"blueman-applet"
"easyeffects -r"
"emote"
"flameshot"
"pactl set-default-sink alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Line1__sink"
"pactl set-default-source alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Mic1__source"
"gsettings set org.gnome.desktop.interface cursor-theme 'catppuccin-mocha-dark-cursors'"
"gsettings set org.gnome.desktop.interface cursor-size ${builtins.toString cursor.size}"
]

View file

@ -0,0 +1,18 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
;
el = palettes.${currentTheme}.colours;
in
{
gaps_in = 5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgb(${el.base0E})";
"col.inactive_border" = "0xff${el.base02}";
}

View file

@ -0,0 +1,6 @@
{
sensitivity = 0.07;
accel_profile = "flat";
follow_mouse = 1;
numlock_by_default = true;
}

View file

@ -0,0 +1,7 @@
{
focus_on_activate = 1;
force_default_wallpaper = 0;
# disable_hyprland_logo = true;
# disable_splash_rendering = true;
# disable_hyprland_qtutils_check = true;
}

View file

@ -0,0 +1,108 @@
let
blueman = "(.blueman-manager-wrapped)";
calculator = "(org.gnome.Calculator)";
easyeffects = "(com.github.wwmm.easyeffects)";
firefox = "(firefox)";
nomacs = "(org.nomacs.ImageLounge)";
mpv = "(mpv)";
vlc = "(vlc)";
emote = "(emote)";
flameshot = "(flameshot)";
bitwarden = "(.*Bitwarden.*)";
picture = "(.*Picture-in-Picture.*)";
discord-popout = "(.*Discord Popout.*)";
signal = "(signal)";
vesktop = "(vesktop)";
code = "(code)";
feishin = "(feishin)";
steam = "(steam)";
kdenlive = "(org.kde.kdenlive)";
shotcut = "(shotcut)";
scrcpy = "(.scrcpy-wrapped)";
maxsizeWindows = [
"maxsize 720 400, class:^${blueman}$"
"maxsize 360 500, class:^${calculator}$"
"maxsize 720 400, class:^${easyeffects}$"
"maxsize 720 400, class:^${scrcpy}$"
"maxsize 720 400, class:^${mpv}$"
"maxsize 720 400, class:^${vlc}$"
"maxsize 640 360, class:^${nomacs}$"
"maxsize 800 450, title:^${bitwarden}$"
"maxsize 720 400, title:^${picture}$"
"maxsize 720 400, title:^${discord-popout}$"
];
floatWindows = builtins.map (x: "float, " + x) [
"class:^${blueman}$"
"class:^${calculator}$"
"class:^${easyeffects}$"
"class:^${emote}$"
"class:^${mpv}$"
"class:^${vlc}$"
"class:^${nomacs}$"
"class:^${flameshot}$"
"class:^${scrcpy}$"
"title:^(${picture})$"
"title:^(${discord-popout})$"
"title:^${bitwarden}$"
];
pinWindows = builtins.map (x: "pin, " + x) [
"title:^${bitwarden}$"
"title:^${picture}$"
"title:^${discord-popout}$"
];
idleInhibit = builtins.map (x: "idleinhibit, " + x) [
"fullscreen, class:^${firefox}$"
];
workspaceInit1 = builtins.map (x: "workspace 1 silent, " + x) [
"class:^${signal}$"
"class:^${vesktop}$"
];
workspaceInit2 = builtins.map (x: "workspace 2 silent, " + x) [
"class:^${code}$"
# "class:^${firefox}$"
];
workspaceInit3 = builtins.map (x: "workspace 3 silent, " + x) [
"class:^${steam}$"
"class:^${shotcut}$"
];
workspaceInit4 = builtins.map (x: "workspace 4 silent, " + x) [
"class:^${feishin}$"
"class:^${scrcpy}$"
];
centerWindows = builtins.map (x: "center, " + x) [
"class:^${emote}$"
"class:^${mpv}$"
"class:^${nomacs}$"
];
opaqueWindows = builtins.map (x: "opaque, " + x) [
"class:^${firefox}$"
"class:^${kdenlive}$"
"class:^(krita)$"
"class:^${shotcut}$"
"class:^${mpv}$"
"class:^(Brave-browser)$"
"class:^(Gimp-2.10)$"
"class:^(org.kde.okular)$"
"class:^${vlc}$"
];
in
maxsizeWindows
++ floatWindows
++ pinWindows
++ idleInhibit
++ workspaceInit1
++ workspaceInit2
++ workspaceInit3
++ workspaceInit4
++ centerWindows
++ opaqueWindows

View file

@ -0,0 +1,3 @@
{
force_zero_scaling = true;
}

View file

@ -0,0 +1,50 @@
{
# pkgs,
flake,
config,
...
}:
let
# hostname = config.networking.hostName;
# inherit (flake.config.machines.devices) desktop laptop;
configPath = ./config;
configImports = {
animations = import (configPath + /animations.nix);
bind = import (configPath + /bind.nix) {
inherit
flake
config
;
};
bindm = import (configPath + /bindm.nix);
binds = import (configPath + /binds.nix);
# bindl =
# if hostname == laptop.name
# then import (configPath + /bindl.nix)
# else null;
decoration = import (configPath + /decoration.nix);
dwindle = import (configPath + /dwindle.nix);
exec-once = import (configPath + /exec-once.nix) {
inherit
flake
;
};
general = import (configPath + /general.nix) {
inherit
flake
;
};
input = import (configPath + /input.nix);
misc = import (configPath + /misc.nix);
windowrulev2 = import (configPath + /windowrulev2.nix);
};
in
{
wayland.windowManager.hyprland = {
enable = true;
# package = flake.inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
systemd.enable = false;
settings = configImports;
};
}

View file

@ -0,0 +1,3 @@
{
services.network-manager-applet.enable = true;
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
nwg-look
;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs.kdePackages)
plasma-nm
;
};
}

View file

@ -0,0 +1,50 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
font
;
el = palettes.${currentTheme}.colours;
in
{
font = font.name;
indicator-idle-visible = true;
indicator-radius = 100;
indicator-thickness = 20;
show-failed-attempts = true;
bs-hl-color = el.base08;
color = el.base01;
key-hl-color = el.base0E;
caps-lock-bs-hl-color = el.base08;
caps-lock-key-hl-color = el.base0E;
inside-color = el.base01;
inside-clear-color = el.base01;
inside-caps-lock-color = el.base01;
inside-ver-color = el.base01;
inside-wrong-color = el.base01;
line-color = el.base01;
line-clear-color = el.base01;
line-caps-lock-color = el.base01;
line-ver-color = el.base01;
line-wrong-color = el.base01;
ring-color = el.base00;
ring-clear-color = el.base00;
ring-caps-lock-color = el.base00;
ring-ver-color = el.base00;
ring-wrong-color = el.base00;
separator-color = "00000000";
text-color = el.base05;
text-clear-color = el.base05;
text-caps-lock-color = el.base05;
text-ver-color = el.base05;
text-wrong-color = el.base05;
}

View file

@ -0,0 +1,15 @@
{ flake, ... }:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) {
inherit
flake
;
};
in
{
programs.swaylock = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,36 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
font
;
el = palettes.${currentTheme}.colours;
in
{
font-size = font.size.desktop;
hint-font = true;
background-color = "#${el.base02}";
outline-color = "#${el.base0E}";
prompt-color = "#${el.base0D}";
input-color = "#${el.base07}";
default-result-color = "#${el.base05}";
selection-color = "#${el.base0C}";
prompt-text = "Summon: ";
width = 400;
height = 400;
outline-width = 1;
border-width = 0;
padding-top = 10;
padding-bottom = 10;
padding-left = 10;
padding-right = 10;
corner-radius = 10;
drun-launch = true;
}

View file

@ -0,0 +1,16 @@
{
pkgs,
flake,
...
}:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit flake; };
in
{
programs.tofi = {
enable = true;
settings = settingsPath;
};
}

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
for i in {1..5}
do
text=$(curl -s "https://wttr.in/$1?format=1")
if [[ $? == 0 ]]
then
text=$(echo "$text" | sed -E "s/\s+/ /g")
tooltip=$(curl -s "https://wttr.in/$1?format=4")
if [[ $? == 0 ]]
then
tooltip=$(echo "$tooltip" | sed -E "s/\s+/ /g")
echo "{\"text\":\"$text\", \"tooltip\":\"$tooltip\"}"
exit
fi
fi
sleep 2
done
echo "{\"text\":\"error\", \"tooltip\":\"error\"}"

View file

@ -0,0 +1,162 @@
{ flake, ... }:
let
inherit (flake.config.people)
user0
;
in
{
mainBar = {
position = "bottom";
layer = "top";
height = 5;
margin-top = 0;
margin-bottom = 5;
margin-left = 5;
margin-right = 5;
modules-left = [
"custom/launcher"
"hyprland/workspaces"
];
modules-center = [
"custom/weather"
];
modules-right = [
"tray"
"privacy"
"cpu"
"memory"
"disk"
"pulseaudio"
# "network"
"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}";
};
"hyprland/workspaces" = {
active-only = false;
disable-scroll = true;
format = "{icon}";
on-click = "activate";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
urgent = "";
default = "";
sort-by-number = true;
};
persistent-workspaces = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
};
};
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 = "easyeffects";
on-scroll-up = "amixer sset Master 5%+";
on-scroll-down = "amixer sset Master 5%-";
scroll-step = 5;
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
};
"custom/launcher" = {
format = "";
on-click = "rm -r /home/$USER/.cache/tofi* ; tofi-drun";
# on-click-right = "pkill tofi || wallpaper-picker";
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/${user0}/Files/Projects/dotfiles/home/modules/waybar/config/scripts/get_weather.sh Winnipeg";
return-type = "json";
format = "{}";
tooltip = true;
interval = 3600;
};
};
}
# https://unicodes.jessetane.com/

View file

@ -0,0 +1,101 @@
{ flake, ... }:
let
inherit (flake.config.aesthetics.themes)
currentTheme
palettes
font
;
el = palettes.${currentTheme}.colours;
custom = {
font = font.name;
font_size = "${builtins.toString font.size.desktop}px";
font_weight = "bold";
opacityBg = "0.90";
opacityBt = "1";
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;
};
in
''
* {
min-height: 0px;
font-family: ${custom.font};
font-weight: ${custom.font_weight};
}
window#waybar {
background: #${custom.background_2};
color: #${custom.background_3};
border: 2px solid;
border-radius: 30px;
border-color: #${custom.text_color};
min-height: 100px;
opacity: ${custom.opacityBg};
}
#workspaces {
font-size: 18px;
padding-left: 15px;
margin-bottom: 2px;
}
#workspaces button {
color: #${custom.button_color};
padding: 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: ${custom.font_size};
color: #${custom.text_color};
padding-right: 10px;
}
#privacy {
}
#cpu {
}
#memory {
}
#disk {
}
#tray {
}
#pulseaudio {
}
#clock {
}
#custom-launcher {
font-size: 20px;
color: #${custom.text_color};
font-weight: ${custom.font_weight};
padding-left: 10px;
}
#custom-weather {
font-size: 14px;
color: #${custom.text_color};
font-weight: ${custom.font_weight};
}
''

View file

@ -0,0 +1,22 @@
{
flake,
pkgs,
...
}:
let
configPath = ./config;
settingsPath = import (configPath + /settings.nix) { inherit flake; };
stylePath = import (configPath + /style.nix) {
inherit
flake
;
};
in
{
programs.waybar = {
enable = true;
package = flake.inputs.waybar.packages.${pkgs.system}.default;
settings = settingsPath;
style = stylePath;
};
}

View file

@ -0,0 +1,11 @@
{
pkgs,
...
}:
{
home.packages = builtins.attrValues {
inherit (pkgs)
wl-clipboard
;
};
}

View file

@ -0,0 +1,19 @@
{
flake,
pkgs,
...
}:
{
programs.wpaperd = {
enable = true;
package = flake.inputs.wpaperd.packages.${pkgs.system}.default;
settings = {
"default" = {
path = "~/Files/Projects/dotfiles/home/modules/hypr/wpaperd/wallpaper";
apply-shadow = true;
duration = "1m";
sorting = "random";
};
};
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 869 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Some files were not shown because too many files have changed in this diff Show more