Compare commits

..

No commits in common. "4809eb83a4d784480a1e821ef1ffeb9474ce206c" and "fa03b49419d9ffc1b88a9c5553324b94880f3eff" have entirely different histories.

13 changed files with 197 additions and 43 deletions

View file

@ -1,14 +1,68 @@
{ {
"nodes": { "nodes": {
"attic": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1692225040,
"narHash": "sha256-jbQNvkgWGioiC6S39dZVyn6us8p/DlEvm5hQKEYkzDU=",
"owner": "zhaofengli",
"repo": "attic",
"rev": "b43d12082e34bceb26038bdad0438fd68804cfcd",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "attic",
"type": "github"
}
},
"crane": { "crane": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": [
"flake-utils": "flake-utils", "attic",
"flake-compat"
],
"flake-utils": [
"attic",
"flake-utils"
],
"nixpkgs": [
"attic",
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1677892403,
"narHash": "sha256-/Wi0L1spSWLFj+UQxN3j0mPYMoc7ZoAujpUF/juFVII=",
"owner": "ipetkov",
"repo": "crane",
"rev": "105e27adb70a9890986b6d543a67761cbc1964a2",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"crane_2": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"ironbar", "ironbar",
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1693439040, "lastModified": 1693439040,
@ -26,7 +80,7 @@
}, },
"deploy-rs": { "deploy-rs": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -47,6 +101,22 @@
} }
}, },
"flake-compat": { "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, "flake": false,
"locked": { "locked": {
"lastModified": 1668681692, "lastModified": 1668681692,
@ -62,7 +132,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_2": { "flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1673956053,
@ -97,6 +167,21 @@
} }
}, },
"flake-utils": { "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"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
}, },
@ -114,7 +199,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_3" "systems": "systems_3"
}, },
@ -203,12 +288,12 @@
}, },
"ironbar": { "ironbar": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane_2",
"naersk": "naersk", "naersk": "naersk",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1695668783, "lastModified": 1695668783,
@ -352,6 +437,22 @@
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": {
"lastModified": 1685004253,
"narHash": "sha256-AbVL1nN/TDicUQ5wXZ8xdLERxz/eJr7+o8lqkIOVuaE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e01645c40b92d29f3ae76344a6d654986a91a91",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1694908564, "lastModified": 1694908564,
"narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=",
@ -385,6 +486,7 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"attic": "attic",
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
@ -397,6 +499,33 @@
} }
}, },
"rust-overlay": { "rust-overlay": {
"inputs": {
"flake-utils": [
"attic",
"crane",
"flake-utils"
],
"nixpkgs": [
"attic",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1675391458,
"narHash": "sha256-ukDKZw922BnK5ohL9LhwtaDAdCsJL7L6ScNEyF1lO9w=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "383a4acfd11d778d5c2efcf28376cbd845eeaedf",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
"ironbar", "ironbar",
@ -423,9 +552,9 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_2": { "rust-overlay_3": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": [ "nixpkgs": [
"ironbar", "ironbar",
"nixpkgs" "nixpkgs"
@ -450,7 +579,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1695284550, "lastModified": 1695284550,

View file

@ -25,6 +25,10 @@
url = "github:JakeStanger/ironbar"; url = "github:JakeStanger/ironbar";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
attic = {
url = "github:zhaofengli/attic";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = { nix-index-database = {
url = "github:Mic92/nix-index-database"; url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View file

@ -4,6 +4,7 @@ inputs: let
hmModule = inputs.home-manager.nixosModules.home-manager; hmModule = inputs.home-manager.nixosModules.home-manager;
hyprlandModule = inputs.hyprland.homeManagerModules.default; hyprlandModule = inputs.hyprland.homeManagerModules.default;
ironbarModule = inputs.ironbar.homeManagerModules.default; ironbarModule = inputs.ironbar.homeManagerModules.default;
atticdModule = inputs.attic.nixosModules.atticd;
nix-index-Module = inputs.nix-index-database.hmModules.nix-index; nix-index-Module = inputs.nix-index-database.hmModules.nix-index;
inherit (inputs.nixpkgs.lib) nixosSystem; inherit (inputs.nixpkgs.lib) nixosSystem;
in { in {
@ -14,6 +15,7 @@ in {
./tsuki ./tsuki
sopsModule sopsModule
hmModule hmModule
atticdModule
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
@ -38,6 +40,7 @@ in {
./sakura ./sakura
sopsModule sopsModule
hmModule hmModule
atticdModule
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;

View file

@ -5,7 +5,7 @@
settings = { settings = {
global = { global = {
address = "0.0.0.0"; address = "0.0.0.0";
server_name = "matrix.flake.sh"; server_name = "matrix.notohh.dev";
allow_registration = true; allow_registration = true;
allow_federation = false; allow_federation = false;
allow_encryption = true; allow_encryption = true;

View file

@ -10,6 +10,7 @@
./dashdot.nix ./dashdot.nix
./grafana.nix ./grafana.nix
./vaultwarden.nix ./vaultwarden.nix
./atticd.nix
./conduit.nix ./conduit.nix
./cloudflareddns.nix ./cloudflareddns.nix
]; ];

View file

@ -19,7 +19,7 @@
server = { server = {
HTTP_PORT = 3200; HTTP_PORT = 3200;
DOMAIN = "git.notohh.dev"; DOMAIN = "git.notohh.dev";
ROOT_URL = "https://git.flake.sh"; ROOT_URL = "https://git.notohh.dev";
LANDING_PAGE = "/explore/repos"; LANDING_PAGE = "/explore/repos";
}; };
database = { database = {

View file

@ -3,8 +3,8 @@ _: {
enable = true; enable = true;
settings = { settings = {
server = { server = {
root_url = "https://metrics.flake.sh"; root_url = "https://metrics.notohh.dev";
domain = "metrics.flake.sh"; domain = "metrics.notohh.dev";
enforce_domain = true; enforce_domain = true;
http_addr = "0.0.0.0"; http_addr = "0.0.0.0";
http_port = 3100; http_port = 3100;

View file

@ -3,8 +3,8 @@ _: {
enable = true; enable = true;
settings = { settings = {
port = 3300; port = 3300;
domain = "scratch.flake.sh"; domain = "scratch.notohh.dev";
allowOrigin = ["scratch.flake.sh"]; allowOrigin = ["scratch.notohh.dev"];
allowAnonymous = true; allowAnonymous = true;
allowFreeURL = true; allowFreeURL = true;
allowEmailRegister = false; allowEmailRegister = false;

View file

@ -46,52 +46,59 @@
middlewares = "authelia"; middlewares = "authelia";
}; };
foundryvtt = { foundryvtt = {
rule = "Host(`foundry.flake.sh`)"; rule = "Host(`foundry.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "foundryvtt"; service = "foundryvtt";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
forgejo = { gitea = {
rule = "Host(`git.flake.sh`)"; rule = "Host(`git.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "forgejo"; service = "gitea";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
rustypaste = { rustypaste = {
rule = "Host(`i.flake.sh`)"; rule = "Host(`img.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "rustypaste"; service = "rustypaste";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
grafana = { grafana = {
rule = "Host(`metrics.flake.sh`)"; rule = "Host(`metrics.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "grafana"; service = "grafana";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
woodpecker-server = { woodpecker-server = {
rule = "Host(`ci.flake.sh`)"; rule = "Host(`ci.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "woodpecker-server"; service = "woodpecker-server";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production";
};
atticd = {
rule = "Host(`cache.notohh.dev`)";
entrypoints = ["websecure"];
service = "atticd";
tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
hedgedoc = { hedgedoc = {
rule = "Host(`scratch.flake.sh`)"; rule = "Host(`scratch.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "hedgedoc"; service = "hedgedoc";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
vaultwarden = { vaultwarden = {
rule = "Host(`vault.flake.sh`)"; rule = "Host(`vault.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "vaultwarden"; service = "vaultwarden";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
}; };
@ -100,10 +107,11 @@
dashdot.loadBalancer.servers = [{url = "http://localhost:4000";}]; dashdot.loadBalancer.servers = [{url = "http://localhost:4000";}];
hugo.loadBalancer.servers = [{url = "http://localhost:1313";}]; hugo.loadBalancer.servers = [{url = "http://localhost:1313";}];
foundryvtt.loadBalancer.servers = [{url = "http://localhost:30000";}]; foundryvtt.loadBalancer.servers = [{url = "http://localhost:30000";}];
forgejo.loadBalancer.servers = [{url = "http://localhost:3200";}]; gitea.loadBalancer.servers = [{url = "http://localhost:3200";}];
rustypaste.loadBalancer.servers = [{url = "http://localhost:8000";}]; rustypaste.loadBalancer.servers = [{url = "http://localhost:8000";}];
grafana.loadBalancer.servers = [{url = "http://localhost:3100";}]; grafana.loadBalancer.servers = [{url = "http://localhost:3100";}];
woodpecker-server.loadBalancer.servers = [{url = "http://localhost:8200";}]; woodpecker-server.loadBalancer.servers = [{url = "http://localhost:8200";}];
atticd.loadBalancer.servers = [{url = "http://localhost:8100";}];
hedgedoc.loadBalancer.servers = [{url = "http://localhost:3300";}]; hedgedoc.loadBalancer.servers = [{url = "http://localhost:3300";}];
vaultwarden.loadBalancer.servers = [{url = "http://localhost:8222";}]; vaultwarden.loadBalancer.servers = [{url = "http://localhost:8222";}];
}; };

View file

@ -4,7 +4,7 @@
package = pkgs.vaultwarden-postgresql; package = pkgs.vaultwarden-postgresql;
dbBackend = "postgresql"; dbBackend = "postgresql";
config = { config = {
DOMAIN = "https://vault.flake.sh/"; DOMAIN = "https://vault.notohh.dev/";
SIGNUPS_ALLOWED = false; SIGNUPS_ALLOWED = false;
DATABASE_URL = "postgresql://vaultwarden:vaultwarden@192.168.1.211:5432/vaultwarden"; DATABASE_URL = "postgresql://vaultwarden:vaultwarden@192.168.1.211:5432/vaultwarden";
LOG_LEVEL = "Info"; LOG_LEVEL = "Info";

View file

@ -6,10 +6,10 @@
environment = { environment = {
WOODPECKER_SERVER_ADDR = ":8200"; WOODPECKER_SERVER_ADDR = ":8200";
WOODPECKER_GRPC_ADDR = ":8300"; WOODPECKER_GRPC_ADDR = ":8300";
WOODPECKER_HOST = "https://ci.flake.sh"; WOODPECKER_HOST = "https://ci.notohh.dev";
WOODPECKER_OPEN = "false"; WOODPECKER_OPEN = "false";
WOODPECKER_GITEA = "true"; WOODPECKER_GITEA = "true";
WOODPECKER_GITEA_URL = "https://git.flake.sh"; WOODPECKER_GITEA_URL = "https://git.notohh.dev";
WOODPECKER_ADMIN = "notohh"; WOODPECKER_ADMIN = "notohh";
WOODPECKER_AGENT_SECRET = config.sops.secrets.woodpecker-agent-secret.path; WOODPECKER_AGENT_SECRET = config.sops.secrets.woodpecker-agent-secret.path;
WOODPECKER_LOG_LEVEL = "debug"; WOODPECKER_LOG_LEVEL = "debug";

View file

@ -26,30 +26,38 @@
service = "api@internal"; service = "api@internal";
}; };
uptime-kuma = { uptime-kuma = {
rule = "Host(`status.flake.sh`)"; rule = "Host(`status.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "uptime-kuma"; service = "uptime-kuma";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
gotify = { gotify = {
rule = "Host(`gotify.flake.sh`)"; rule = "Host(`gotify.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "gotify"; service = "gotify";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "*.notohh.dev";}];
tls.certresolver = "production";
};
neko = {
rule = "Host(`neko.notohh.dev`)";
entrypoints = ["websecure"];
service = "neko";
tls.domains = [{main = "neko.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
conduit = { conduit = {
rule = "Host(`matrix.flake.sh`)"; rule = "Host(`matrix.notohh.dev`)";
entrypoints = ["websecure"]; entrypoints = ["websecure"];
service = "conduit"; service = "conduit";
tls.domains = [{main = "*.flake.sh";}]; tls.domains = [{main = "matrix.notohh.dev";}];
tls.certresolver = "production"; tls.certresolver = "production";
}; };
}; };
services = { services = {
uptime-kuma.loadBalancer.servers = [{url = "http://100.87.54.48:4000";}]; uptime-kuma.loadBalancer.servers = [{url = "http://100.87.54.48:4000";}];
gotify.loadBalancer.servers = [{url = "http://100.87.54.48:3000";}]; gotify.loadBalancer.servers = [{url = "http://100.87.54.48:3000";}];
neko.loadBalancer.servers = [{url = "http://100.110.140.130:8080";}];
conduit.loadBalancer.servers = [{url = "http://100.121.201.47:6167";}]; conduit.loadBalancer.servers = [{url = "http://100.121.201.47:6167";}];
}; };
}; };

View file

@ -94,6 +94,7 @@
qemu_kvm qemu_kvm
pinentry-gtk2 pinentry-gtk2
jdk17 jdk17
attic-client
comma comma
inputs.matugen.packages.x86_64-linux.default inputs.matugen.packages.x86_64-linux.default
]; ];