parent
7fae862d5d
commit
fd9a983718
17
flake.nix
17
flake.nix
|
@ -69,6 +69,11 @@
|
||||||
# avalon
|
# avalon
|
||||||
chrysalis = mkSystem [ ./hosts/chrysalis ./hardware/location/YOW ];
|
chrysalis = mkSystem [ ./hosts/chrysalis ./hardware/location/YOW ];
|
||||||
|
|
||||||
|
itsuki = mkSystem [
|
||||||
|
./hosts/itsuki
|
||||||
|
./hardware/location/YOW
|
||||||
|
];
|
||||||
|
|
||||||
kos-mos = mkSystem [
|
kos-mos = mkSystem [
|
||||||
./hosts/kos-mos
|
./hosts/kos-mos
|
||||||
./hardware/alrest
|
./hardware/alrest
|
||||||
|
@ -128,6 +133,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
deploy.nodes.itsuki = {
|
||||||
|
hostname = "192.168.2.35";
|
||||||
|
sshUser = "root";
|
||||||
|
fastConnection = true;
|
||||||
|
|
||||||
|
profiles.system = {
|
||||||
|
user = "root";
|
||||||
|
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
||||||
|
self.nixosConfigurations.itsuki;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
deploy.nodes.logos = {
|
deploy.nodes.logos = {
|
||||||
hostname = "192.168.2.35";
|
hostname = "192.168.2.35";
|
||||||
sshUser = "root";
|
sshUser = "root";
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../common
|
||||||
|
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./plex.nix
|
||||||
|
./smb.nix
|
||||||
|
./zrepl.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.supportedFilesystems = [ "zfs" ];
|
||||||
|
boot.kernelParams = [ "nomodeset" ];
|
||||||
|
|
||||||
|
services.prometheus.exporters.node.enable = true;
|
||||||
|
|
||||||
|
virtualisation.docker = {
|
||||||
|
enable = true;
|
||||||
|
storageDriver = "zfs";
|
||||||
|
};
|
||||||
|
systemd.services."docker" = {
|
||||||
|
path = [ pkgs.zfs ];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
services.nfs.server.enable = true;
|
||||||
|
services.nfs.server.exports = ''
|
||||||
|
/data 0.0.0.0/0(insecure,rw,sync,all_squash,anonuid=1000,anongid=996)
|
||||||
|
'';
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
networking.hostName = "itsuki"; # Define your hostname.
|
||||||
|
networking.hostId = "4d64f279";
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.interfaces.enp2s0.useDHCP = true;
|
||||||
|
networking.interfaces.wlp3s0.useDHCP = true;
|
||||||
|
services.openssh.enable = true;
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
system.stateVersion = "21.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ docker-compose ];
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
services.nginx = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."itsuki.shark-harmonic.ts.net" = {
|
||||||
|
forceSSL = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:32400";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
locations."/transmission" = {
|
||||||
|
proxyPass = "http://127.0.0.1:9091";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
sslCertificate = "/srv/within/certs/itsuki.shark-harmonic.ts.net.crt";
|
||||||
|
sslCertificateKey = "/srv/within/certs/itsuki.shark-harmonic.ts.net.key";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
within.users.enableSystem = true;
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules =
|
||||||
|
[ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b448b48da3daa-part4";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "rpool/safe/root";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" = {
|
||||||
|
device = "rpool/local/nix";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/data" = {
|
||||||
|
device = "rpool/safe/data";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" = {
|
||||||
|
device = "rpool/safe/home";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
services.plex = {
|
||||||
|
dataDir = "/data/plex";
|
||||||
|
user = "cadey";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# https://nixos.wiki/wiki/Samba
|
||||||
|
services.samba = {
|
||||||
|
enable = true;
|
||||||
|
securityType = "user";
|
||||||
|
extraConfig = ''
|
||||||
|
workgroup = WORKGROUP
|
||||||
|
server string = itsuki
|
||||||
|
netbios name = itsuki
|
||||||
|
security = user
|
||||||
|
use sendfile = yes
|
||||||
|
#max protocol = smb2
|
||||||
|
hosts allow = 0.0.0.0/0
|
||||||
|
hosts deny = 0.0.0.0/0
|
||||||
|
guest account = nobody
|
||||||
|
map to guest = bad user
|
||||||
|
'';
|
||||||
|
shares = {
|
||||||
|
data = {
|
||||||
|
path = "/data";
|
||||||
|
browseable = "yes";
|
||||||
|
"read only" = "no";
|
||||||
|
"guest ok" = "yes";
|
||||||
|
"create mask" = "0644";
|
||||||
|
"directory mask" = "0755";
|
||||||
|
"force user" = "cadey";
|
||||||
|
"force group" = "within";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.zrepl = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
logging = [{
|
||||||
|
type = "syslog";
|
||||||
|
level = "info";
|
||||||
|
format = "human";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
jobs = [{
|
||||||
|
name = "backups";
|
||||||
|
type = "sink";
|
||||||
|
serve = {
|
||||||
|
type = "tcp";
|
||||||
|
listen = "100.68.185.47:29491";
|
||||||
|
clients = {
|
||||||
|
"100.103.44.76" = "lufta";
|
||||||
|
"fda2:d982:1da2:a88b:6c8:3903:be65:3261" = "genza";
|
||||||
|
"100.106.39.95" = "logos";
|
||||||
|
"100.122.181.67" = "kos-mos";
|
||||||
|
"100.126.232.35" = "logos";
|
||||||
|
"100.103.116.84" = "ontos";
|
||||||
|
"100.78.40.86" = "pneuma";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
root_fs = "rpool/backup";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue