mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-15 09:35:12 -05:00
feat: updated glance
This commit is contained in:
parent
8d4ce8d2f9
commit
a5bfa31ada
19 changed files with 115 additions and 22 deletions
|
@ -1,7 +1,12 @@
|
||||||
{
|
{
|
||||||
|
flake,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake.config.people) user0;
|
||||||
|
inherit (flake.config.people.users.${user0}) email;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services.espanso = {
|
services.espanso = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -68,7 +73,7 @@
|
||||||
replace = "Δ";
|
replace = "Δ";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
trigger = ":em";
|
trigger = ":emdash";
|
||||||
replace = "—";
|
replace = "—";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -119,6 +124,30 @@
|
||||||
trigger = ":ss0";
|
trigger = ":ss0";
|
||||||
replace = "⁰";
|
replace = "⁰";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
trigger = ":ntt";
|
||||||
|
replace = ''
|
||||||
|
World A) Animals farmed for food.
|
||||||
|
World B) Humans farmed for food.
|
||||||
|
|
||||||
|
All else equal, what is true of world A that is untrue of world B, that if made true of world B, would make world B permissible?'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
trigger = ":dotfiles";
|
||||||
|
replace = "https://gitlab.com/upRootNutrition/dotfiles";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
trigger = ":website";
|
||||||
|
replace = "https://uprootnutrition.com";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
trigger = ":mail0";
|
||||||
|
replace = email.address0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
trigger = ":mail1";
|
||||||
|
replace = email.address2;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
global_vars = {
|
global_vars = {
|
||||||
|
|
7
modules/nixos/services/glance/config/branding.nix
Normal file → Executable file
7
modules/nixos/services/glance/config/branding.nix
Normal file → Executable file
|
@ -1,8 +1,7 @@
|
||||||
{
|
{
|
||||||
hide-footer = true;
|
hide-footer = true;
|
||||||
# logo-url = /assets/logo.png;
|
# logo-url = "/assets/logo.png";
|
||||||
# favicon-url = /assets/logo.png;
|
|
||||||
# app-name = "My Dashboard";
|
# app-name = "My Dashboard";
|
||||||
# app-icon-url = "/assets/app-icon.png";
|
# favicon-url = "/assets/logo.png";
|
||||||
# app-background-color = "#151519";
|
# app-icon-url = "/assets/logo.png";
|
||||||
}
|
}
|
||||||
|
|
13
modules/nixos/services/glance/config/pages.nix
Normal file → Executable file
13
modules/nixos/services/glance/config/pages.nix
Normal file → Executable file
|
@ -8,6 +8,8 @@ let
|
||||||
calendar = import (widgetsPath + /calendar.nix);
|
calendar = import (widgetsPath + /calendar.nix);
|
||||||
clock = import (widgetsPath + /clock.nix);
|
clock = import (widgetsPath + /clock.nix);
|
||||||
weather = import (widgetsPath + /weather.nix);
|
weather = import (widgetsPath + /weather.nix);
|
||||||
|
reddit = import (widgetsPath + /reddit.nix);
|
||||||
|
videos = import (widgetsPath + /videos.nix);
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
[
|
[
|
||||||
|
@ -16,13 +18,20 @@ in
|
||||||
{
|
{
|
||||||
size = "full";
|
size = "full";
|
||||||
widgets = [
|
widgets = [
|
||||||
widgets.podcasts
|
{
|
||||||
|
type = "group";
|
||||||
|
widgets = [
|
||||||
|
widgets.podcasts
|
||||||
|
widgets.videos
|
||||||
|
];
|
||||||
|
}
|
||||||
|
widgets.reddit
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
size = "small";
|
size = "small";
|
||||||
widgets = [
|
widgets = [
|
||||||
widgets.jellyfin
|
# widgets.jellyfin
|
||||||
widgets.steam
|
widgets.steam
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
7
modules/nixos/services/glance/config/server.nix
Normal file → Executable file
7
modules/nixos/services/glance/config/server.nix
Normal file → Executable file
|
@ -1,6 +1,9 @@
|
||||||
{ service, ... }:
|
{ flake, service, ... }:
|
||||||
|
let
|
||||||
|
inherit (flake.config.people) user0;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
# assets-path = "/home/${user0}/Files/Projects/dotfiles/modules/nixos/services/glance/assets";
|
assets-path = "/home/${user0}/Files/Projects/dotfiles/modules/nixos/services/glance/assets";
|
||||||
port = service.ports.port0;
|
port = service.ports.port0;
|
||||||
# auth = {
|
# auth = {
|
||||||
# secret-key = config.sops.secrets."${service.name}-key".path;
|
# secret-key = config.sops.secrets."${service.name}-key".path;
|
||||||
|
|
0
modules/nixos/services/glance/config/theme.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/theme.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/calendar.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/calendar.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/clock.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/clock.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/jellyfin/config/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/jellyfin/config/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/jellyfin/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/jellyfin/default.nix
Normal file → Executable file
6
modules/nixos/services/glance/config/widgets/monitor.nix
Normal file
6
modules/nixos/services/glance/config/widgets/monitor.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
type = "monitor";
|
||||||
|
cache = "1m";
|
||||||
|
title = "Services";
|
||||||
|
|
||||||
|
}
|
23
modules/nixos/services/glance/config/widgets/podcasts.nix
Normal file → Executable file
23
modules/nixos/services/glance/config/widgets/podcasts.nix
Normal file → Executable file
|
@ -1,9 +1,5 @@
|
||||||
{
|
let
|
||||||
type = "rss";
|
podcastData = [
|
||||||
title = "Podcasts";
|
|
||||||
style = "detailed-list";
|
|
||||||
collapse-after = 6;
|
|
||||||
feeds = [
|
|
||||||
{
|
{
|
||||||
url = "https://sigmanutrition.libsyn.com/rss/";
|
url = "https://sigmanutrition.libsyn.com/rss/";
|
||||||
title = "Sigma Nutrition Radio";
|
title = "Sigma Nutrition Radio";
|
||||||
|
@ -17,4 +13,19 @@
|
||||||
title = "Docs Who Lift";
|
title = "Docs Who Lift";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
podcastEntries = builtins.map (
|
||||||
|
podcast:
|
||||||
|
podcast
|
||||||
|
// {
|
||||||
|
hide-description = true;
|
||||||
|
hide-categories = true;
|
||||||
|
}
|
||||||
|
) podcastData;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
type = "rss";
|
||||||
|
title = "Podcasts";
|
||||||
|
style = "detailed-list";
|
||||||
|
collapse-after = 3;
|
||||||
|
feeds = podcastEntries;
|
||||||
}
|
}
|
||||||
|
|
21
modules/nixos/services/glance/config/widgets/reddit.nix
Normal file
21
modules/nixos/services/glance/config/widgets/reddit.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
let
|
||||||
|
subList = [
|
||||||
|
"privacy"
|
||||||
|
"selfhosted"
|
||||||
|
"vegan"
|
||||||
|
];
|
||||||
|
|
||||||
|
subredditEntries = builtins.map (sub: {
|
||||||
|
type = "reddit";
|
||||||
|
subreddit = sub;
|
||||||
|
collapse-after = 4;
|
||||||
|
show-thumbnails = true;
|
||||||
|
sort-by = "top";
|
||||||
|
top-period = "day";
|
||||||
|
}) subList;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
type = "group";
|
||||||
|
widgets = subredditEntries;
|
||||||
|
}
|
0
modules/nixos/services/glance/config/widgets/steam/config/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/steam/config/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/steam/default.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/steam/default.nix
Normal file → Executable file
14
modules/nixos/services/glance/config/widgets/videos.nix
Normal file
14
modules/nixos/services/glance/config/widgets/videos.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
type = "videos";
|
||||||
|
style = "vertical-list";
|
||||||
|
collapse-after = 6;
|
||||||
|
channels = [
|
||||||
|
"UCfQgsKhHjSyRLOp9mnffqVg"
|
||||||
|
"UCld68syR8Wi-GY_n4CaoJGA"
|
||||||
|
"UChIs72whgZI9w6d6FhwGGHA"
|
||||||
|
"UCes5DW7sk9WU8oqE9HGJdpg"
|
||||||
|
"UCOksmJqNzaYLhplfs7Sl8cA"
|
||||||
|
"UCQNmHyGAKqzOT_JsVEs4eag"
|
||||||
|
"UCd8rTrNRM6DYR4TXgSqNw8g"
|
||||||
|
];
|
||||||
|
}
|
0
modules/nixos/services/glance/config/widgets/weather.nix
Normal file → Executable file
0
modules/nixos/services/glance/config/widgets/weather.nix
Normal file → Executable file
|
@ -6,7 +6,7 @@ let
|
||||||
service = glance;
|
service = glance;
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
configImports = {
|
configImports = {
|
||||||
server = import (configPath + /server.nix) { inherit service; };
|
server = import (configPath + /server.nix) { inherit flake service; };
|
||||||
branding = import (configPath + /branding.nix);
|
branding = import (configPath + /branding.nix);
|
||||||
theme = import (configPath + /theme.nix);
|
theme = import (configPath + /theme.nix);
|
||||||
pages = import (configPath + /pages.nix) { inherit config flake; };
|
pages = import (configPath + /pages.nix) { inherit config flake; };
|
||||||
|
@ -22,9 +22,10 @@ in
|
||||||
sops =
|
sops =
|
||||||
let
|
let
|
||||||
sopsPath = secret: {
|
sopsPath = secret: {
|
||||||
path = "${service.sops.path0}/${service.name}-${secret}";
|
path = "/run/secrets/${service.name}-${secret}";
|
||||||
owner = "root";
|
owner = "root";
|
||||||
mode = "600";
|
group = "root";
|
||||||
|
mode = "644";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,7 +34,7 @@ wireguard-CA363: ENC[AES256_GCM,data:iGiAjP5Dbw0kXR3iM50YTS8jBXODNr//W/0OPMAiu1G
|
||||||
wireguard-CA220: ENC[AES256_GCM,data:rNy/IMKqAOsgMUu5r8BZsjTCu0L5fDDDV3/g+pkhW1y44Y2rqhhsZgcXG5M=,iv:onyHBn4npqiwC/v37SOMJLLhdfcrtvPmKbMVTgxaSQg=,tag:OmXDL3oYCDPwH1yBsKAYKQ==,type:str]
|
wireguard-CA220: ENC[AES256_GCM,data:rNy/IMKqAOsgMUu5r8BZsjTCu0L5fDDDV3/g+pkhW1y44Y2rqhhsZgcXG5M=,iv:onyHBn4npqiwC/v37SOMJLLhdfcrtvPmKbMVTgxaSQg=,tag:OmXDL3oYCDPwH1yBsKAYKQ==,type:str]
|
||||||
wireguard-CA358: ENC[AES256_GCM,data:/VewmiNfRc9/wSE7TT+z1F9LLIvr/5wPsQZ/zBwAh3dEi9yswOGyde2b/XQ=,iv:7U5dmqFiwhCoL1moGSfHprv85o5TdMr6T2sNk5gH82I=,tag:T1hqh8CiO2iBa+ksaiKCtA==,type:str]
|
wireguard-CA358: ENC[AES256_GCM,data:/VewmiNfRc9/wSE7TT+z1F9LLIvr/5wPsQZ/zBwAh3dEi9yswOGyde2b/XQ=,iv:7U5dmqFiwhCoL1moGSfHprv85o5TdMr6T2sNk5gH82I=,tag:T1hqh8CiO2iBa+ksaiKCtA==,type:str]
|
||||||
wireguard-CA627: ENC[AES256_GCM,data:chmDsH2nE0nagjFRZWuxX08/Ykt+rIgCHYkMHd+7nIqihK5SebF7MJlrp84=,iv:NVOlGE7W70nQ0UM/i5WixJvDULO3Y4cLf8h+OAGHhQQ=,tag:L123ShCnr9+kIg1itIoqBA==,type:str]
|
wireguard-CA627: ENC[AES256_GCM,data:chmDsH2nE0nagjFRZWuxX08/Ykt+rIgCHYkMHd+7nIqihK5SebF7MJlrp84=,iv:NVOlGE7W70nQ0UM/i5WixJvDULO3Y4cLf8h+OAGHhQQ=,tag:L123ShCnr9+kIg1itIoqBA==,type:str]
|
||||||
glance-jellyfin: ENC[AES256_GCM,data:3ZR8OOgysWNqkJGqKjdDg/0UUgMBbrrgdHbuRQcM+po=,iv:EDG4DEBWmwu//qf+K+V0HqTYc8q78fF9dDb+37zHQIk=,tag:fSok//JeM635gWZ37+cItw==,type:str]
|
glance-jellyfin: ENC[AES256_GCM,data:ozdDKgAWkA88J2j8RtiOP/aQPAt/neUOSlAZF20g510=,iv:x+VhYlnA9F/VPrzVcma4/oPelCc8kjWoTZvOs4L9Uqo=,tag:crdSDjr8Y5GH/JAF6t8Yeg==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0
|
- recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0
|
||||||
|
@ -46,7 +46,7 @@ sops:
|
||||||
bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD
|
bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD
|
||||||
aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig==
|
aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-05-25T21:49:29Z"
|
lastmodified: "2025-05-26T17:10:37Z"
|
||||||
mac: ENC[AES256_GCM,data:7JD1leZhMyHg7twZXf/0chy2PbGVS6IE4wayXwzHemFccS0j64JY7/T1IWnL5bCj1V2aszocUWvwZrLhPnYinF6rjDRzLnRCtZ5Nb88S0WyTpDOBAj6GDEgs+e08e+RjCwfWdIr068HD4b/B+9M8S8qJtEZ++Uib7awzIsQphgQ=,iv:TY2wisEJiv2TODvaLl4qjILuSclzKyGVRMjrbrLCvms=,tag:+C9DW8443OOOo7a1Cbl9fQ==,type:str]
|
mac: ENC[AES256_GCM,data:h4jgFynRh4zercRoj1N38Anh4PIb9dspx22qDrndjxJ57oGAOh8p6JyFBlN6YbKYOc+dvdcVHMJUgG4swP7N7SR9ZTNipMgoLOpVQ4NpuWZrNOa7YHs+kRyXu+Y1r4agV890tmogrbyRNKXFtGwLigMtqKeG81VOVFNm9Po1Wgg=,iv:FLO5cwSdasoFKLFtpSxa9FT/Kav5R4qfxXFV8cS8QJk=,tag:G+p8MuM3qLht/m48wDmCVA==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.10.2
|
||||||
|
|
|
@ -23,7 +23,7 @@ in
|
||||||
3131 # Deskreen
|
3131 # Deskreen
|
||||||
1234 # Elm-land server
|
1234 # Elm-land server
|
||||||
5037 # ADB Server
|
5037 # ADB Server
|
||||||
39724
|
43120
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue