catarina: btrfs update

This commit is contained in:
L-Nafaryus 2024-02-29 16:15:16 +05:00
parent ab2d164266
commit cefb8be600
Signed by: L-Nafaryus
GPG Key ID: 582F8B0866B294A1
29 changed files with 777 additions and 35 deletions

@ -1 +1 @@
Subproject commit 3d189e205d5fc4194726010e5f31178235c1c046
Subproject commit c7dc80d23b6bf67ae8e69545b430bb13f000fa03

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,26 @@
icon-enabled=true
motd-enabled=true
motds=[
{
icon=goodomens-logo
line1="<#ffb3e8>GoodOmens | <gradient:#bc5c91:#ffb3e8:white>Begin your journey carefully..."
line2="Declarative Paper Server on NixOS"
}
]
player-count-settings {
allow-exceeding-maximum=false
disable-player-list-hover=true
fake-players {
fake-players="25%"
fake-players-enabled=false
}
hide-player-count=false
just-x-more-settings {
just-x-more-enabled=false
x-value=3
}
max-players=69
max-players-enabled=false
}

View File

@ -0,0 +1,11 @@
tablist:
header:
- "&8&l&m-------------------------------"
- "&c&lGoodOmens"
- "&7mc.elnafo.ru"
- "&8&m-----------------------"
footer:
- " "
- "&eMap: &bmc.elnafo.ru/map"
- "&7%date%"
- "&8&l&m-------------------------------"

View File

@ -0,0 +1,85 @@
config-version: 2
settings:
event-listeners:
BlockSpreadEvent: true
BlockFadeEvent: true
BlockFormEvent: true
EntityExplodeEvent: true
LeavesDecayEvent: true
FluidLevelChangeEvent: true
StructureGrowEvent: true
BlockExplodeEvent: true
EntityChangeBlockEvent: true
BlockBurnEvent: true
EntityBlockFormEvent: true
BlockGrowEvent: true
BlockBreakEvent: true
ChunkPopulateEvent: true
BlockPlaceEvent: true
PlayerChunkLoadEvent: false
PlayerQuitEvent: false
ChunkLoadEvent: true
PlayerMoveEvent: false
BlockPistonRetractEvent: false
BlockPhysicsEvent: false
PlayerJoinEvent: false
BlockPistonExtendEvent: false
BlockFromToEvent: false
world-settings:
default:
invisible-blocks:
- minecraft:tall_grass
- minecraft:fern
- minecraft:grass
- minecraft:large_fern
iterate-up-base-blocks:
- minecraft:netherrack
- minecraft:glowstone
- minecraft:soul_sand
- minecraft:soul_soil
- minecraft:gravel
- minecraft:warped_nylium
- minecraft:crimson_nylium
- minecraft:nether_gold_ore
- minecraft:ancient_debris
- minecraft:nether_quartz_ore
- minecraft:magma_block
- minecraft:basalt
color-overrides:
biomes:
foliage:
minecraft:jungle: '#1f8907'
minecraft:mangrove_swamp: '#6f9623'
minecraft:sparse_jungle: '#1f8907'
minecraft:bamboo_jungle: '#1f8907'
minecraft:dark_forest: '#1c7b07'
grass: {}
water: {}
blocks:
minecraft:oxeye_daisy: '#D6E8E8'
minecraft:glass: '#FFFFFF'
minecraft:white_tulip: '#D6E8E8'
minecraft:mycelium: '#6F6265'
minecraft:spruce_leaves: '#619961'
minecraft:pink_tulip: '#EBC5FD'
minecraft:rose_bush: '#9B221A'
minecraft:blue_orchid: '#2ABFFD'
minecraft:orange_tulip: '#BD6A22'
minecraft:peony: '#EBC5FD'
minecraft:sunflower: '#FFEC4F'
minecraft:allium: '#B878ED'
minecraft:wither_rose: '#211A16'
minecraft:birch_leaves: '#80A755'
minecraft:lava: '#EA5C0F'
minecraft:lily_of_the_valley: '#FFFFFF'
minecraft:poppy: '#ED302C'
minecraft:attached_melon_stem: '#E0C71C'
minecraft:red_tulip: '#9B221A'
minecraft:dandelion: '#FFEC4F'
minecraft:pink_petals: '#FFB4DB'
minecraft:attached_pumpkin_stem: '#E0C71C'
minecraft:lilac: '#B66BB2'
minecraft:cornflower: '#466AEB'
minecraft:terracotta: '#9E6246'
minecraft:lily_pad: '#208030'
minecraft:azure_bluet: '#F7F7F7'

