mirror of
https://github.com/tboerger/nixos-config
synced 2024-11-22 18:21:58 +01:00
chore: add some more stuff for new server
This commit is contained in:
parent
a5bcd9b11c
commit
de3c0f004e
@ -8,4 +8,15 @@ self: super:
|
|||||||
hash = "sha256-oX5EeK0+rEsMvJ+3vg26J1g5O6LTtqgrMHT/BTWGxfU=";
|
hash = "sha256-oX5EeK0+rEsMvJ+3vg26J1g5O6LTtqgrMHT/BTWGxfU=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vscode-extensions = self.lib.recursiveUpdate super.vscode-extensions {
|
||||||
|
dzhavat.bracket-pair-toggler = self.vscode-utils.extensionFromVscodeMarketplace {
|
||||||
|
name = "bracket-pair-toggler";
|
||||||
|
publisher = "dzhavat";
|
||||||
|
version = "0.0.2";
|
||||||
|
sha256 = "sha256-2u+bdXU9nU1C8X3hpi7FfI2en4mlgWRPIVzcZrgGzPo=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
protoc-gen-openapiv2 = super.callPackage ./protoc-gen-openapiv2 { };
|
||||||
}
|
}
|
||||||
|
24
overlays/protoc-gen-openapiv2/default.nix
Normal file
24
overlays/protoc-gen-openapiv2/default.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "protoc-gen-openapiv2";
|
||||||
|
version = "2.12.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "grpc-ecosystem";
|
||||||
|
repo = "grpc-gateway";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-OthyGEMVQnK0jN9svlfAZUl52lt19jtLd1Oj3cuirx4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-UjwpFjHVaQT4irhbt2GGlYeNhDs9Dv73PcHKhMrQfQs=";
|
||||||
|
|
||||||
|
subPackages = [ "protoc-gen-openapiv2" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "OpenAPI v2 support for Google's protocol buffers";
|
||||||
|
homepage = "https://grpc-ecosystem.github.io/grpc-gateway/";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ tboerger ];
|
||||||
|
};
|
||||||
|
}
|
@ -38,7 +38,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = with pkgs.vscode-extensions; [
|
||||||
coenraads.bracket-pair-colorizer-2
|
dzhavat.bracket-pair-toggler
|
||||||
editorconfig.editorconfig
|
editorconfig.editorconfig
|
||||||
golang.go
|
golang.go
|
||||||
hashicorp.terraform
|
hashicorp.terraform
|
||||||
|
@ -33,21 +33,21 @@ for PV in $(pvs --noheadings 2>/dev/null | sed -e 's/^[[:space:]]*//' | cut -d"
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "----> Drop existing partitions"
|
echo "----> Drop existing partitions"
|
||||||
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-1.0
|
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0
|
||||||
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-1.0
|
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0
|
||||||
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0
|
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0
|
||||||
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0
|
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0
|
||||||
# sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0
|
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-5.0
|
||||||
# sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0
|
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-5.0
|
||||||
# sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0
|
sgdisk --zap-all /dev/disk/by-path/pci-0000:00:1f.2-ata-6.0
|
||||||
# sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0
|
sgdisk -og /dev/disk/by-path/pci-0000:00:1f.2-ata-6.0
|
||||||
|
|
||||||
echo "-----> Wait for cleanup"
|
echo "-----> Wait for cleanup"
|
||||||
sleep 3
|
sleep 3
|
||||||
sync
|
sync
|
||||||
|
|
||||||
echo "-----> Create sda partitions"
|
echo "-----> Create sda partitions"
|
||||||
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-1.0 \
|
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0 \
|
||||||
mklabel gpt \
|
mklabel gpt \
|
||||||
mkpart primary fat32 0% 1GiB \
|
mkpart primary fat32 0% 1GiB \
|
||||||
mkpart primary 1GiB 100% \
|
mkpart primary 1GiB 100% \
|
||||||
@ -57,7 +57,7 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-1.0 \
|
|||||||
name 2 tank1
|
name 2 tank1
|
||||||
|
|
||||||
echo "-----> Create sdb partitions"
|
echo "-----> Create sdb partitions"
|
||||||
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0 \
|
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0 \
|
||||||
mklabel gpt \
|
mklabel gpt \
|
||||||
mkpart primary fat32 0% 1GiB \
|
mkpart primary fat32 0% 1GiB \
|
||||||
mkpart primary 1GiB 100% \
|
mkpart primary 1GiB 100% \
|
||||||
@ -66,35 +66,38 @@ parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-2.0 \
|
|||||||
set 2 lvm on \
|
set 2 lvm on \
|
||||||
name 2 tank2
|
name 2 tank2
|
||||||
|
|
||||||
echo "-----> Create raid1 volume"
|
echo "-----> Create sdc partitions"
|
||||||
echo yes | mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/disk/by-partlabel/tank1 /dev/disk/by-partlabel/tank2
|
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-5.0 \
|
||||||
|
mklabel gpt \
|
||||||
|
mkpart primary fat32 0% 1GiB \
|
||||||
|
mkpart primary 1GiB 100% \
|
||||||
|
set 1 esp on \
|
||||||
|
name 1 boot3 \
|
||||||
|
set 2 lvm on \
|
||||||
|
name 2 tank3
|
||||||
|
|
||||||
# echo "-----> Create sdc partitions"
|
echo "-----> Create sdd partitions"
|
||||||
# parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-3.0 \
|
parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-6.0 \
|
||||||
# mklabel gpt \
|
mklabel gpt \
|
||||||
# mkpart primary 0 100% \
|
mkpart primary fat32 0% 1GiB \
|
||||||
# set 1 lvm on \
|
mkpart primary 1GiB 100% \
|
||||||
# name 1 tank3
|
set 1 esp on \
|
||||||
|
name 1 boot4 \
|
||||||
|
set 2 lvm on \
|
||||||
|
name 2 tank4
|
||||||
|
|
||||||
# echo "-----> Create sdd partitions"
|
echo "-----> Create raid10 volume"
|
||||||
# parted -a opt --script /dev/disk/by-path/pci-0000:00:1f.2-ata-4.0 \
|
echo yes | mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/disk/by-partlabel/tank1 /dev/disk/by-partlabel/tank2 /dev/disk/by-partlabel/tank3 /dev/disk/by-partlabel/tank4
|
||||||
# mklabel gpt \
|
|
||||||
# mkpart primary 0 100% \
|
|
||||||
# set 1 lvm on \
|
|
||||||
# name 1 tank4
|
|
||||||
|
|
||||||
# echo "-----> Create raid2 volume"
|
|
||||||
# echo yes | mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/disk/by-partlabel/tank3 /dev/disk/by-partlabel/tank4
|
|
||||||
|
|
||||||
echo "-----> Wait for partitions"
|
echo "-----> Wait for partitions"
|
||||||
sleep 3
|
sleep 3
|
||||||
sync
|
sync
|
||||||
|
|
||||||
echo "-----> Create data pv"
|
echo "-----> Create data pv"
|
||||||
pvcreate /dev/md0 # /dev/md1
|
pvcreate /dev/md0
|
||||||
|
|
||||||
echo "-----> Create data vg"
|
echo "-----> Create data vg"
|
||||||
vgcreate system /dev/md0 # /dev/md1
|
vgcreate system /dev/md0
|
||||||
|
|
||||||
echo "-----> Create swap volume"
|
echo "-----> Create swap volume"
|
||||||
lvcreate -y --size $(cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | sed 's/ //g') --name swap system
|
lvcreate -y --size $(cat /proc/meminfo | grep MemTotal | cut -d':' -f2 | sed 's/ //g') --name swap system
|
||||||
@ -139,3 +142,43 @@ mkfs.vfat -F32 -n boot1 /dev/disk/by-partlabel/boot1
|
|||||||
echo "-----> Mount boot filesystem"
|
echo "-----> Mount boot filesystem"
|
||||||
mkdir -p /mnt/boot
|
mkdir -p /mnt/boot
|
||||||
mount /dev/disk/by-label/boot1 /mnt/boot
|
mount /dev/disk/by-label/boot1 /mnt/boot
|
||||||
|
|
||||||
|
echo "-----> Create movies volume"
|
||||||
|
lvcreate -y --size 2000G --name movies system
|
||||||
|
|
||||||
|
echo "-----> Create movies filesystem"
|
||||||
|
mkfs.ext4 -L movies /dev/system/movies
|
||||||
|
|
||||||
|
echo "-----> Mount movies filesystem"
|
||||||
|
mkdir -p /mnt/var/lib/movies
|
||||||
|
mount -t ext4 /dev/system/movies /mnt/var/lib/movies
|
||||||
|
|
||||||
|
echo "-----> Create shows volume"
|
||||||
|
lvcreate -y --size 2000G --name shows system
|
||||||
|
|
||||||
|
echo "-----> Create shows filesystem"
|
||||||
|
mkfs.ext4 -L shows /dev/system/shows
|
||||||
|
|
||||||
|
echo "-----> Mount shows filesystem"
|
||||||
|
mkdir -p /mnt/var/lib/shows
|
||||||
|
mount -t ext4 /dev/system/shows /mnt/var/lib/shows
|
||||||
|
|
||||||
|
echo "-----> Create books volume"
|
||||||
|
lvcreate -y --size 100G --name books system
|
||||||
|
|
||||||
|
echo "-----> Create books filesystem"
|
||||||
|
mkfs.ext4 -L books /dev/system/books
|
||||||
|
|
||||||
|
echo "-----> Mount books filesystem"
|
||||||
|
mkdir -p /mnt/var/lib/books
|
||||||
|
mount -t ext4 /dev/system/books /mnt/var/lib/books
|
||||||
|
|
||||||
|
echo "-----> Create music volume"
|
||||||
|
lvcreate -y --size 100G --name music system
|
||||||
|
|
||||||
|
echo "-----> Create music filesystem"
|
||||||
|
mkfs.ext4 -L music /dev/system/music
|
||||||
|
|
||||||
|
echo "-----> Mount music filesystem"
|
||||||
|
mkdir -p /mnt/var/lib/music
|
||||||
|
mount -t ext4 /dev/system/music /mnt/var/lib/music
|
||||||
|
@ -14,21 +14,6 @@
|
|||||||
|
|
||||||
personal = {
|
personal = {
|
||||||
services = {
|
services = {
|
||||||
authentik = {
|
|
||||||
enable = config.personal.services.enable;
|
|
||||||
};
|
|
||||||
dst = {
|
|
||||||
enable = config.personal.services.enable;
|
|
||||||
};
|
|
||||||
mediang = {
|
|
||||||
enable = config.personal.services.enable;
|
|
||||||
};
|
|
||||||
minecraft = {
|
|
||||||
enable = config.personal.services.enable;
|
|
||||||
};
|
|
||||||
owncloud = {
|
|
||||||
enable = config.personal.services.enable;
|
|
||||||
};
|
|
||||||
tailscale = {
|
tailscale = {
|
||||||
enable = config.personal.services.enable;
|
enable = config.personal.services.enable;
|
||||||
};
|
};
|
||||||
|
@ -16,9 +16,9 @@ with lib;
|
|||||||
./media
|
./media
|
||||||
./mediang
|
./mediang
|
||||||
./minecraft
|
./minecraft
|
||||||
|
./nextcloud
|
||||||
./nixbuild
|
./nixbuild
|
||||||
./openssh
|
./openssh
|
||||||
./owncloud
|
|
||||||
./shares
|
./shares
|
||||||
./tailscale
|
./tailscale
|
||||||
./timesyncd
|
./timesyncd
|
||||||
|
19
shared/services/nextcloud/arion.nix
Normal file
19
shared/services/nextcloud/arion.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ pkgs, lib, config, options, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
services = {
|
||||||
|
nextcloud = {
|
||||||
|
nixos = {
|
||||||
|
configuration = {
|
||||||
|
services = {
|
||||||
|
nextcloud = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
26
shared/services/nextcloud/default.nix
Normal file
26
shared/services/nextcloud/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ pkgs, lib, config, options, fetchurl, ... }:
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.personal.services.nextcloud;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
personal = {
|
||||||
|
services = {
|
||||||
|
nextcloud = {
|
||||||
|
enable = mkEnableOption "Nextcloud";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
virtualisation.arion.projects.prometheus.settings = {
|
||||||
|
imports = [
|
||||||
|
(import ./arion.nix)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,4 +0,0 @@
|
|||||||
{ pkgs, lib, config, options, ... }:
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
{ }
|
|
@ -1,20 +0,0 @@
|
|||||||
{ pkgs, lib, config, options, fetchurl, ... }:
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.personal.services.owncloud;
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
personal = {
|
|
||||||
services = {
|
|
||||||
owncloud = {
|
|
||||||
enable = mkEnableOption "ownCloud";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable { };
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user