Compare commits

..

No commits in common. "55db267cf3e559a68de7a2f27e7f6a626ec81cdb" and "1dd5832eadb5eab28b33f6c02e2887248269118d" have entirely different histories.

12 changed files with 66 additions and 268 deletions

View file

@ -39,52 +39,9 @@
"type": "github"
}
},
"attic": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1704159259,
"narHash": "sha256-OOEFibN9JQBepVeqxSNSBr6JUmdoZiH263ogms2jk0k=",
"owner": "zhaofengli",
"repo": "attic",
"rev": "e6bedf1869f382cfc51b69848d6e09d51585ead6",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "attic",
"type": "github"
}
},
"crane": {
"inputs": {
"nixpkgs": [
"attic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1702918879,
"narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=",
"owner": "ipetkov",
"repo": "crane",
"rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
@ -105,22 +62,6 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@ -175,21 +116,6 @@
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -197,11 +123,11 @@
]
},
"locked": {
"lastModified": 1704276313,
"narHash": "sha256-4eD4RaAKHLj0ztw5pQcNFs3hGpxrsYb0e9Qir+Ute+w=",
"lastModified": 1703995158,
"narHash": "sha256-oYMwbObpWheGeeNWY1LjO/+omrbAWDNdyzNDxTr2jo8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4d8f90205c6c90be2e81d94d0e5eedf71c1ba34e",
"rev": "2e8634c252890cb38c60ab996af04926537cbc27",
"type": "github"
},
"original": {
@ -213,17 +139,17 @@
"hyprland": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1704230318,
"narHash": "sha256-aYjwKz4ybEEGqG45xFlnQbb0eN5GUxj9NMRcEYBPT3w=",
"lastModified": 1704027264,
"narHash": "sha256-RzzCNXrSjQAIB4C84/WZ5eYna20d2ZBKhE/PtWK89SM=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "1512b81126dd115f089fd21244692d92034c78f8",
"rev": "46997a764304366d772456c20b1c719960927aa7",
"type": "github"
},
"original": {
@ -239,11 +165,11 @@
]
},
"locked": {
"lastModified": 1704241842,
"narHash": "sha256-PsccT6JJYCnQM8vQI9SO6ZT3oEoluT983rbcnoYTGEk=",
"lastModified": 1703982818,
"narHash": "sha256-HHrB/HBFOjs/7CFDpOBQDMM+P4M9mPkbrGX3J9/cgmw=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "cf817ebadd003ad27383ef08c1c310a6bae82930",
"rev": "1439ae3122569388a32d5cf64576a62c6db38061",
"type": "github"
},
"original": {
@ -300,14 +226,14 @@
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1704244428,
"narHash": "sha256-n3KZlxx1QS3919I1O77OhBouUeetlLpmQQcIx3dqAso=",
"lastModified": 1703985648,
"narHash": "sha256-KvxXtuMCMdW8Q+WTbXxItUjC5KWHjVHV8VK8EngM6gc=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "bd7442917422de061bcf61323b07abbb93bdb766",
"rev": "89a873ae6bb36e324d0f0ce32a775d1d9f541bda",
"type": "github"
},
"original": {
@ -371,22 +297,6 @@
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1702780907,
"narHash": "sha256-blbrBBXjjZt6OKTcYX1jpe9SRof2P9ZYWPzq22tzXAA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e2e384c5b7c50dbf8e9c441a9e58d85f408b01f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1703950681,
"narHash": "sha256-veU5bE4eLOmi7aOzhE7LfZXcSOONRMay0BKv01WHojo=",
@ -403,22 +313,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1702539185,
"narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1703438236,
"narHash": "sha256-aqVBq1u09yFhL7bj1/xyUeJjzr92fXVvQSSEx6AdB1M=",
@ -434,7 +328,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_3": {
"locked": {
"lastModified": 1703499205,
"narHash": "sha256-lF9rK5mSUfIZJgZxC3ge40tp1gmyyOXZ+lRY3P8bfbg=",
@ -450,13 +344,13 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1703961334,
"narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=",
"lastModified": 1703637592,
"narHash": "sha256-8MXjxU0RfFfzl57Zy3OfXCITS0qWDNLzlBAdwxGZwfY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9",
"rev": "cfc3698c31b1fb9cdcf10f36c9643460264d0ca8",
"type": "github"
},
"original": {
@ -470,7 +364,6 @@
"inputs": {
"ags": "ags",
"anyrun": "anyrun",
"attic": "attic",
"deploy-rs": "deploy-rs",
"home-manager": "home-manager",
"hyprland": "hyprland",
@ -478,7 +371,7 @@
"nh": "nh",
"nix-gaming": "nix-gaming",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"sops-nix": "sops-nix"
}
},
@ -487,7 +380,7 @@
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1703991717,
@ -555,18 +448,18 @@
"flake": false,
"locked": {
"host": "gitlab.freedesktop.org",
"lastModified": 1703963193,
"narHash": "sha256-ke8drv6PTrdQDruWbajrRJffP9A9PU6FRyjJGNZRTs4=",
"lastModified": 1701368958,
"narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=",
"owner": "wlroots",
"repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df",
"rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
"type": "gitlab"
},
"original": {
"host": "gitlab.freedesktop.org",
"owner": "wlroots",
"repo": "wlroots",
"rev": "f81c3d93cd6f61b20ae784297679283438def8df",
"rev": "5d639394f3e83b01596dcd166a44a9a1a2583350",
"type": "gitlab"
}
},

