Compare commits

...

5 commits

11 changed files with 114 additions and 7 deletions

View file

@ -82,11 +82,7 @@ in
# https://wiki.hyprland.org/Configuring/Binds
bind = [
# Programs
(
if config.profile.programs.wezterm.enable
then "$mod, RETURN, exec, wezterm-gui"
else "$mod, RETURN, exec, kitty"
)
"$mod, RETURN, exec, kitty"
"$mod, E, exec, thunar"
"$mod, B, exec, microsoft-edge"
"$mod, D, exec, rofi -show drun -replace -i"

View file

@ -11,6 +11,7 @@
./go.nix
./jellyfin.nix
./microsoft-edge.nix
./mongodb-compass.nix
./mpv.nix
./neovide.nix
./neovim.nix

View file

@ -0,0 +1,11 @@
{ config, lib, unstable, ... }:
let
cfg = config.profile.programs.mongodb-compass;
sopsFile = ../../secrets/bareksa.yaml;
in
{
config = lib.mkIf cfg.enable {
sops.secrets."bareksa/mongodb-compass" = { inherit sopsFile; };
home.packages = [ unstable.mongodb-compass ];
};
}

View file

@ -6,6 +6,9 @@ in
config = lib.mkIf cfg.enable {
programs.zathura = {
enable = true;
options = {
selection-clipboard = "clipboard";
};
};
};
}

View file

@ -13,6 +13,7 @@ in
redmage-demo.enable = lib.mkEnableOption "redmage-demo podman";
qbittorrent.enable = lib.mkEnableOption "qbittorrent podman";
openobserve.enable = lib.mkEnableOption "openobserve podman";
minecraft.enable = mkEnableOption "minecraft server podman";
servarr = {
enable = mkEnableOption "servarr group";

View file

@ -77,6 +77,7 @@
};
programs = {
mongodb-compass.enable = lib.mkEnableOption "mongodb-compass";
yazi.enable = lib.mkOption {
type = lib.types.bool;
default = true;

View file

@ -66,5 +66,8 @@
programs.easyeffects.enable = true;
steam.enable = true;
programs.wezterm.enable = true;
programs.mongodb-compass.enable = true;
podman.enable = true;
};
}

View file

