Compare commits

4 Commits

Author SHA1 Message Date
64df7abad5 feat(hypr): clean up 2025-10-15 19:38:47 +02:00
8efa649d47 feat(homepage-dashboard): change vaultwarden icon 2025-10-15 18:01:39 +02:00
2dc09e23a0 chore(jellyseerr): typo 2025-10-15 17:50:11 +02:00
8fd2a7d9ad feat(homepage-dashboard): reintroduce path option 2025-10-15 17:49:30 +02:00
5 changed files with 81 additions and 74 deletions

View File

@@ -91,7 +91,7 @@
exposure = "local";
port = 9696;
homepage = {
name = "prowlarr";
name = "Prowlarr";
description = "PVR indexer";
icon = "prowlarr.svg";
category = "Arr";
@@ -153,7 +153,7 @@
homepage = {
name = "Jellyseerr";
description = "Media request and discovery manager";
icon = "jellyserr.svg";
icon = "jellyseerr.svg";
category = "Arr";
};
};
@@ -209,7 +209,7 @@
homepage = {
name = "Vaultwarden";
description = "Password manager";
icon = "vaultwarden.svg";
icon = "vaultwarden-light.svg";
category = "Services";
};
};

View File

@@ -1,24 +1,18 @@
{
inputs,
pkgs,
lib,
osConfig,
clib,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland;
hyprlockFlake = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
# hyprlockPkg = pkgs.hyprlock;
#
bg = osConfig.settings.theme.background;
inherit (clib.theme.bgs) resolve;
in {
config = mkIf cfg.enable {
programs.hyprlock = {
enable = true;
package = hyprlockFlake;
settings = {
general = {
# disable_loading_bar = true;

View File

@@ -1,22 +1,14 @@
{
osConfig,
lib,
pkgs,
inputs,
...
}:
let
}: let
inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland;
hypridleFlake = inputs.hypridle.packages.${pkgs.system}.hypridle;
# hypridlePkg = pkgs.hypridle;
in
{
in {
config = mkIf cfg.enable {
services.hypridle = {
enable = true;
package = hypridleFlake;
settings = {
general = {
lock_cmd = "hyprlock";

View File

@@ -1,7 +1,5 @@
{
lib,
pkgs,
inputs,
osConfig,
clib,
...
@@ -9,7 +7,6 @@
inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland;
hyprpaperFlake = inputs.hyprpaper.packages.${pkgs.system}.default;
bg = osConfig.settings.theme.background;
bgs = clib.theme.bgs;
@@ -35,7 +32,6 @@ in {
config = mkIf cfg.enable {
services.hyprpaper = {
enable = true;
package = hyprpaperFlake;
settings = {
ipc = "on";

View File

@@ -24,6 +24,13 @@ in {
environmentFile = config.age.secrets.homepageEnvironment.path;
settings = {
color = "stone";
theme = "dark";
headerStyle = "clean";
statusStyle = "dot";
hideVersion = true;
useEqualHeights = true;
layout = [
{
Glances = {
@@ -57,10 +64,6 @@ in {
};
}
];
headerStyle = "clean";
statusStyle = "dot";
hideVersion = "true";
};
widgets = [
@@ -117,79 +120,101 @@ in {
"${service.homepage.name}" = {
icon = service.homepage.icon;
description = service.homepage.description;
href = "https://${domain}";
siteMonitor = "https://${domain}";
href = "https://${service.subdomain}.${domain}${service.homepage.path or ""}";
siteMonitor = "https://${service.subdomain}.${domain}${x.homepage.path or ""}";
};
});
})
++ [
{
Glances = let
port = toString config.services.glances.port;
glancesShared = {
type = "glances";
url = "http://localhost:${toString config.services.glances.port}";
chart = true;
version = 4;
};
in [
{
Info = {
widget = {
type = "glances";
url = "http://localhost:${port}";
metric = "info";
chart = false;
version = 4;
Memory = {
widget =
glancesShared
// {
metric = "memory";
refreshInterval = 2000;
pointsLimit = 30;
};
};
}
{
"CPU Usage" = {
widget =
glancesShared
// {
metric = "cpu";
refreshInterval = 2000;
pointsLimit = 30;
};
};
}
{
"CPU Temp" = {
widget = {
type = "glances";
url = "http://localhost:${port}";
widget =
glancesShared
// {
metric = "sensor:Tctl";
chart = false;
version = 4;
refreshInterval = 5000;
pointsLimit = 20;
};
};
}
{
"GPU Radeon" = {
widget = {
type = "glances";
url = "http://localhost:${port}";
widget =
glancesShared
// {
metric = "sensor:junction";
chart = false;
version = 4;
};
};
}
{
"GPU Intel" = {
widget = {
type = "glances";
url = "http://localhost:${port}";
widget =
glancesShared
// {
metric = "sensor:pkg";
chart = false;
version = 4;
};
};
}
{
"ZFS Pool" = {
widget =
glancesShared
// {
metric = "fs:/mnt/data";
refreshInterval = 30000;
pointsLimit = 20;
diskUnits = "bytes";
};
};
}
{
Processes = {
widget = {
type = "glances";
url = "http://localhost:${port}";
widget =
glancesShared
// {
metric = "process";
chart = false;
version = 4;
};
};
}
{
Network = {
widget = {
type = "glances";
url = "http://localhost:${port}";
widget =
glancesShared
// {
metric = "network:enp6s0";
chart = false;
version = 4;
};
};
}