Compare commits
5 commits
953c238a47
...
6ed8bd861b
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ed8bd861b | |||
| 1a4746819b | |||
| d35165ebc0 | |||
| 3816942600 | |||
| 992ddba373 |
9 changed files with 77 additions and 53 deletions
20
flake.lock
generated
20
flake.lock
generated
|
|
@ -686,22 +686,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727348695,
|
|
||||||
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756578978,
|
"lastModified": 1756578978,
|
||||||
|
|
@ -1186,7 +1170,9 @@
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_10"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756876659,
|
"lastModified": 1756876659,
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,10 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
zen-browser = {
|
||||||
|
url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [ fractal ];
|
home.packages = with pkgs; [ fractal element-desktop ];
|
||||||
|
|
||||||
|
programs.element-desktop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.zen-browser = {
|
programs.zen-browser = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
policies = {
|
policies = {
|
||||||
AutofillAddressEnabled = true;
|
AutofillAddressEnabled = true;
|
||||||
AutofillCreditCardEnabled = false;
|
AutofillCreditCardEnabled = false;
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
kwalletrc = {
|
kwalletrc = {
|
||||||
Wallet.Enabled = false;
|
Wallet.Enabled = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
plasmarc = {
|
plasmarc = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
home-manager.backupFileExtension = "back";
|
home-manager.backupFileExtension = "homeManagerBackup";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
26
modules/nixos/services/backup/borg/default.nix
Normal file
26
modules/nixos/services/backup/borg/default.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ config, lib, pkgs, namespace, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
|
||||||
|
cfg = config.${namespace}.services.backup.borg;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.services.backup.borg = {
|
||||||
|
enable = mkEnableOption "Borg Backup";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
borgbackup.jobs = {
|
||||||
|
media = {
|
||||||
|
paths = "/var/media/test";
|
||||||
|
encryption.mode = "none";
|
||||||
|
environment.BORG_SSH = "ssh -i /home/chris/.ssh/id_ed25519 -4";
|
||||||
|
repo = "ssh://chris@beheer.hazelhof.nl:222/home/chris/backups/media";
|
||||||
|
compression = "auto,zstd";
|
||||||
|
startAt = "daily";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,7 @@ let
|
||||||
inherit (builtins) toString toJSON;
|
inherit (builtins) toString toJSON;
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
|
||||||
cfg = config.${namespace}.services.communication.conduit;
|
cfg = config.${namespace}.services.communication.matrix;
|
||||||
|
|
||||||
domain = "kruining.eu";
|
domain = "kruining.eu";
|
||||||
fqn = "matrix.${domain}";
|
fqn = "matrix.${domain}";
|
||||||
|
|
@ -12,43 +12,24 @@ let
|
||||||
database = "synapse";
|
database = "synapse";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.services.communication.conduit = {
|
options.${namespace}.services.communication.matrix = {
|
||||||
enable = mkEnableOption "conduit (Matrix server)";
|
enable = mkEnableOption "Matrix server (Synapse)";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# ${namespace}.services = {
|
${namespace}.services = {
|
||||||
# persistance.postgresql.enable = true;
|
persistance.postgresql.enable = true;
|
||||||
# virtualisation.podman.enable = true;
|
# virtualisation.podman.enable = true;
|
||||||
# };
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 4001 8448 ];
|
networking.firewall.allowedTCPPorts = [ 4001 ];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
matrix-conduit = {
|
|
||||||
enable = false;
|
|
||||||
|
|
||||||
settings.global = {
|
|
||||||
address = "::";
|
|
||||||
port = port;
|
|
||||||
|
|
||||||
server_name = domain;
|
|
||||||
|
|
||||||
database_backend = "rocksdb";
|
|
||||||
# database_path = "/var/lib/matrix-conduit/";
|
|
||||||
|
|
||||||
allow_check_for_updates = false;
|
|
||||||
allow_registration = false;
|
|
||||||
|
|
||||||
enable_lightning_bolt = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
matrix-synapse = {
|
matrix-synapse = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
extras = [ "oidc" ];
|
extras = [ "oidc" ];
|
||||||
plugins = with config.services.matrix-synapse.package.plugins; [];
|
# plugins = with config.services.matrix-synapse.package.plugins; [];
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
server_name = domain;
|
server_name = domain;
|
||||||
|
|
@ -56,10 +37,32 @@ in
|
||||||
|
|
||||||
enable_registration = false;
|
enable_registration = false;
|
||||||
registration_shared_secret = "tZtBnlhEmLbMwF0lQ112VH1Rl5MkZzYH9suI4pEoPXzk6nWUB8FJF4eEnwLkbstz";
|
registration_shared_secret = "tZtBnlhEmLbMwF0lQ112VH1Rl5MkZzYH9suI4pEoPXzk6nWUB8FJF4eEnwLkbstz";
|
||||||
|
|
||||||
url_preview_enabled = true;
|
url_preview_enabled = true;
|
||||||
precence.enabled = true;
|
precence.enabled = true;
|
||||||
|
|
||||||
|
sso = {
|
||||||
|
client_whitelist = [ "http://[::1]:9092" ];
|
||||||
|
update_profile_information = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
oidc_providers = [
|
||||||
|
{
|
||||||
|
discover = true;
|
||||||
|
|
||||||
|
idp_id = "zitadel";
|
||||||
|
idp_name = "Zitadel";
|
||||||
|
issuer = "https://auth.amarth.cloud";
|
||||||
|
client_id = "337858153251143939";
|
||||||
|
client_secret = "ePkf5n8BxGD5DF7t1eNThTL0g6PVBO5A1RC0EqPp61S7VsiyXvDs8aJeczrpCpsH";
|
||||||
|
scopes = [ "openid" "profile" ];
|
||||||
|
# user_mapping_provider.config = {
|
||||||
|
# localpart_template = "{{ user.prefered_username }}";
|
||||||
|
# display_name_template = "{{ user.name }}";
|
||||||
|
# };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
database = {
|
database = {
|
||||||
# this is postgresql (also the default, but I prefer to be explicit)
|
# this is postgresql (also the default, but I prefer to be explicit)
|
||||||
name = "psycopg2";
|
name = "psycopg2";
|
||||||
|
|
@ -95,7 +98,7 @@ in
|
||||||
settings = {
|
settings = {
|
||||||
appservice = {
|
appservice = {
|
||||||
provisioning.enabled = false;
|
provisioning.enabled = false;
|
||||||
port = 40011;
|
# port = 40011;
|
||||||
};
|
};
|
||||||
|
|
||||||
homeserver = {
|
homeserver = {
|
||||||
|
|
@ -118,7 +121,7 @@ in
|
||||||
settings = {
|
settings = {
|
||||||
appservice = {
|
appservice = {
|
||||||
provisioning.enabled = false;
|
provisioning.enabled = false;
|
||||||
port = 40012;
|
# port = 40012;
|
||||||
};
|
};
|
||||||
|
|
||||||
homeserver = {
|
homeserver = {
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
authentication.authelia.enable = true;
|
authentication.authelia.enable = true;
|
||||||
authentication.zitadel.enable = true;
|
authentication.zitadel.enable = true;
|
||||||
|
|
||||||
communication.conduit.enable = true;
|
communication.matrix.enable = true;
|
||||||
|
|
||||||
development.forgejo.enable = true;
|
development.forgejo.enable = true;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue