Compare commits

...

10 commits

11 changed files with 97 additions and 43 deletions

54
flake.lock generated
View file

@ -113,11 +113,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github"
},
"original": {
@ -171,11 +171,11 @@
]
},
"locked": {
"lastModified": 1770726378,
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
"lastModified": 1772893680,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"type": "github"
},
"original": {
@ -276,11 +276,11 @@
]
},
"locked": {
"lastModified": 1771744638,
"narHash": "sha256-EDLi+YAsEEAmMeZe1v6GccuGRbCkpSZp/+A6g+pivR8=",
"lastModified": 1773264488,
"narHash": "sha256-rK0507bDuWBrZo+0zts9bCs/+RRUEHuvFE5DHWPxX/Q=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "cb6c151f5c9db4df0b69d06894dc8484de1f16a0",
"rev": "5c0f63f8d55040a7eed69df7e3fcdd15dfb5a04c",
"type": "github"
},
"original": {
@ -297,11 +297,11 @@
]
},
"locked": {
"lastModified": 1771750122,
"narHash": "sha256-+JYMGE6Z4O7GoaBFHByl22XcyeStu56GE1eu3+2sVjI=",
"lastModified": 1773422513,
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "603626a8da9e1b622e55251a90ef486b8179334c",
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
"type": "github"
},
"original": {
@ -333,11 +333,11 @@
]
},
"locked": {
"lastModified": 1771734689,
"narHash": "sha256-/phvMgr1yutyAMjKnZlxkVplzxHiz60i4rc+gKzpwhg=",
"lastModified": 1772945408,
"narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "8f590b832326ab9699444f3a48240595954a4b10",
"rev": "1c1d8ea87b047788fd7567adf531418c5da321ec",
"type": "github"
},
"original": {
@ -410,11 +410,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1771423359,
"narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"lastModified": 1772972630,
"narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72",
"type": "github"
},
"original": {
@ -441,11 +441,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1769909678,
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
"lastModified": 1772328832,
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "72716169fe93074c333e8d0173151350670b824c",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
"type": "github"
},
"original": {
@ -486,11 +486,11 @@
},
"nixpkgs-s": {
"locked": {
"lastModified": 1771714954,
"narHash": "sha256-nhZJPnBavtu40/L2aqpljrfUNb2rxmWTmSjK2c9UKds=",
"lastModified": 1773423183,
"narHash": "sha256-DWTHAXCWF9Et9B1P/sWZYTqKBPXoYZ54AQpX/ysBKdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "afbbf774e2087c3d734266c22f96fca2e78d3620",
"rev": "c128715845ca39d44c4e5839323475b62a72ccd9",
"type": "github"
},
"original": {
@ -502,11 +502,11 @@
},
"nixpkgs-u": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"lastModified": 1773282481,
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127",
"type": "github"
},
"original": {

View file

@ -506,6 +506,7 @@
./nixos/forgejo.nix # Git hosting (Forgejo/Gitea fork)
./nixos/garage.nix # Object storage service
./nixos/ollama.nix # AI/LLM service
./nixos/jellyfin.nix # Jellyfin media server
# Cloud storage and secrets
self.nixosModules.bertof-rclone

View file

@ -9,7 +9,7 @@
};
mcp-ctrl = {
command = "nix";
args = [ "run" "gitlab:fberto/llm-agent-tests?host=gitlab.cern.ch" ];
args = [ "run" "gitlab:fberto/mcp-ctrl?host=gitlab.cern.ch" ];
};
};
};
@ -32,15 +32,12 @@
"deepseek-r1:8b".name = "deepseek-r1:8b";
"gemma3n:e2b".name = "gemma3n:e2b";
"gemma3:latest".name = "gemma3:latest";
"qwen3:4b".name = "qwen3:4b";
"qwen3-vl:4b".name = "qwen3-vl:4b";
"qwen3-vl:8b".name = "qwen3-vl:8b";
"qwen3:14b".name = "qwen3:14b";
"qwen3:8b".name = "qwen3:8b";
"qwen3.5:4b".name = "qwen3.5:4b";
"qwen3.5:9b".name = "qwen3.5:9b";
"gemma3:12b".name = "gemma3:12b";
"gemma3n:e4b".name = "gemma3n:e4b";
"granite3.3:8b".name = "granite3.3:8b";
"glm-4.6:cloud".name = "glm-4.6:cloud";
"glm-4.7:cloud".name = "glm-4.7:cloud";
};
};

