so much organization

This commit is contained in:
mjallen18
2025-06-29 14:50:34 -05:00
parent ca155505be
commit 532c97cf00
58 changed files with 354 additions and 992 deletions

View File

@@ -1,6 +1,6 @@
{ lib, pkgs, ... }:
let
theme = import ./theme.nix { inherit pkgs; };
settings = import ./settings.nix { inherit pkgs; };
wallpaper = "/run/wallpaper.jpg";
in
{
@@ -63,7 +63,7 @@ in
", edge:r:l, workspace, +1"
# swipe up from bottom edge
", edge:d:u, exec, ${theme.defaultApps.browser.pname}"
", edge:d:u, exec, ${settings.defaultApps.browser.pname}"
# swipe down from left edge
", edge:l:d, exec, pactl set-sink-volume @DEFAULT_SINK@ -4%"
@@ -93,13 +93,14 @@ in
};
services = {
hyprpolkitagent.enable = true;
hyprpaper = {
enable = true;
settings = {
preload = [ "/run/wallpaper.jpg" wallpaper ];
wallpaper = [
"${theme.displayLeft.input}, /run/wallpaper.jpg"
"${theme.displayRight.input}, /run/wallpaper.jpg"
"${settings.displayLeft.input}, /run/wallpaper.jpg"
"${settings.displayRight.input}, /run/wallpaper.jpg"
];
splash = false;
};
@@ -121,16 +122,16 @@ in
# on-resume = "brightnessctl -r"; # monitor backlight restore.
# }
{
timeout = theme.lockScreenTimer;
timeout = settings.lockScreenTimer;
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
{
timeout = theme.screenOffTimer;
timeout = settings.screenOffTimer;
on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume = "hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
}
{
timeout = theme.suspendTimer;
timeout = settings.suspendTimer;
on-timeout = "systemctl suspend"; # suspend pc
}
];
@@ -162,7 +163,7 @@ in
{
size = "200, 50";
position = "0, -80";
monitor = theme.displayLeft.input;
monitor = settings.displayLeft.input;
dots_center = true;
fade_on_empty = true;
font_color = "rgb(202, 211, 245)";
@@ -181,16 +182,16 @@ in
home = {
sessionVariables = {
BROWSER = "${theme.defaultApps.browser.pname}";
BROWSER = "${settings.defaultApps.browser.pname}";
CLUTTER_BACKEND = "wayland";
EDITOR = "${theme.defaultApps.editor.pname}";
VISUAL = "${theme.defaultApps.visual.pname}";
ICON_THEME = theme.iconTheme;
EDITOR = "${settings.defaultApps.editor.pname}";
VISUAL = "${settings.defaultApps.visual.pname}";
ICON_THEME = settings.iconTheme;
GTK_CSD = "0";
GTK_THEME = theme.gtkTheme;
GTK_THEME = settings.gtkTheme;
GTK_USE_PORTAL = "1";
HYPRCURSOR_THEME = theme.cursorTheme;
HYPRCURSOR_SIZE = theme.cursorSize;
HYPRCURSOR_THEME = settings.cursorTheme;
HYPRCURSOR_SIZE = settings.cursorSize;
MOZ_ENABLE_WAYLAND = "1";
NIXOS_OZONE_WL = "1";
NIXOS_XDG_OPEN_USE_PORTAL = "1";
@@ -200,9 +201,9 @@ in
QT_SCALE_FACTOR = "1";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
SDL_VIDEODRIVER = "wayland";
TERMINAL = "${theme.defaultApps.terminal.pname}";
XCURSOR_THEME = theme.cursorTheme;
XCURSOR_SIZE = theme.cursorSize;
TERMINAL = "${settings.defaultApps.terminal.pname}";
XCURSOR_THEME = settings.cursorTheme;
XCURSOR_SIZE = settings.cursorSize;
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_CURRENT_DESKTOP = "Hyprland";
@@ -213,21 +214,21 @@ in
pointerCursor = {
gtk.enable = true;
package = theme.cursorThemePkg;
name = theme.cursorTheme;
size = theme.cursorSize;
package = settings.cursorThemePkg;
name = settings.cursorTheme;
size = settings.cursorSize;
};
packages = theme.requiredPkgs;
packages = settings.requiredPkgs;
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/desktop/interface".cursor-theme = theme.cursorTheme;
"org/gnome/desktop/interface".gtk-theme = theme.gtkTheme;
"org/gnome/desktop/interface".icon-theme = theme.iconTheme;
"org/gnome/desktop/interface".cursor-theme = settings.cursorTheme;
"org/gnome/desktop/interface".gtk-theme = settings.gtkTheme;
"org/gnome/desktop/interface".icon-theme = settings.iconTheme;
};
};
@@ -235,18 +236,18 @@ in
enable = true;
cursorTheme = {
name = theme.cursorTheme;
package = theme.cursorThemePkg;
name = settings.cursorTheme;
package = settings.cursorThemePkg;
};
theme = {
name = theme.gtkTheme;
package = theme.gtkThemePkg;
name = settings.gtkTheme;
package = settings.gtkThemePkg;
};
iconTheme = {
name = theme.iconTheme;
package = theme.iconThemePkg;
name = settings.iconTheme;
package = settings.iconThemePkg;
};
gtk3.extraConfig = {
@@ -258,9 +259,9 @@ in
};
font = {
name = theme.fontName;
package = theme.fontPackage;
size = theme.fontSize;
name = settings.fontName;
package = settings.fontPackage;
size = settings.fontSize;
};
};
}