View file

@ -8,7 +8,6 @@
hyprland.url = "github:hyprwm/Hyprland";
ags.url = "github:Aylur/ags";
nix-gaming.url = "github:fufexan/nix-gaming";
attic.url = "github:zhaofengli/attic";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
@ -52,7 +51,6 @@
alejandra
yaml-language-server
lua-language-server
nodePackages.typescript-language-server
];
};
formatter.${system} = pkgs.alejandra;

View file

@ -40,10 +40,6 @@
name = "vaultwarden";
ensureDBOwnership = true;
}
{
name = "attic";
ensureDBOwnership = true;
}
];
ensureDatabases = [
"forgejo"
@ -51,7 +47,6 @@
"grafana"
"authelia"
"vaultwarden"
"attic"
];
};
services.postgresqlBackup = {

View file

@ -0,0 +1,36 @@
{config, ...}: {
sops.secrets.attic-secret = {};
sops.secrets.s3-keyid = {};
sops.secrets.s3-secret-key = {};
services.atticd = {
enable = true;
credentialsFile = config.sops.secrets.attic-secret.path;
settings = {
listen = "[::]:8100";
allowed-hosts = ["cache.notohh.dev"];
database.url = "postgres://atticd:atticd@192.168.1.211:5432/atticd";
api-endpoint = "https://cache.notohh.dev/";
require-proof-of-possession = false;
chunking = {
nar-size-threshold = 64 * 1024; # 64 KiB
min-size = 16 * 1024; # 16 KiB
avg-size = 64 * 1024; # 64 KiB
max-size = 256 * 1024; # 256 KiB
};
storage = {
type = "s3";
region = "us-east-005";
bucket = "notoh-binary-cache";
endpoint = "https://s3.us-east-005.backblazeb2.com";
};
garbage-collection = {
interval = "12 hours";
default-retention-period = "2 weeks";
};
};
};
}

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
sops.secrets.rusty-auth-token = {};
environment.systemPackages = with pkgs; [rustypaste];
systemd.services.rustypaste = {

View file

@ -5,12 +5,10 @@
efiInstallAsRemovable = true;
device = "nodev";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/B793-1B2C";
fsType = "vfat";
};
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"];
boot.initrd.kernelModules = ["nvme"];
fileSystems."/" = {

View file

@ -1,44 +0,0 @@
{
config,
pkgs,
...
}: {
sops.secrets.attic = {};
environment.systemPackages = [pkgs.attic];
services.atticd = {
enable = true;
credentialsFile = config.sops.secrets.attic.path;
settings = {
listen = "[::]:8200";
allowed-hosts = ["cache.flake.sh"];
database.url = "postgres://attic:attic@100.94.214.100:5432/attic";
api-endpoint = "https://cache.flake.sh";
require-proof-of-possession = false;
chunking = {
nar-size-threshold = 0;
min-size = 16 * 1024; # 16 KiB
avg-size = 64 * 1024; # 64 KiB
max-size = 256 * 1024; # 256 KiB
};
garbage-collection = {
interval = "12 hours";
default-retention-period = "4 weeks";
};
compression = {
type = "zstd";
level = 9;
};
storage = {
type = "s3";
region = "us-east-1";
bucket = "flakesh-binary-cache";
endpoint = "https://s3.flake.sh/";
};
};
};
}

View file

@ -1,20 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = [pkgs.davfs2];
users.users.davfs2 = {
group = "davfs2";
isSystemUser = true;
};
users.groups.davfs2 = {};
sops.secrets.davfs2 = {
owner = "root";
group = "root";
mode = "0600";
path = "/etc/davfs2/secrets";
};
fileSystems."/var/lib/mounted" = {
device = "https://u384391.your-storagebox.de";
fsType = "davfs";
options = ["rw,file_mode=0660,dir_mode=0755" "0" "0"];
};
}

View file

@ -5,8 +5,6 @@
./uptimekuma.nix
./ntfy-sh.nix
./tailscale.nix
./attic.nix
./minio.nix
./factorio.nix
# ./minecraft.nix
# ./foundryvtt.nix

View file

@ -1,25 +0,0 @@
{
config,
pkgs,
...
}: {
imports = [
./davfs.nix
];
environment.systemPackages = [pkgs.minio-client];
sops.secrets.minio = {
owner = "minio";
group = "minio";
mode = "0600";
restartUnits = ["minio.service"];
};
services.minio = {
enable = true;
region = "us-east-1";
consoleAddress = "100.104.42.96:9006";
listenAddress = "100.104.42.96:9005";
rootCredentialsFile = config.sops.secrets.minio.path;
dataDir = ["/var/lib/mounted/minio/data"];
configDir = "/var/lib/mounted/minio/config";
};
}

View file

@ -41,11 +41,6 @@
accessControlAllowOriginList = "https://daphbot.notohh.dev";
};
};
cors-allow-all = {
headers = {
accessControlAllowOriginList = "*";
};
};
};
routers = {
api = {
@ -138,28 +133,6 @@
tls.domains = [{main = "*.flake.sh";}];
tls.certresolver = "production";
};
attic = {
rule = "Host(`cache.flake.sh`)";
entrypoints = ["websecure"];
service = "attic";
tls.domains = [{main = "*.flake.sh";}];
tls.certresolver = "production";
};
minio = {
rule = "Host(`s3.flake.sh`)";
entrypoints = ["websecure"];
service = "minio";
tls.domains = [{main = "*.flake.sh";}];
tls.certresolver = "production";
middlewares = "cors-allow-all";
};
minio-web = {
rule = "Host(`minio.flake.sh`)";
entrypoints = ["websecure"];
service = "minioadmin";
tls.domains = [{main = "*.flake.sh";}];
tls.certresolver = "production";
};
};
services = {
forgejo.loadBalancer = {
@ -178,9 +151,6 @@
neko.loadBalancer.servers = [{url = "http://100.104.42.96:8085";}];
justlog.loadBalancer.servers = [{url = "http://100.121.201.47:8025";}];
ntfy-sh.loadBalancer.servers = [{url = "http://100.104.42.96:8090";}];
attic.loadBalancer.servers = [{url = "http://100.104.42.96:8200";}];
minio.loadBalancer.servers = [{url = "http://100.104.42.96:9005";}];
minio-web.loadBalancer.servers = [{url = "http://100.104.42.96:9006";}];
};
};
};