View file

@ -1,7 +1,7 @@
{ pkgs, ... }:
let
systemLibFolder = "/run/current-system/sw/lib/";
userLibFolder = "$HOME/.local/state/nix/profiles/home-manager/home-path/lib";
userLibFolder = "$HOME/.local/state/home-manager/gcroots/current-home/home-path/lib";
variables = {
DSSI_PATH = "$HOME/.dssi:${userLibFolder}/dssi:${systemLibFolder}/dssi";
LADSPA_PATH = "$HOME/.ladspa:${userLibFolder}/ladspa:${systemLibFolder}/ladspa";
@ -25,7 +25,7 @@ in
# mamba
aeolus
ardour
# artyFX
artyFX
autotalent
boops
# breeze-icons
@ -36,7 +36,7 @@ in
gxplugins-lv2
geonkick
giada
# hydrogen
hydrogen
neural-amp-modeler-lv2
# proteus
ninjas2
@ -46,7 +46,7 @@ in
samplv1
sfizz
# surge
# surge-XT
surge-XT
talentedhack
vital
vocproc

View file

@ -32,7 +32,7 @@ let cfg = config.rclone-mount; in {
Type = "simple";
Environment = [ "PATH=${ lib.makeBinPath [ pkgs.rclone pkgs.coreutils pkgs.fuse ]}:/run/wrappers/bin/:$PATH" ];
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p ${path}";
ExecStart = "${pkgs.rclone}/bin/rclone --config '${cfg.configPath}' mount ${name}:/ ${path} -vv --vfs-cache-mode=writes --s3-upload-concurrency 32 --s3-chunk-size 128000";
ExecStart = "${pkgs.rclone}/bin/rclone --config '${cfg.configPath}' mount ${name}:/ ${path} -vv --allow-other --vfs-cache-mode=writes --s3-upload-concurrency 32 --s3-chunk-size 128000";
Restart = "on-failure";
RestartSec = "30s";
};

View file

@ -36,7 +36,7 @@ in
modules-right = [
# "hyprland/language"
# "custom/media"
"pulseaudio"
"wireplumber"
# "network"
"cpu"
"memory"
@ -155,7 +155,7 @@ in
"format-disconnected" = "Disconnected ";
"format-alt" = "{ifname}= {ipaddr}/{cidr}";
};
"pulseaudio" = {
"wireplumber" = {
# "scroll-step"= 1; # %; can be a float
"format" = "{icon} {volume} {format_source}";
"format-muted" = " {format_source}";

View file

@ -53,7 +53,6 @@
# slack
# spotify
telegram-desktop
thunderbird
transmission_4
# wineFull
wireguard-tools

33
nixos/jellyfin.nix Normal file
View file

@ -0,0 +1,33 @@
{ pkgs, config, ... }: {
age.secrets.rclone_jellyfin = {
file = ../secrets/rclone_jellyfin.age;
owner = "jellyfin";
};
services.jellyfin = {
enable = true;
openFirewall = true;
group = "users";
};
environment.systemPackages = [ pkgs.rclone ];
fileSystems."/var/lib/jellyfin/media" = {
device = "garage:/";
fsType = "rclone";
options = [
"nodev"
"nofail"
"_netdev"
"allow_other"
"uid=jellyfin"
"gid=users"
"X-mount.mkdir"
"args2env"
"vfs_cache_mode=writes"
"s3_upload_concurrency=32"
"s3_chunk_size=128000"
"config=${config.age.secrets.rclone_jellyfin.path}"
];
};
}

View file

@ -5,7 +5,7 @@ in
{
services = {
bazarr = { enable = true; openFirewall = true; group = "users"; };
# jellyseerr = { enable = true; openFirewall = true; };
jellyseerr = { enable = true; openFirewall = true; };
lidarr = { enable = true; openFirewall = true; group = "users"; };
ombi = { enable = true; openFirewall = true; };
prowlarr = { enable = true; openFirewall = true; };

View file

@ -0,0 +1,23 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDRiZWhGQSBpdmxQ
QU9MRlV3L00reFo0REZ2alZiRUN6ZGNlQXRCVk96S1J4cWNSRUIwCitBYUxPbjZM
N2NLejBjeWRZemZLVmVWWmVLdnNsdUwxaU55TmpvWXhnZ0kKLT4gc3NoLWVkMjU1
MTkgZXZMbEl3IGNHSW9VWHZnZFU5K1dYbFl0UUk0amttVngvdlJSNjBkRTJYZ3Jj
NjZtWE0KUXhZYU9IYXlKTElYRmxyMkNaZkdia2QyWnVERW5udXVjY2t0WWpGcGJZ
WQotPiBzc2gtZWQyNTUxOSBqdjNlancgNEowelpNNExyajNJeDZMekU0V1dtbXFJ
d3dObkJhVXZVclVJU0ppcTlndwo5TzdvczFjYVRBR1dlRkpaSks0VEFTeGpUNmZz
WjB1TXN0MkRobDJpdXJNCi0+IHNzaC1lZDI1NTE5IHlpWW9YZyBEcFFHNzF3UEJx
MFRESFNyRkRZVFUvaFEwOU5kbG1jTGtEbjlGZUdmd2hVCmE2dzFyVG1Gais4enFn
T2VGVVA0Qmd4aWV4S1RmVzJBdytwT0NmWDE1MTQKLT4gZHFKLWdyZWFzZQp0bFhB
Vlp4M0tTNDRvYXhNWkJoQmhjOU1RUDFQcDJOSUs0RnJ1ODdJejk3enRHZ1ZhSjZC
NnlYRFhDUU9pMzBlCmh3MXE0ZGFKRjdRNWtsL0xKeG9TUHFmUDQ4VzJFWC9hSWhL
WUM5bk5KMDNNaGRVeVVwVnhENEovQUEKLS0tIEtkZXVxd08zYXF5S1lsSzJiUGVv
enZybjdGUzQ0RTZUQlNSRVR6RmZHUHcKwx8Zu0Gnq8p7uOvawnZdkdFHaTmFDq9+
BfP9osczw1/mMTAXyVjrPHZltlqXJXoxcdWD1CwEO0kJ5JsAjjPmX/v8DTZIoty5
EU5Wd6LgykD1AeLHo1XZESmys6ljyASwO7shNOlNscAujaiqmD9NXenr1811duj3
pfkCGK0CzDcLFjMIflCBtCviBOgZEUctjJfA9FT4Cgh3M0jYdDgLboH7e416Vnxa
08845ZpjDqIywCmtSap9jPL4gcYzLLapU6ccAmlLqAGvMRCnmcpiEZNEJiwHJBzZ
rVelOLVxjYgu7rPTY19BJZuSp7E4HV5pvpZqqhKlLlu6U43I1gci04jeIbJO3tmV
slfNsIP/m+bUj3LfPfTqCtKEkft2nR+300xxe1Xk6EkUINyYuy/vV8oWctScASBU
lr+mUH5CYInNcR9xwWpsZeI11FQZ1ldt9x9Q5fM=
-----END AGE ENCRYPTED FILE-----

View file

@ -46,6 +46,7 @@ in
"thor_wg_priv.age".publicKeys = devUsers ++ [ thor ];
"wg_psk.age".publicKeys = devUsers ++ systems;
"rclone_bertof.age".publicKeys = devUsers ++ [ baldur heimdall odin sif thor ];
"rclone_jellyfin.age".publicKeys = devUsers ++ [ baldur heimdall ];
"rclone_tiziano.age".publicKeys = devUsers ++ [ odin ];
"ollama.age".publicKeys = devUsers ++ [ thor ];
"heimdall-gitlab-runner-nix.age".publicKeys = devUsers ++ [ heimdall ];