10 Commits

Author SHA1 Message Date
d7547be088 [nextcloud] update
Some checks failed
Check flake syntax / flake-check (push) Successful in 29m18s
Hydra callback / on_pr (pull_request) Failing after 4m16s
Hydra callback / on_push (pull_request) Has been skipped
2026-06-18 20:10:33 +02:00
8de6687f1f [nextcloud] undo the packaging change... 2026-06-18 19:54:44 +02:00
529848d89e [docs] update nextcloud instructions
Some checks failed
Hydra callback / on_push (pull_request) Has been skipped
Hydra callback / on_pr (pull_request) Failing after 3h10m18s
Check flake syntax / flake-check (push) Successful in 20m18s
2026-06-17 11:52:48 +02:00
cf89ece4d6 Multilingual keyword not supported
Some checks failed
Check flake syntax / flake-check (push) Has been cancelled
Hydra callback / on_push (pull_request) Has been cancelled
Hydra callback / on_pr (pull_request) Has been cancelled
2026-06-17 11:45:07 +02:00
0b77bbd8a6 [Nextcloud] build deck in flake
Changes from a cloud filehost to a local build, should also be more maintainable
2026-06-17 11:43:37 +02:00
b5b84e2ec8 change mpd config to declarative
Some checks failed
Check flake syntax / flake-check (push) Has been cancelled
Hydra callback / on_push (pull_request) Has been cancelled
Hydra callback / on_pr (pull_request) Has been cancelled
2026-06-17 10:47:15 +02:00
90d631f73c Change credentialsFile to environmentFile
Some checks failed
Check flake syntax / flake-check (push) Has been cancelled
Hydra callback / on_push (pull_request) Has been cancelled
Hydra callback / on_pr (pull_request) Has been cancelled
2026-06-17 10:38:47 +02:00
8c9b49f5c3 Hardcode grafana security key
Grafana's secret key (services.grafana.settings.security.secret_key) doesn't have a default  value anymore. Please generate your own and use a file-provider on this option! See also https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#secret_key for more information. See https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-database-encryption/#re-encrypt-secrets on how to re-encrypt.
As stated in the NixOS changelog for 26.05, there's no official way to rotate.
 Either hard-code the old key ("SW2YcwTIb9zpOOhoPsMm") if your setup doesn't have any secrets in the DB that need special protection or perform a rotation with a 3rd-party tool (d9dc788902).