View file

@ -1,6 +1,7 @@
foundry-username: ENC[AES256_GCM,data:YYZ5Q6UlWPqbH8iYhqoR6pYFmQ3NAjY=,iv:pRjblo74gqbYYJTy/edn1bOsEKjHyvmXPwp6D/t6vxE=,tag:G5Xt+dVT51pU6kYdDra0Rw==,type:str]
foundry-password: ENC[AES256_GCM,data:c6cO1vV/thC7U1ha/1FiVVzk0KtvUnTRgJ9ysyO35uYhVK2ggyLUMAqBaXUduf4CXQ==,iv:jdnuyZyoaLN4waGI9MlU0coWg1adDIShrQykfuBq3UM=,tag:HNkaY/8k7JKQVCjjPlkO/w==,type:str]
cloudflare-api-key: ENC[AES256_GCM,data:ZEYzFht24xogGov/Dkk9MQm0CZ/GPHvVgC7manQ2hOp1ljUOPrlHlShnNZnXctkv0VSwkQUARddCFQbAno79bUM=,iv:V54QifTBvy+5Q5JErfv2IRW0wpBn7q9KozAogy94gwU=,tag:1tz/0lNHLUTiYOH4V1jkDA==,type:str]
rusty-auth-token: ENC[AES256_GCM,data:FZ1bC6wijkHPII2AlYnDq9P6pFq2qWVo,iv:92ZH8N52sml8ZkvfuXf472Jj/JbnaWfy38AX6GTvszA=,tag:Suq7P86MhjUx0WmPuGpCUA==,type:str]
gluetun: ENC[AES256_GCM,data:yL+LOPpwU+CAtbjc7YWbNUOTpDhq4mH3aJOl3hPYxgbFUba6NVJQ73mFt7BF+PXeqA/ilbZJW3GbCfAoXWLDP3qzFYqs9XeEV/FhHznkVHB88xdr+Fbv7cuCEa7PnnYbSiwr/R68EZLsGSr+u99+uu1TH6ABXG9nJna0bkwkTfx6ui/Yc2GndWS+Ew==,iv:rYdMasJS1LqMGvMYFyAdEkoTLtOHrZHGcfBOvbn63bg=,tag:YNcP/pvgKHPYNhAwVGdFHw==,type:str]
authelia-jwt: ENC[AES256_GCM,data:cAn2uZeSGjG2FqTFgZkupcSutCZLvZXCNBsxuUQvGX4=,iv:1OTDQzQwaPTmnTEB4TfnxU6l8CdBAlHfqFThE8QZa6A=,tag:KJ6aYDczHFajhLJHemfIQw==,type:str]
authelia-sek: ENC[AES256_GCM,data:yWhAvl1AuEcrUCFAv2vcz6A8BLEIMIz9sqbFRAriHpw=,iv:i887EZgqGtRfFs6mHHAJry0XfQzvrTaDliz8PRh7oLs=,tag:dmn2GSG8gZk9CVXMNmH1Dw==,type:str]
@ -11,9 +12,6 @@ basegbot-runner-token: ENC[AES256_GCM,data:US3VkT2+S9sKPJ7zPNNBudV/884/cNfmEZVdm
nixgarden-runner-token: ENC[AES256_GCM,data:3XxAKiWHxFLicQPebYwBhqL+fMft8iCkikyveIb9O++X1YuygNFRLw==,iv:DT58z4RvmVQth/4VubcMIT55CyGk1/3j5s7IQ/9Bw8s=,tag:oXDNZPTQ02Ybe9pqN5zHow==,type:str]
searxng-secret: ENC[AES256_GCM,data:SSvspQVRp79zJq0hzaqzuJIWFtVUoaqHGH9PXUViiXb9UKJM34t82o2J5K69RcOSBL7HadqmxcT4Eh8e8ZUJnquD7rrPdWb2Ih4zS7MmG94=,iv:wrQNNU7CjzfePNe1tWEXmN30vC0jTp+PtgfI3/XH22g=,tag:QAt/QL846hLLIMLQZUM3mQ==,type:str]
smtp2go-pwd: ENC[AES256_GCM,data:03OCDnG73T8B2Q3TJLt1kg==,iv:QFI34ZoM88AuGvOwVmxsplkNKWFgwqBn1AFdHNREses=,tag:9YABs0nAh7Cx2vybuIW9sA==,type:str]
minio: ENC[AES256_GCM,data:ePCaN1wRnZheBsjEcAPizfGtZskS9rPxfP1kvvQvR+i3TGfwvAx2V96k59pt5GIqvxADi/lBuc4Er1EWQkMrhxMJlN4QmgU9LFOF,iv:81GUSVYe4LL/pI4Wy0CHSYwZvWNzWRBHR+KrCPEN430=,tag:9VFazb1U1XCpImZsNKpJyw==,type:str]
attic: ENC[AES256_GCM,data:ak5d66LuN2Bsn3OY0/jYt5F5BUpNTt+aWXuR3rBo11T+j4V9wbNzPi72RZuABcK3eCtU7MYn0Sp/rcjnnjEXJ6JewO3Mh+79Qq/oI+ou+NwGpqQ0l6xPBOSbsbOmwRQLzGtjQD3J5t4qb0pe4ewNillAXuFDXElY1NQmgdB382/yIAUVkk1dbTdfo4/ZcTWc5QqCg+5Z/jx7yZ8qGdhaeEWd8zYNUjqmgwdiNNpPkTUWPCKQjhShDotbBf15DXnk0P3odVcLjIimVmeZm3+1PxKxCuJpYGlgBjr+Lzh9OsYI3MNyx8s=,iv:U7Cu0KyHxFYO8BqLjY5aJUY/77GepCtA91iRSrb7M58=,tag:cNSiTztnnjAQcPOmx4o6qQ==,type:str]
davfs2: ENC[AES256_GCM,data:N8Fmv30bhSjLVaNS2cUCJ+3LDzWCkVjjwT6BfvbkBp8JcBDBs7JYFnlGZItlyNvMvXbkEZr8X4gfYQw=,iv:xiq0gE2hV3U2eqyWZeoeSxHWQQPrO9H+z/PynwwM8U0=,tag:SCG+OdpgV106oAMh/lxJxw==,type:str]
sops:
kms: []
gcp_kms: []
@ -29,8 +27,8 @@ sops:
YWNQcURKMSs2U0pOa3E0cTdCZ3RnalkKGayA7DBUQS+kn+6OYVBc6oTunF0qeZdt
5b9DLHgh0HRWFm09XGSOog8K315d93Wzblw1My1/dXeEQX/ryinqUQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-01-04T19:18:34Z"
mac: ENC[AES256_GCM,data:ZsoHocjIzcVonvAist4pyBbpPEWT2MYcvgq4A1uACY/FU+voIi5ZN2qtPc5dj5kyogwYFO3V3DaFlbwqMJnab5IdYatVhWdICKUl65M0IlLSM4YYOKygHnThCTpQvi0ZptoY+tGrr9vEjXsAcwyg1lUYOoedJjesWirfus6AZD8=,iv:jXGdQvYARD3wuaNsFkFWSvzNVzxCFXzcfMyi3ySgcsU=,tag:PxlBvsMjMoMsrseGw5iM9w==,type:str]
lastmodified: "2023-12-31T17:49:39Z"
mac: ENC[AES256_GCM,data:YO6sOYkE6pMRZ30H6N/fkZrT7HK1p7CIN3+HgJUrWDesCMEx+ttrWODST3irAYfud0/gFIMX0amrHqyJqmFd39uic/djnz833ptSc5NhEljMw65mgNGMdpdfI5vWCAd8QZ8Gjamf5I+e0NywQ84IGjfHszDtz1jqbjUIMBq2DjU=,iv:cMdTOXULPdgoJ5RuMr4G7JrBlW9l3ZIWWhDgJm4LUZA=,tag:p1tOEoYYlSNNqbGjVOmRmA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1