View File

@ -0,0 +1,95 @@
config-version: 2
settings:
language-file: lang-en.yml
debug-mode: false
update-checker: true
web-address: http://localhost:8088
web-directory:
path: web
auto-update: true
image-quality:
compress-images:
enabled: false
value: 0.0
internal-webserver:
enabled: true
bind: 0.0.0.0
port: 8088
ui:
coordinates:
enabled: true
link:
enabled: true
sidebar:
pinned: pinned
page-title: 'Map - GoodOmens'
commands:
main-command-label: squaremap
main-command-aliases:
- map
render-progress-logging:
enabled: true
interval-seconds: 1
world-settings:
default:
map:
enabled: true
display-name: '{world}'
order: 0
icon: ''
max-render-threads: -1
iterate-up: false
max-height: -1
biomes:
enabled: true
blend-biomes: 3
glass:
clear: true
lava:
checkerboard: true
water:
clear-depth: true
checkerboard: false
zoom:
maximum: 3
default: 3
extra: 2
background-render:
enabled: true
max-chunks-per-interval: 1024
interval-seconds: 3
max-render-threads: -1
markers:
update-interval-seconds: 5
spawn-icon:
enabled: true
show-controls: true
default-hidden: false
layer-priority: 0
z-index: 0
world-border:
enabled: true
show-controls: true
default-hidden: false
layer-priority: 1
z-index: 1
visibility-limits:
- type: world-border
enabled: 'false'
player-tracker:
enabled: true
update-interval-seconds: 1
show-controls: true
default-hidden: false
layer-priority: 2
z-index: 2
nameplate:
enabled: true
show-head: true
heads-url: https://mc-heads.net/avatar/{uuid}/16
show-armor: true
show-health: true
hide:
invisible: true
spectators: true
use-display-names: false

View File

@ -0,0 +1,25 @@
Thank you for downloading Silkscreen, a type family for your Web graphics
by Jason Kottke (jason@kottke.org).
To install the Silkscreen type family, unzip this file and drag the files
into the Fonts folder in the Control Panel.
If you encounter any problems in using this font, please email me and I'll
see if I can try and fix it. Please note that I can't help you with any
installation issues. Please consult your system's help files for assistance.
This font is free for personal and corporate use and may be redistributed in
this unmodified form on your Web site. I would ask that you not modify and
then redistribute this font...although you may modify it for your own
personal use. If you really like this font and use it often, feel free to
mail me (e- or snail mail) some small token of your appreciation. A URL
of your work using Silkscreen would be appreciated as well.
All future bug fixes, updates, and additions to the Silkscreen type family
will be available on my Web site at the following URL:
http://www.kottke.org/plus/type/silkscreen/index.html
Again, thanks for downloading Silkscreen. Enjoy!
-jason

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -0,0 +1,34 @@
var baseUrl = "/gallery/images/";
var pictureIndex = 0;
var pictures = [];
function getFiles() {
$.ajax(baseUrl).success(function(data) {
pictures = [];
var lastPicture = "";
$(data).find("a[href]").each(function() {
var href = $(this).attr('href');
if (href.indexOf('.jpg') > 0 || href.indexOf('.jpeg') > 0) {
if (href != lastPicture) {
pictures.push(href);
lastPicture = href;
}
}
});
console.log("gallery: " + pictures.length + " pictures loaded");
changePicture(0);
});
}
function changePicture(indexOffset) {
pictureIndex += indexOffset;
if (pictureIndex >= pictures.length) {
pictureIndex = 0;
} else if (pictureIndex < 0) {
pictureIndex = pictures.length - 1;
}
if (pictures.length != 0) {
$('#viewer').attr('src', baseUrl + pictures[pictureIndex]);
$('#info').text((pictureIndex + 1) + "/" + pictures.length);
}
}