2026-06-17 10:34:11 +02:00
a575d16ec0 Promtail is EOL
Recomended migtration to grafana-alloy (https://grafana.com/docs/alloy/latest/set-up/migrate/from-promtail/) or fluent-bit (https://docs.fluentbit.io/manual/data-pipeline/outputs/loki)
I chose alloy because of the compatability.
This needs to be reworked to a native implementation later
2026-06-17 10:29:03 +02:00
1cc93d5dc2 Update to 26.05
Some checks failed
Hydra callback / on_pr (pull_request) Waiting to run
Check flake syntax / flake-check (push) Failing after 3m41s
Hydra callback / on_push (pull_request) Has been skipped
2026-06-17 09:56:13 +02:00
8 changed files with 45 additions and 40 deletions

View File

@@ -1,6 +1,5 @@
[book] [book]
authors = ["ahtlon"] authors = ["ahtlon"]
language = "de" language = "de"
multilingual = false
src = "src" src = "src"
title = "Malobeo Infrastruktur Dokumentation" title = "Malobeo Infrastruktur Dokumentation"

34
flake.lock generated
View File

@@ -85,16 +85,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763992789, "lastModified": 1781319724,
"narHash": "sha256-WHkdBlw6oyxXIra/vQPYLtqY+3G8dUVZM8bEXk0t8x4=", "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "44831a7eaba4360fb81f2acc5ea6de5fde90aaa3", "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.05", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -126,11 +126,11 @@
"spectrum": "spectrum" "spectrum": "spectrum"
}, },
"locked": { "locked": {
"lastModified": 1780588968, "lastModified": 1781389237,
"narHash": "sha256-zQk+GqLO+T9taIl1UUt3swvaOksWJxL7PL8K0+Fc/Hs=", "narHash": "sha256-Ne1/E5XNUq0gleaQz0vW5R4xf/0h/uEZ+bOW1aNjeQk=",
"owner": "astro", "owner": "astro",
"repo": "microvm.nix", "repo": "microvm.nix",
"rev": "4d3fb17437944ea57eef2b9e6108ca777b1209ca", "rev": "6ad601df0a07d9855c5e8f9b81135ecaf7c287eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -180,11 +180,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1781020964, "lastModified": 1781622756,
"narHash": "sha256-fS7xTi2j2iso5Hj7RNZLv/acDlCT+fgMVkVk40A7Uco=", "narHash": "sha256-JrPh4M6S7aPsEE9tOENuZrxC6o2szSLlK+t4+nLke9s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "32c2cd9e46286c4eced3dc6b613c659126bf3cca", "rev": "08018c72174a4df5657f8d94178ac69fb9c243e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -212,11 +212,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1780749050, "lastModified": 1781577229,
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -241,16 +241,16 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1780952837, "lastModified": 1781216227,
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=", "narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe", "rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@@ -3,7 +3,7 @@
inputs = { inputs = {
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.inputs.nixpkgs.follows = "nixpkgs";
@@ -43,7 +43,7 @@
}; };
home-manager= { home-manager= {
url = "github:nix-community/home-manager/release-25.05"; url = "github:nix-community/home-manager/release-26.05";
inputs = { inputs = {
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
}; };

View File

@@ -165,7 +165,7 @@ in
defaults.email = "malobeo@systemli.org"; defaults.email = "malobeo@systemli.org";
defaults = { defaults = {
dnsProvider = "njalla"; dnsProvider = "njalla";
credentialsFile = config.sops.secrets.njala_api_key.path; environmentFile = config.sops.secrets.njala_api_key.path;
dnsPropagationCheck = false; dnsPropagationCheck = false;
}; };
}; };

View File

@@ -67,17 +67,17 @@ in
mpd = { mpd = {
enable = true; enable = true;
musicDirectory = "/var/lib/mpd/music"; musicDirectory = "/var/lib/mpd/music";
extraConfig = '' settings = {
audio_output { audio_output = [{
type "alsa" type = "alsa";
name "My ALSA" name = "My ALSA";
device "hw:0,0" # optional device = "hw:0,0"; # optional
format "44100:16:2" # optional format = "44100:16:2"; # optional
mixer_type "hardware" mixer_type = "hardware";
mixer_device "default" mixer_device = "default";
mixer_control "PCM" mixer_control = "PCM";
} }];
''; };
# Optional: # Optional:
network.listenAddress = "any"; # if you want to allow non-localhost connections network.listenAddress = "any"; # if you want to allow non-localhost connections
@@ -199,7 +199,7 @@ in
defaults.email = "malobeo@systemli.org"; defaults.email = "malobeo@systemli.org";
defaults = { defaults = {
dnsProvider = "njalla"; dnsProvider = "njalla";
credentialsFile = config.sops.secrets.njala_api_key.path; environmentFile = config.sops.secrets.njala_api_key.path;
dnsPropagationCheck = false; dnsPropagationCheck = false;
}; };
}; };

View File

@@ -41,17 +41,22 @@ in
}; };
}; };
services.promtail = { services.alloy = {
enable = cfg.enablePromtail; enable = cfg.enablePromtail;
configFile = import ./promtail_config.nix { extraFlags = ["--config.format=promtail"]; #TODO please change this to native alloy config later
configPath = import ./promtail_config.nix {
lokiAddress = cfg.lokiHost; lokiAddress = cfg.lokiHost;
logNginx = cfg.logNginx; logNginx = cfg.logNginx;
config = config; config = config;
pkgs = pkgs; pkgs = pkgs;
}; };
}; };
users.groups.promtail = {};
users.users.promtail.extraGroups = [ "systemd-journal" ] ++ (lib.optionals cfg.logNginx [ "nginx" ]) ; users.users.promtail = {
isNormalUser = true;
group = "promtail";
extraGroups = [ "systemd-journal" ] ++ (lib.optionals cfg.logNginx [ "nginx" ]) ;
};
}; };
} }

View File

@@ -39,7 +39,7 @@ in
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud32; package = pkgs.nextcloud33;
hostName = "cloud.malobeo.org"; hostName = "cloud.malobeo.org";
config.adminpassFile = config.sops.secrets.nextcloudAdminPass.path; config.adminpassFile = config.sops.secrets.nextcloudAdminPass.path;
maxUploadSize = "10G"; maxUploadSize = "10G";
@@ -55,8 +55,8 @@ in
extraApps = { extraApps = {
inherit (config.services.nextcloud.package.packages.apps) contacts calendar polls registration collectives forms; inherit (config.services.nextcloud.package.packages.apps) contacts calendar polls registration collectives forms;
deck = pkgs.fetchNextcloudApp { deck = pkgs.fetchNextcloudApp {
sha256 = "sha256-epjwIANb6vTNx9KqaG6jZc14YPoFMBTCj+/c9JHcWkA="; sha256 = "sha256-Oc/J0Ey7f9aHhLBWoAXaDMe2t0eeEQKvpwY510qNpiI=";
url = "https://link.storjshare.io/raw/jvrl62dakd6htpyxohjkiiqiw5ma/mal/deck32.tar.gz"; url = "https://s3.g.megas4.com/ya5mczgkbk6bw7tcy2yr4bl2vdryfe76ok2dj/malo/deck33.tar.gz";
license = "agpl3Plus"; license = "agpl3Plus";
}; };
}; };

View File

@@ -37,6 +37,7 @@ in
services.grafana = { services.grafana = {
enable = true; enable = true;
settings = { settings = {
security.secret_key = "SW2YcwTIb9zpOOhoPsMm";
server = { server = {
domain = "grafana.malobeo.org"; domain = "grafana.malobeo.org";
http_port = 2342; http_port = 2342;