@ -37,6 +37,7 @@
servarr.real-debrid-manager.enable = false;
servarr.rdtclient.enable = true;
openobserve.enable = true;
minecraft.enable = true;
};
docker = {

View file

@ -1,4 +1,5 @@
bareksa:
mongodb-compass: ENC[AES256_GCM,data:l4zKnbAKQURlNzLS2CDQMCcZCCyZr8MdbJaHYjGtXnNde7zyS/wkPMKpUzvp39qhFZ87w54n85djdIjW9a3cyjx1Z8L800UFrEAZqiX2CNp1YLZSdyIuq+aD36+H9+3ceB35Z2eeHaLTDUUWK4g+WL07kglwx/IV5wBM0K7CO1uEd6iLcHFxUMUYt/N8l05LmXK95VwVXwMKDwsz5uxrPH5Eao8VG9J5Xh7B9tqY9SyLOhr06W8Y3iyvLHZmlpix0dectSoBTNPY4OM2Uv94Qxy96i8Qv0KMwrYQ8M2FcDXrzV+jXq+6dV/E+8xuqGEn5CDqNDZhaEWZ7VKkeY6Tq7INQqm2S020OfJviemlYXURe/j1a8thoeZGDZeMBTGL+0+fB5VVZoN4Yjmy3ezWMhE+zouvkpCX6nWdE6rTwLOoErtBMktjZTI/DcGBN8dprNYpAclXp16RWYYvSHJEeLOCxCjhi5oySqFgtychmJBDO6L0DW3BwRqe5qhK9wSOWpwZUEp4FcVrorgzKJCzfYJYox5ctrd37mXhikp7aB0ADVwFAV7i3/RTKM+C9H26nrIdl6fF1wyrytt2Ge5MPsHutaj1LB2xcyLGebFTis8fyycDchIpF8PYqulyiw+YIrXiF0MZo7N/G91G83rNT3SMuEQpeTHv4H3wuWWHoiSXIoYhCOuJNoyxSZMi3ZTcVQmgSv0oant3Cxz0+/MrjBl0tgkpeFWdugMKuvl3GWO0uMmLppKUkfUa1vxLoxZ/rk/ATfz/jkg0gQcZ01PJij4iJU/EDByKU0lTcyCd7aaLLG9u96sKn4ymxBjkP1Z9bKOaqtybXB1R9X4Jw12UtsjFhNEyClyrRC9xQ9H0vPh8oWzxyKbIW9KId0XxvFMLhKH6TmWrX2+L324xqkRS5VCtS3YhDtLNJXA8gjj9G2LjYf66rI0Tir9YaYSmiiuE8J0rOoKEJjuaLBwQP1PQo9NsTj4fG7mOUqCOPGp66oiWGRtxuC9j2j841gUUvjzkNOJ2Pj077yQNMO5rRBG1l4EoNhaAzZygp0dGp03np2WTDbqpCtBB6GuQcBnzc5pdzTtFndbOfbHzC9VaG/1Y9FfNEK4TaWm0J7ep4VDa3bzKvUYYb9lSwaAIF/pmP3dMDiRgcn3Ck8uQlHyRxvK+eqNqJpObeiKKsvKfKeniqnpJwUvCEf8yczENu25A/3mRYJW6yWCERxZxiPZn6RdOu/bjZ6Y1wO80lxJ5xGKHpWemAyar8aLuOsPpbbsVWFpx8TG29Z50SGh7TNdgHBJJtuY8voMxsrxMceDhWkNDw1/3IP45RjW2FQ0a/xQ/MAgoCdFopOmzj7lc2zdU6Py5O2goznOrnyQdkik4RwCPenBT1p3WLZjSnH7ymc7elq8bQn5zUUHaDK7oQnIYrHtlYSsSuKY+cSjd3v72HbF85XvIal2LzwxgURafWJ0AUU++SNmR2lKT4s3azVywT/gqq6fVEm5Ffu5hdsTGMU5QgYFRfpPrB7IAYQlpVk8VfYmim5/IY0TG1/0Qv4ylWU2chC+Spof04PmCEQy5MnQru/LP2s7MQ/ZlSaHfZgR2NGdryf2Dyu4FTEZSY08Cdj3EthdvC1aAeiz1yuDpunbZPqF1Oop+lCBfZlWTpc06CdA26+0SjY5EUFtazzuQOY0WsO54dcj0CIfAxpQJEQ==,iv:xu/zsGEV2RWyfKtKmEo9yajNO3RMcaxdP/6Sn4sQQtA=,tag:RpfrCMYfEjJKgwjr+AJ4KA==,type:str]
openvpn: ENC[AES256_GCM,data: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,iv:amxpN4aoRTwsRyhdwjtyGgq5d7AGhGmgl4Xb5SUYD24=,tag:T+dE4XtgSsjBrXIyu6Py4g==,type:str]
sops:
kms: []
@ -15,8 +16,8 @@ sops:
TlB6MjhXY1VPUkJQS05hdFVGbGlIdUEKhK2RFfuDZUXdDUL/ueJnRP65lAGFVPXg
zqZdgIU6/CKKRjguw4LC2aO75y2tISRrACvvzjjp0LED6rZQfZspWg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-07-12T05:06:34Z"
mac: ENC[AES256_GCM,data:AgRjY8T0JLuI/YMeEtGmzu8RcJQCs9PJKzM+yNRbP23GNQGkNEo50WqFqxgphuohpYNLlkdCnA0UFZYxF1iEjJehPMVY99j7UnP41G5fMIzPqW7oXN88VJ+N9ZnyIBk9SOTEJMsYtz5lzI3wRufJpf8RtHLuIHGyMU7u6k3Wxok=,iv:+evH8GBEMJZJGUU5mP+1/8yYr/D1ZitCt4QJ0PHQCzs=,tag:WPQ7BWn+NkJYvOwmvqAIew==,type:str]
lastmodified: "2024-07-18T08:14:16Z"
mac: ENC[AES256_GCM,data:k68TRZf3l41fn2zWlS8snKL0vYtyIC/NL0F90wopco3X9flR0XvTshlLwHoSfgVbrwK5EAbnEXdO1H2GY9ZEOdjCwSugtx7ass895/6UhJLGM7hm+ybMN9LmHAwuCRWN+ezKE4a4vLOeZpGqEDZ9PfDB/afTpZYEEuGCpk8cp2I=,iv:lnth49LtTCB/9LXDhy32xFMVEgtd5f3LPgFczSU+8M0=,tag:XzRUfwIQPn1uEFJJmg1AQg==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -41,6 +41,7 @@ in
# 10.88.0.6 -> Suwayomi Flaresolverr
# 10.88.1.1 -> Pihole
imports = [
./minecraft.nix
./openobserve.nix
./pihole.nix
./qbittorrent.nix

View file

@ -0,0 +1,88 @@
{ config, lib, ... }:
let
name = "minecraft";
podman = config.profile.podman;
inherit (lib) mkIf strings;
ip = "10.88.200.1";
# image = "docker.io/05jchambers/legendary-minecraft-purpur-geyser:latest";
image = "docker.io/itzg/minecraft-bedrock-server:latest";
rootVolume = "/nas/podman/minecraft/hutasuhut";
domain = "${name}.tigor.web.id";
user = config.profile.user;
uid = toString user.uid;
gid = toString user.gid;
users = [
{
username = "CrowFX7414";
xuid = "2533274941938385";
}
];
in
{
config = mkIf (podman.enable && podman.${name}.enable) {
services.caddy.virtualHosts.${domain}.extraConfig = /*html*/ ''
header Content-Type text/html
respond <<EOF
<!DOCTYPE html>
<html>
<head>
<title>Minecraft Server</title>
</head>
<body>
<h1>Congrats! The minecraft server should be up!</h1>
<h2>
This server is invitation only.
Please contact the server owner for more info.
</h2>
<p>Server Address: <b>${domain}</b></p>
<p>Server Port: <b>19132</b></p>
</body>
</html>
EOF 200
'';
system.activationScripts."podman-${name}" = ''
mkdir -p ${rootVolume}
chown ${uid}:${gid} ${rootVolume}
'';
virtualisation.oci-containers.containers.${name} = {
inherit image;
hostname = name;
autoStart = true;
user = "${uid}:${gid}";
environment = {
UID = uid;
GID = gid;
EULA = "TRUE";
TZ = "Asia/Jakarta";
SERVER_NAME = "Hutasuhut";
DEFAULT_PLAYER_PERMISSION_LEVEL = "operator";
LEVEL_NAME = "Hutasuhut";
MAX_THREADS = "0"; # Use as many as possible
ALLOW_LIST_USERS = strings.concatStringsSep "," (
map (user: "${user.username}:${user.xuid}") users
);
};
ports = [
# Java Edition Ports
# "25565:25565/udp"
# "25565:25565"
# Bedrock Edition Ports
"19132:19132/udp"
"19132:19132"
];
volumes = [
"${rootVolume}:/data"
];
extraOptions = [
"--network=podman"
"--ip=${ip}"
];
labels = {
"io.containers.autoupdate" = "registry";
};
};
};
}