Compare commits

..

4 Commits

9 changed files with 72 additions and 46 deletions

View File

@@ -1,28 +0,0 @@
{
imports = [
./nixos.nix
./hardware.nix
./home.nix
./virt.nix
./docker.nix
./minecraft.nix
./samba.nix
./net.nix
./caddy.nix
./nextcloud.nix
./mail.nix
./gitea.nix
./vault.nix
./homepage.nix
./code.nix
./grafana.nix
./note.nix
./matrix.nix
./minio.nix
./build.nix
./immich.nix
./efl.nix
./plant.nix
];
}

View File

@@ -7,6 +7,7 @@
coding.misc.enable = true; coding.misc.enable = true;
coding.langs.lua.enable = true; coding.langs.lua.enable = true;
coding.langs.rust.enable = true; coding.langs.rust.enable = true;
coding.langs.js.enable = true;
fonts.enable = lib.mkForce false; fonts.enable = lib.mkForce false;
persist = { persist = {
enable = true; enable = true;

View File

@@ -0,0 +1,54 @@
{ config, secrets, ... }:
let
redisUrl = config.services.redis.servers.rsshub.unixSocket;
in
{
sops.secrets.rsshub-env = {
sopsFile = secrets.rsshub;
format = "dotenv";
};
users.users.rsshub = {
home = "/var/empty";
group = "rsshub";
isSystemUser = true;
};
users.groups.rsshub.members = [ "rsshub" ];
services.redis.servers.rsshub = {
enable = true;
user = "rsshub";
};
virtualisation.oci-containers.containers.rsshub = {
image = "diygod/rsshub";
volumes = [
"${redisUrl}:${redisUrl}"
];
ports = [ "8100:1200" ];
networks = [ "podman" ];
environment = {
CACHE_TYPE = "redis";
REDIS_URL = "${redisUrl}";
};
environmentFiles = [ config.sops.secrets.rsshub-env.path ];
};
services.caddy.virtualHosts."rss.imxyy.top" = {
extraConfig = ''
reverse_proxy :8100
'';
};
services.frp.settings.proxies = [
{
name = "rsshub-http";
type = "http";
localIP = "127.0.0.1";
localPort = 80;
customDomains = [ "rss.imxyy.top" ];
}
{
name = "rsshub-https";
type = "https";
localIP = "127.0.0.1";
localPort = 443;
customDomains = [ "rss.imxyy.top" ];
}
];
}

View File

@@ -1,6 +0,0 @@
{
imports = [
./nixos.nix
./home.nix
];
}

View File

@@ -1,8 +0,0 @@
{
imports = [
./nixos.nix
./hardware.nix
./home.nix
./net.nix
];
}

View File

@@ -232,14 +232,16 @@
paths = [ ./modules ]; paths = [ ./modules ];
exclude = [ exclude = [
./modules/virt/types ./modules/virt/types
./modules/desktop/wm/niri/waybar
]; ];
recursive = true; recursive = true;
}) })
++ (lib.umport {
paths = [ ./config/hosts/${hostname} ];
recursive = true;
})
++ [ ++ [
(lib.mkAliasOptionModule [ "my" "hm" ] [ "home-manager" "users" vars.username ]) (lib.mkAliasOptionModule [ "my" "hm" ] [ "home-manager" "users" vars.username ])
./config/base.nix ./config/base.nix
./config/hosts/${hostname}
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.impermanence.nixosModules.impermanence inputs.impermanence.nixosModules.impermanence
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default

View File

@@ -34,7 +34,7 @@ lib.my.makeSwitch {
shellAliases = { shellAliases = {
la = "lsd -lah"; la = "lsd -lah";
ls = "lsd"; ls = "lsd";
svim = "sudoedit"; svim = "doasedit";
nf = "fastfetch"; nf = "fastfetch";
tmux = "tmux -T RGB,focus,overline,mouse,clipboard,usstyle"; tmux = "tmux -T RGB,focus,overline,mouse,clipboard,usstyle";
}; };

View File

@@ -49,7 +49,7 @@ lib.my.makeSwitch {
shellAliases = { shellAliases = {
x = "extract"; x = "extract";
ls = "lsd"; ls = "lsd";
svim = "sudoedit"; svim = "doasedit";
nf = "fastfetch"; nf = "fastfetch";
tmux = "tmux -T RGB,focus,overline,mouse,clipboard,usstyle"; tmux = "tmux -T RGB,focus,overline,mouse,clipboard,usstyle";
}; };

11
secrets/rsshub.env Normal file
View File

@@ -0,0 +1,11 @@
ACCESS_KEY=ENC[AES256_GCM,data:rRG2zweAkl1ikM/hK1CmQh8YbISEpyFY++E4PRZSdyxKcrvAd3FY2c3237f9,iv:QJKkIo+1IgH9kc6bxRQbmLw9l26wyIg+wWiSHZduVi4=,tag:r6tLB77L8hP8OLt7gPr1Rg==,type:str]
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IDltTWRrUSBIQ0V3\nVXQ1ZEJhcTFENXVoQ0gzM2R2YW9vZEdPOHlCcFFyeE9hMmJRSVhJCnZWNWZIWkJC\nc2NWYjc0ZmRiUTB0UkxqZmNzaVUyV0RoNEZmenVZSy84ZUUKLS0tIGFzR1JZNjhs\nSDhUVFFNbnRHWW5HWUljQWRvM1hCdHNSSEVpM28yTGhkdXcKsMg5hQ8TDOP/3+Qk\npXYkYTCfc/CR7y5xFLarFJ3A/VrUgXhSw7yK+OSqDLp24cocjN4xLAJvfplPmD6g\n+ILq9Q==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_0__map_recipient=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEFLUkyeaK8ZPPZdVNEmtx8zvoxi7xqS2Z6oxRBuUPO
sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHJNY1d1ZyA1WGVR\nODY1QWFabUV6L3hJd3lkSk5obVhnbW95Z0V3OUVNL0dqblJBTWxBCmFaaU56YndO\namxQcE1yc2VKdTJ2d2FjR0I2VHN6V2syb0YwNTRrWHBTYU0KLS0tIDA2enF5S0pt\nQmlpMVdkbG9lcktSOXFmSjd2R3J6YVFOSVg0SXptTGhZYmMKXHX7Z98cecXqEdOW\nwMsZBdid+oq7NSXWsW8Mi3869p9WNgZXYYi0v9rt0yp0e7J7OyaUzLhf8m+Ffm+8\n0Ka+Zw==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_1__map_recipient=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB28jpN+h5euh3NtdN+A+EtqgIatC22e4i1TPTioKire
sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IFhGYmtrZyBtMUxD\nOGlLZDVDSk5tVFB4c3JCcDdKTEVrNGwxc0JPMGNibjZZVWo3d0FBCkdFK3NRUWVS\nL0w3UmF2SnNaNllZMWdZSVJSVHNDWERDNG1wSHlhM2VGeGMKLS0tIGNKcjBxenFY\nYk1mamN1UWdWZG5aNU9aSktWc09KcnYyZnR6UHUxZGJPYm8KF/ZgLLfsGbQKUCyo\nMffW7XiWz1I0lJIxFrmweB1cT3D7QUmDNmHthAnTvH2edesbysicRNqa2+JQPOJA\nC8+u3Q==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_2__map_recipient=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMb5G/ieEYBOng66YeyttBQLThyM6W//z2POsNyq4Rw/
sops_lastmodified=2025-12-07T06:57:17Z
sops_mac=ENC[AES256_GCM,data:jUVuop66h271qcZrbGIOTIIAUtvocjco5MIVtvSuzbhog4c6+O0Gvmg1L2brvwySnyn/A5hvVXYG2s94zCoA6SCeSm0xKcU5GQFuqwCwMNQqrOVfq7KIkHxiJ3rOXiZ+mXMIDW13q6LcePSlhCfhc5HGvmwoGYXfvTQaLnZVOSs=,iv:RTS5XnscTs/QZ6nug3A3tQHb4iX6V8dFJoIgMCNLu1E=,tag:Vu/6a4zweQhl6q21IwMeig==,type:str]
sops_unencrypted_suffix=_unencrypted
sops_version=3.11.0