Compare commits
2 Commits
f35e373bbb
...
99fae72379
Author | SHA1 | Date | |
---|---|---|---|
99fae72379 | |||
3e7e6f0d63 |
@ -1,4 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
inherit (config.age) secrets;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./gitea.nix
|
||||
@ -50,6 +53,10 @@
|
||||
file = ../../secrets/anki-user.age;
|
||||
};
|
||||
|
||||
age.secrets.homepage = {
|
||||
file = ../../secrets/homepage.age;
|
||||
};
|
||||
|
||||
users.groups.secrets = {};
|
||||
users.users.acme.extraGroups = [ "secrets" ];
|
||||
|
||||
@ -325,10 +332,13 @@
|
||||
# https://gethomepage.dev
|
||||
services.homepage-dashboard = let
|
||||
entry = name: value: { "${name}" = value; };
|
||||
makeBookmark = name: abbr: href: entry name [ { inherit abbr href; } ];
|
||||
makeBookmark = name: {...}@attrs: entry name [ attrs ];
|
||||
makeBookmark' = name: icon: abbr: href: makeBookmark name ({ inherit abbr href; } // lib.optionalAttrs (icon != null) { inherit icon; });
|
||||
in {
|
||||
enable = true;
|
||||
listenPort = 8089;
|
||||
environmentFile = secrets.homepage.path;
|
||||
|
||||
# bookmarks customCSS customJS docker environmentFile kubernetes services settings widgets
|
||||
settings = {
|
||||
theme = "dark";
|
||||
@ -336,12 +346,12 @@
|
||||
};
|
||||
|
||||
widgets = [
|
||||
( entry "resources" {
|
||||
(entry "resources" {
|
||||
cpu = true;
|
||||
memory = true;
|
||||
disk = "/";
|
||||
})
|
||||
( entry "search" {
|
||||
(entry "search" {
|
||||
provider = "custom";
|
||||
target = "_self";
|
||||
url = "https://searx.protogen.io/search?q=";
|
||||
@ -350,20 +360,65 @@
|
||||
})
|
||||
];
|
||||
|
||||
services = [
|
||||
services = let
|
||||
service = name: subdomain: icon: {...}@attrs: entry name ({
|
||||
href = "https://${subdomain}.protogen.io";
|
||||
inherit icon;
|
||||
} // attrs);
|
||||
basicService = name: subdomain: icon: service name subdomain icon {};
|
||||
in [
|
||||
(entry "unsorted" [
|
||||
(basicService "Firefly III" "firefly" "firefly-iii")
|
||||
(basicService "Gitea" "gitea" "gitea")
|
||||
(basicService "Home Assistant" "hass" "home-assistant")
|
||||
(basicService "Node-RED" "node" "node-red")
|
||||
(basicService "Zigbee2MQTT" "z2m" "zigbee2mqtt")
|
||||
(basicService "Code Server (Home Assistant)" "vsc-hass" "vscode")
|
||||
(basicService "Deemix" "deemix" "deemix")
|
||||
(basicService "Miniflux" "rss" "miniflux")
|
||||
(basicService "mlmym" "blahaj" "lemmy-light")
|
||||
(basicService "Octoprint" "print" "octoprint")
|
||||
(basicService "SearXNG" "searx" "searxng")
|
||||
(entry "Shlink" { href = "https://admin.nbt.sh"; icon = "shlink"; })
|
||||
(basicService "Create Track Map" "trackmap" "")
|
||||
|
||||
((x: service x x x {
|
||||
widget = {
|
||||
};
|
||||
}) "changedetection")
|
||||
|
||||
(service "Uptime Kuma" "uptime" "uptime-kuma" {
|
||||
widget = {
|
||||
type = "uptimekuma";
|
||||
url = "https://uptime.protogen.io";
|
||||
slug = "all";
|
||||
};
|
||||
})
|
||||
(service "Jellyfin" "room" "jellyfin" {
|
||||
widget = {
|
||||
type = "jellyfin";
|
||||
url = "https://room.protogen.io";
|
||||
key = "{{HOMEPAGE_VAR_JELLYFIN}}";
|
||||
enableBlocks = true;
|
||||
enableNowPlaying = true;
|
||||
enableUser = true;
|
||||
};
|
||||
})
|
||||
])
|
||||
];
|
||||
|
||||
bookmarks = [
|
||||
(entry "etc" [
|
||||
])
|
||||
(entry "Developer" [
|
||||
(makeBookmark "GitHub" "GH" "https://github.com")
|
||||
(makeBookmark' "GitHub" "github" "GH" "https://github.com")
|
||||
])
|
||||
(entry "Local" [
|
||||
(makeBookmark "Syncthing" "ST" "http://localhost:8384")
|
||||
(makeBookmark "Iris" "IR" "http://localhost:6680/iris/")
|
||||
(makeBookmark' "Syncthing" "syncthing" "ST" "http://127.0.0.1:8384")
|
||||
(makeBookmark' "Iris" null "IR" "http://localhost:6680/iris/")
|
||||
])
|
||||
(entry "Entertainment" [
|
||||
(makeBookmark "Redlib" "RL" "https://redlib.protogen.io")
|
||||
(makeBookmark' "Redlib" "redlib" "RL" "https://redlib.protogen.io")
|
||||
])
|
||||
];
|
||||
};
|
||||
|
45
secrets/homepage.age
Normal file
45
secrets/homepage.age
Normal file
@ -0,0 +1,45 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 YUrFgQ NHJ5J8Bm55hgualWjQrE3v7GsCzXYksWm3yQNgYhTG0
|
||||
QPX9aBltBRKywC2UKkTpZ22lle+msS/CEx5ONbLkE2o
|
||||
-> ssh-rsa I7EAZw
|
||||
ABgbMbRfyKaryPJpyPySIOFGdr1Wo7TREskh5tQW0fQ+6wstKxo3eP6Xr5ds3EI3
|
||||
OHDR8L7Z99IC1/L7LO4lEgqfjmLFEpVSW1h5LU6CNcb6So2eLfxSNLMVk8/wnnNu
|
||||
wwiPN/JlQOX/7lmvetQUG+l+CGWKrU2Sbu2uRprg9P76cT469cp93yc5uDOjs+JD
|
||||
n54odFEK3NAykLSbFB++sQiV7yKkCEZLRatBNeqrombgoqpuiCakVIOOFnWwCCZA
|
||||
vGOiQgXjXdMw2LAzKJEbo0EBovwD6SOTrir60bss+Axx+98JI4Vh24Jww42v9kPR
|
||||
frqo+BywkFTc3oxHCn72kx9JFiLbA3fsETy4e1/+1IQlNGs2dED89/98b8Am2LEQ
|
||||
gO1jPNmBc+NXymG0hkP5zAhxsqKLzz26h8BR4tXQuFTcKFs3mktYBJo2dAoQaxGD
|
||||
ysfwlKRiOwKbWZxWnJJWTbVl9LfqzBwYiTF/uZSp27dp45mC6vsglLZ4TQuXkbBH
|
||||
|
||||
-> ssh-rsa 0pGLuA
|
||||
Ny2kEOHzisMQX5k8hm1GwINjs14gRAd/AG4VZ2Mc/SY/o31xu5mZV8ThkRt3KTWj
|
||||
gFN5wdt78KcuXh0U0X0YStE9QLfiBrc1q7SJ95d2dzPaO5y4hETYJBNro1MthBW2
|
||||
kM1RTikBV+AwECA7belYn098anbuH7P/yLTtn1a+/N7VsH29+wAcf9R1z2zlAJuS
|
||||
psk0c+IUnOiVQ2zJwzZWvjxrQ/l2XpyaF1aktNkK4TZ6/XdA/jmLzxyyEiQ2YMZv
|
||||
ppzn8AAZzka53eogZiTFrDBKChM+KKrZIffsRjUZ/p+qPsvcFoUyi16gorODoTor
|
||||
uo453hjR1+4OkUYgozxlbTGDfSSUH+tI2/djZM/n3jIDAbpMIyzvO8L0wSUN9cTi
|
||||
+6j8rYLvpi2JFmJZ61zDkVkSVjCH6MV2h9UDkxQQb4lcBcZ0BZa0Ms7DUoLFsJm1
|
||||
5SqamCS8TO8lAgmc09b0WhR9sEX5sdjW9iTH5wzCLD2GA9tzZS4m0kSMJ7raWWeR
|
||||
|
||||
-> ssh-rsa JoBDow
|
||||
p/xk0f+UXerpduZJ0oKUG21JthAzCzHp7I5W4UiNPQbAm/oplmdXwWVFlb/gCBbZ
|
||||
EF0zIPBKijvO3IiB+QylzuVET9HgFLNqKye+2LkdsBI3oAmVrhdQkQJIoGco68QF
|
||||
nhz+q05KkcYs3vOg4ZyvGsVa6idIpvNN//s7VJ2ezB+yvWDIkY6zfTxFmRH6NDzo
|
||||
oP4HFCBPcVXYJiVcka8rNNMHNWrhLVFnHNsTMcDvXPyXXdwSfsg/unrZ0xxnxkt+
|
||||
dgjIaM8STQ9BEn+IR6TODiO8xMCUKfzlOHwHYh9xcF/j01SRJTyvYQBQLoqsaESH
|
||||
2NQOr7O0jJNzIzKVlp+UjMyvLcFMmi5aa5DuAJsXj5ktk9xDZ2CiXhv0qd9Xub9d
|
||||
iNFHIRAYv5SNobGhHse3htHsazHfhxcPb1gTbRwxzP0qYdwD6pD/pFc39bZg8TzP
|
||||
gRlSDBHzYnqWPWkJ+LxXzIsW6e9ZKUmNzVb4eq7xhRRpNi/0WQcy0VjWMafxVv+1
|
||||
|
||||
-> ssh-rsa wzTCUg
|
||||
qx45EE/ATHxwpxI9PuIWpiLeZbXfDHFe0ha3QReUHeiosRhKkrVm2X3a+XUqrk3C
|
||||
FhhGCqDKHj13s83Aelk5xYwlP55eLew6jgCDTALkFWnneQbCxKfKgF3PFPP3vjPI
|
||||
V9kGN/nhZT30xJRIKwOPm1J4pEqLAGCKHAcdmBA6kM1Xt56y0Q4r/lNeUZAEYSpt
|
||||
3LscZwVizvGH9uR3GXUN/Kq2BuOIX5v/xhkltStafXyD6oto6KUntK2RJ4L8cCq5
|
||||
mtTSOb6O1nzYggFxDMTkr1qXYsbweHYBODMUh0A0YeZjnVIjIzdxp3YOqNdKqLs3
|
||||
5l0bYh0mKCcwovJZSeBNou48iXq0AeFuyMI88DXuak1exWZZ/Cj2lISluz48I+aI
|
||||
NTktiEjCoi3M3o4EImKlBQvKCFTfExIIF0ZwX64qBK0C8jUF1jcBnbAdxqtKAHJi
|
||||
r74SAQdSkLaLii9QTytQKhOeThgNMXWSgjXuDPEijXPnHy8eA9oGxAZYTSL036Nh
|
||||
|
||||
--- ARnFzeXFOjvL/ktngJRHn9vPrfiwnIc1n+ep5PRU4nc
|
||||
ÇCLÜÝÕzPgí•ñmƒ‡ˆÜÓX¡°Kægs¨µKçn†TÔ¦÷ég±íNvÔN_43ù8ÁFîqÑ24¶mð“À“ª{ ‘S˜neëiÎ'œ Ôp«Ñ
|
@ -22,6 +22,7 @@ in
|
||||
"authelia-storage.age".publicKeys = [ rpi4 ] ++ all-user;
|
||||
"authelia-jwt.age".publicKeys = [ rpi4 ] ++ all-user;
|
||||
"authelia-session.age".publicKeys = [ rpi4 ] ++ all-user;
|
||||
"homepage.age".publicKeys = [ rpi4 ] ++ all-user;
|
||||
|
||||
"restic-rclone.age".publicKeys = [ rpi4 nullbox slab ] ++ all-user;
|
||||
"restic-password.age".publicKeys = [ rpi4 nullbox slab ] ++ all-user;
|
||||
|
Loading…
x
Reference in New Issue
Block a user