View File

@ -0,0 +1,161 @@
@font-face {
font-family: "Silkscreen";
src: url("../fonts/slkscr.ttf");
}
html {
background-color: rgb(26, 28, 29);
}
body {
margin: 0px;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #e8e6e3;
}
p, ul {
font-size: 1.2em;
}
li {
padding-bottom: 10px;
}
li::marker {
color: #ffb3e8;
}
img, video {
max-width: 100%;
max-height: 100vh;
display: block;
image-rendering: pixelated;
}
audio {
width: 100%;
}
header {
padding-bottom: 25px;
padding-top: 25px;
margin-bottom: 25px;
background: url("images/blossom_leaves.png");
background-size: 64px;
image-rendering: pixelated;
}
.mini-title {
padding-bottom: 15px;
padding-top: 15px;
padding-left: 20px;
margin-bottom: 0px;
}
.sign {
background: url("images/acacia_planks.png");
background-size: 112px;
image-rendering: pixelated;
border-width: 0px;
border-radius: 0px;
height: 112px;
width: 234px;
padding: unset;
}
.sign h2 {
color: black;
font-family: Silkscreen;
margin-top: 10px;
}
.sign center {
padding-top: 10px;
}
section {
border: rgba(255, 255, 255, 0.9);
border-width: 2px;
border-style: solid;
border-radius: 7px;
border-color: #bc5c91;
padding: 20px;
}
a:link, a:visited, a:hover, a:active {
text-decoration: none;
}
h1, h2 {
color: #ffb3e8;
font-family: Silkscreen;
}
h1 {
font-size: 2em;
margin-top: 15px;
}
.main {
max-width: 1000px;
margin-left: auto;
margin-right: auto;
margin-top: 20px;
margin-bottom: 20px;
}
.container {
display: grid;
grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) );
column-gap: 10px;
row-gap: 15px;
justify-items: center;
}
#map {
width: 100%;
height: 95vh;
}
#sidebar {
margin-top: 78px;
height: auto;
}
#viewer {
margin-bottom: 20px;
}
.arrow {
border: solid black;
border-width: 0 3px 3px 0;
display: inline-block;
padding: 3px;
}
.right {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.left {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.mini-sign {
text-align: center;
text-decoration: none;
display: inline-block;
background: url("images/acacia_planks.png");
background-size: 64px;
image-rendering: pixelated;
border: none;
width: 80px;
height: 36px;
color: black;
font-family: Silkscreen;
line-height: 30px;
}

View File

@ -0,0 +1,2 @@
*.png
*.jpg

View File

@ -0,0 +1,51 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">
<title>Gallery - GoodOmens</title>
<meta name="author" content="L-Nafaryus">
<meta name="description" content="Gallery - GoodOmens">
<meta name="keywords" content="goodomens,minecraft,gallery,nixos">
<meta name="referrer" content="no-referrer">
<meta property="og:site_name" content="GoodOmens">
<meta property="og:title" content="Gallery - GoodOmens">
<meta property="og:url" content="https://mc.elnafo.ru/gallery/">
<meta property="og:description" content="Map - GoodOmens">
<meta property="og:type" content="website">
<meta property="og:image" content="https://mc.elnafo.ru/assets/images/goodomens-logo.png">
<link rel="stylesheet" href="/assets/style/master.css">
<link rel="shortcut icon" href="/assets/images/favicon.ico" sizes="64x64" crossOrigin="anonymous"/>
<script src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="/assets/js/gallery.js"></script>
</head>
<body>
<header>
<center>
<a href="/">
<img src="/assets/images/goodomens.png" alt="GoodOmens" style="height:48px;">
</a>
</center>
</header>
<section class="main">
<h1>Gallery</h1>
<img id="viewer">
<div class="container">
<button class="mini-sign" onclick="changePicture(-1)"><i class="arrow left"></i></button>
<div id="info" class="mini-sign">4/8</div>
<button class="mini-sign" onclick="changePicture(1)"><i class="arrow right"></i></button>
</div>
</section>
<footer>
<center>
<p>Made with <img src="/assets/images/acacia_sapling.png" alt="Acacia" style="display: inline; height: 32px;"> in mind.</p>
</center>
</footer>
<script>
getFiles();
</script>
</body>
</html>

View File

@ -0,0 +1,99 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">
<title>GoodOmens</title>
<meta name="author" content="L-Nafaryus">
<meta name="description" content="GoodOmens - PaperMC server on NixOS">
<meta name="keywords" content="goodomens,minecraft,nixos">
<meta name="referrer" content="no-referrer">
<meta property="og:site_name" content="GoodOmens">
<meta property="og:title" content="GoodOmens">
<meta property="og:url" content="https://mc.elnafo.ru/">
<meta property="og:description" content="GoodOmens - PaperMC server on NixOS">
<meta property="og:type" content="website">
<meta property="og:image" content="https://mc.elnafo.ru/assets/images/goodomens-logo.png">
<link rel="stylesheet" href="/assets/style/master.css">
<link rel="shortcut icon" href="/assets/images/favicon.ico" sizes="64x64" crossOrigin="anonymous"/>
</head>
<body>
<header>
<center>
<a href="/">
<img src="/assets/images/goodomens.png" alt="GoodOmens" style="height:100px;">
</a>
</center>
</header>
<div class="container main">
<section class="sign">
<center>
<h2>Address</h2>
<h2>mc.elnafo.ru</h2>
</center>
</section>
<a href="/map/">
<section class="sign">
<center>
<img src="/assets/images/map.webp" alt="Map" style="height: 64px;">
<h2>Map</h2>
</center>
</section>
</a>
<a href="/gallery/">
<section class="sign">
<center>
<img src="/assets/images/creebet.webp" alt="Gallery" style="height: 64px;">
<h2>Gallery</h2>
</center>
</section>
</a>
</div>
<section class="main">
<h1>Rules</h1>
<ul>
<li>Do not be an asshole, otherwise <b>Operators</b> will punish you.</li>
<li>Talk to others the way you want to be talked to.</li>
<li>Do not spam.</li>
<li>Do not try to grief, all your destructive actions are <b>easy</b> recoverable.</li>
<li>Be relaxed.</li>
</ul>
<p>It doesn't take much to have a good time. Enjoy your journey!</p>
</section>
<div class="container main">
<a href="https://discord.gg/ZWUChw5wzm">
<section class="sign">
<center>
<img src="/assets/images/discord.png" alt="Discord" style="height: 64px;">
<h2>Discord</h2>
</center>
</section>
</a>
<a href="https://vcs.elnafo.ru/L-Nafaryus/bonfire/src/branch/master/nixosConfigurations/catarina/services/papermc.nix">
<section class="sign">
<center>
<img src="/assets/images/nixos-minecraft.png" alt="Configuration" style="height: 64px;">
<h2>Configuration</h2>
</center>
</section>
</a>
</div>
<section class="main">
<h1>Operators</h1>
<p>People who keep order, develop the server in the wrong direction. You can also ask them for help!*</p>
<ul>
<li>L-Nafaryus</li>
<li>AfroPriest</li>
<li>DiAlteri</li>
</ul>
<p>*Services provided by the operator are not included in the warranty case.</p>
</section>
<footer>
<center>
<p>Made with <img src="/assets/images/acacia_sapling.png" alt="Acacia" style="display: inline; height: 32px;"> in mind.</p>
</center>
</footer>
</body>
</html>

View File

@ -0,0 +1,58 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>Map - GoodOmens</title>
<meta name="author" content="L-Nafaryus">
<meta name="description" content="Map - GoodOmens">
<meta name="keywords" content="goodomens,minecraft,map,dynamic,nixos">
<meta name="referrer" content="no-referrer">
<meta property="og:site_name" content="GoodOmens">
<meta property="og:title" content="Map - GoodOmens">
<meta property="og:url" content="https://mc.elnafo.ru/map/">
<meta property="og:description" content="Map - GoodOmens">
<meta property="og:type" content="website">
<meta property="og:image" content="https://mc.elnafo.ru/assets/images/goodomens-logo.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="theme-color" content="#222222">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"
integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossOrigin="anonymous" />
<link rel="stylesheet" href="css/styles.css" crossOrigin="anonymous" />
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossOrigin="anonymous"></script>
<script src="js/addons/RotateMarker.js" crossOrigin="anonymous"></script>
<script src="js/addons/Ellipse.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/SquaremapTileLayer.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/PlayerList.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/Sidebar.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/UICoordinates.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/UILink.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/WorldList.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/util/Fieldset.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/util/Markers.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/util/Pin.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/util/Player.js" crossOrigin="anonymous"></script>
<script type="module" src="js/modules/util/World.js" crossOrigin="anonymous"></script>
<link rel="stylesheet" href="https://mc.elnafo.ru/assets/style/master.css">
<link rel="shortcut icon" href="https://mc.elnafo.ru/assets/images/favicon.ico" sizes="64x64" crossOrigin="anonymous"/>
</head>
<body>
<header class="mini-title">
<a href="https://mc.elnafo.ru/">
<img src="https://mc.elnafo.ru/assets/images/goodomens.png" alt="GoodOmens" style="height:48px;">
</a>
</header>
<div id="map"></div>
<script type="module" src="js/modules/Squaremap.js" crossOrigin="anonymous"></script>
</body>
</html>

View File

@ -47,10 +47,10 @@ rec {
videoDrivers = [ "nvidia" ];
displayManager.gdm = {
enable = true;
enable = false;
autoSuspend = false;
};
desktopManager.gnome.enable = true;
desktopManager.gnome.enable = false;
};
services.printing.enable = true;
@ -69,10 +69,6 @@ rec {
settings.KbdInteractiveAuthentication = false;
};
services.udev = {
packages = with pkgs; [ gnome.gnome-settings-daemon ];
};
services.blueman.enable = true;
services.fail2ban = {
@ -98,13 +94,12 @@ rec {
security.acme = {
acceptTerms = true;
defaults.email = "l.nafaryus@gmail.com";
defaults.email = "l.nafaryus@elnafo.ru";
defaults.group = "nginx";
certs = {
"elnafo.ru" = {
domain = "elnafo.ru";
extraDomainNames = [ "www.elnafo.ru" "vcs.elnafo.ru" "media.elnafo.ru" "mc.elnafo.ru" "map.mc.elnafo.ru"];
extraDomainNames = [ "*.elnafo.ru" ];
dnsProvider = "webnames";
credentialsFile = config.sops.secrets."dns".path;
webroot = null;
@ -152,6 +147,7 @@ rec {
certificateScheme = "acme-nginx";
enableImapSsl = true;
openFirewall = true;
localDnsResolver = true;
loginAccounts = import ../../.secrets/mail-recipients.nix { inherit config; };
};
@ -163,6 +159,17 @@ rec {
services.spoofdpi.enable = true;
#services.btrbk = {
# instances."catarina" = {
# onCalendar = "weekly";
# settings = {
# volume."/" = {
#
# };
# };
# };
#};
# Packages
environment.systemPackages = with pkgs; [
wget
@ -170,6 +177,7 @@ rec {
ntfs3g
sshfs
exfat
btrfs-progs
lm_sensors
@ -217,7 +225,7 @@ rec {
Host catarina
HostName 192.168.156.102
Port 22
User nafaryus
User l.nafaryus
'';
programs.direnv.enable = true;

View File

@ -9,7 +9,7 @@
tmp.useTmpfs = lib.mkDefault true;
tmp.cleanOnBoot = lib.mkDefault (!config.boot.tmp.useTmpfs);
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" "tcp_bbr" "coretemp" "nct6775" ];
kernelParams = [ "threadirqs" ];
@ -63,23 +63,40 @@
rtkit.enable = true;
};
users.users.root.initialPassword = "nixos";
# Filesystem
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/1e26a42f-0546-48f1-8e8e-f1e2dfdcc5fb";
fsType = "ext4";
device = "/dev/disk/by-label/nixos";
fsType = "btrfs";
options = [ "subvol=root" "compress=zstd" ];
};
"/nix" = {
device = "/dev/disk/by-label/nixos";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" "noatime" ];
};
"/home" = {
device = "/dev/disk/by-label/nixos";
fsType = "btrfs";
options = [ "subvol=home" "compress=zstd" ];
};
"/boot" = {
device = "/dev/disk/by-uuid/786A-F24B";
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
"/swap" = {
device = "/dev/disk/by-label/nixos";
fsType = "btrfs";
options = [ "subvol=swap" "noatime" ];
};
};
swapDevices = [
{ device = "/dev/disk/by-uuid/ff4c8615-e4c8-429b-822e-55cb1c14e125"; }
{ device = "/swap/swapfile"; }
];
services.fstrim.enable = true;
@ -88,6 +105,8 @@
hardware = {
enableRedistributableFirmware = true;
cpu.intel.updateMicrocode = true;
nvidia.nvidiaSettings = true;
nvidia.modesetting.enable = true;
@ -103,7 +122,8 @@
networking = {
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
useDHCP = false;
# dhcpcd.enable = false;
hostName = "catarina";
extraHosts = '''';
@ -112,13 +132,33 @@
allowedTCPPorts = [ 80 443 3001 25600 8080 ];
};
interfaces.enp9s0.ipv4.addresses = [ {
address = "192.168.156.102";
prefixLength = 24;
} ];
# interfaces.enp9s0.ipv4.addresses = [ {
# address = "192.168.156.102";
# prefixLength = 24;
# } ];
defaultGateway = "192.168.156.1";
interfaces.wlp8s0.ipv4.addresses = [ {
address = "192.168.156.102";
prefixLength = 24;
} ];
interfaces.wlp8s0.useDHCP = false;
defaultGateway = {
address = "192.168.156.1";
interface = null;
metric = null;
};
nameservers = [ "192.168.156.1" "8.8.8.8" ];
# networkmanager.insertNameservers = config.networking.nameservers;
};
services.resolved = {
enable = false;
dnssec = "true";
extraConfig = ''
DNSOverTLS=yes
'';
fallbackDns = [ "8.8.8.8" ];
};
services.logind.lidSwitchExternalPower = "ignore";

View File

@ -100,8 +100,8 @@ let
'';
};
skinRestorer = stdenv.mkDerivation rec {
pname = "SkinRestorer";
skinsRestorer = stdenv.mkDerivation rec {
pname = "SkinsRestorer";
version = "15.0.2";
src = fetchurl {
url = "https://github.com/SkinsRestorer/SkinsRestorerX/releases/download/${version}/SkinsRestorer.jar";
@ -145,8 +145,38 @@ let
'';
};
chunky = stdenv.mkDerivation rec {
pname = "Chunky";
version = "1.3.92";
src = fetchurl {
url = "https://hangarcdn.papermc.io/plugins/pop4959/Chunky/versions/${version}/PAPER/Chunky-${version}.jar";
hash = "sha256-ABHfKJK0LQI2ZLt1D83897RAnE9xWu6+34IOlwTh17w=";
};
meta.homepage = "https://hangar.papermc.io/pop4959/Chunky";
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
cp $src $out/bin/${pname}.jar
'';
};
xclaim = stdenv.mkDerivation rec {
pname = "XClaim";
version = "1.11.0";
src = fetchurl {
url = "https://github.com/WasabiThumb/xclaim/releases/download/${version}/xclaim-${version}.jar";
hash = "sha256-49R9cj1NnOx9n0yBtOj+m4V+56P4Ko/Co/LOgdhd2y4=";
};
meta.homepage = "https://hangar.papermc.io/WasabiThumbs/XClaim";
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin
cp $src $out/bin/${pname}.jar
'';
};
plugins = [
passky grimAnticheat viaVersion directionHUD miniMOTD skinRestorer squaremap stargate
passky grimAnticheat viaVersion directionHUD miniMOTD skinsRestorer squaremap stargate chunky xclaim
];
in {
@ -157,7 +187,7 @@ in {
serverProperties = {
server-port = 25565;
gamemode = "survival";
motd = "NixOS Paper Server";
motd = "GoodOmens";
max-players = 10;
level-seed = "66666666";
enable-status = true;
@ -173,14 +203,29 @@ in {
ops = operators;
extraPreStart = ''
mkdir -p ${builtins.concatStringsSep " " (map (v: "plugins/${v.pname}") plugins)}
'' + builtins.concatStringsSep "\n" (map (v: "ln -sf ${v.outPath}/bin/${v.pname}.jar plugins/") plugins)
'' + builtins.concatStringsSep "\n" (map (v: "ln -sf ${v.outPath}/bin/${v.pname}.jar plugins/") plugins) + ''
ln -sf ${config.bonfire.configDir}/goodomens/plugins/MiniMOTD/main.conf plugins/MiniMOTD/
mkdir -p plugins/MiniMOTD/icons
ln -sf ${config.bonfire.configDir}/goodomens/plugins/MiniMOTD/icons/goodomens-logo.png plugins/MiniMOTD/icons/
ln -sf ${config.bonfire.configDir}/goodomens/plugins/Tablist/config.yml plugins/Tablist/
ln -sf ${config.bonfire.configDir}/goodomens/plugins/squaremap/config.yml plugins/squaremap/
ln -sf ${config.bonfire.configDir}/goodomens/plugins/squaremap/advanced.yml plugins/squaremap/
ln -sf ${config.bonfire.configDir}/goodomens/plugins/squaremap/advanced.yml plugins/squaremap/
ln -sf ${config.bonfire.configDir}/goodomens/site/map/index.html plugins/squaremap/web/
''
;
};
services.nginx.virtualHosts."map.mc.elnafo.ru" = {
services.nginx.virtualHosts."mc.elnafo.ru" = {
forceSSL = true;
useACMEHost = "elnafo.ru";
locations."/".proxyPass = "http://127.0.0.1:8088";
locations."/".root = "/var/www/goodomens";
locations."^~ /map/".proxyPass = "http://127.0.0.1:8088/";
locations."/gallery/".root = "/var/www/goodomens";
locations."/gallery/images/" = {
root = "/var/www/goodomens";
extraConfig = ''autoindex on;'';
};
};
}

View File

@ -1,15 +1,17 @@
{ config, pkgs, lib, ... }:
{
# Users
users.users.nafaryus = {
users.users.root.hashedPasswordFile = config.sops.secrets."users/root".path;
users.users."l.nafaryus" = {
isNormalUser = true;
description = "L-Nafaryus";
extraGroups = [ "networkmanager" "wheel" ];
group = "users";
uid = 1000;
initialPassword = "nixos";
shell = pkgs.fish;
hashedPasswordFile = config.sops.secrets."users/l.nafaryus".path;
};
users.users.nginx.extraGroups = [ "acme" ];
users.users.nginx.extraGroups = [ "acme" "papermc" ];
}