Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
725d98e428
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
with import <stockholm/lib>;
|
with import <stockholm/lib>;
|
||||||
let
|
let
|
||||||
|
# all the good stuff resides in /data
|
||||||
|
|
||||||
byid = dev: "/dev/disk/by-id/" + dev;
|
byid = dev: "/dev/disk/by-id/" + dev;
|
||||||
rootDisk = byid "ata-INTEL_SSDSC2BW480H6_CVTR53120385480EGN";
|
rootDisk = byid "ata-INTEL_SSDSC2BW480H6_CVTR53120385480EGN";
|
||||||
bootPart = rootDisk + "-part1";
|
bootPart = rootDisk + "-part1";
|
||||||
|
@ -21,44 +23,23 @@ in {
|
||||||
<stockholm/makefu/2configs/tinc/retiolum.nix>
|
<stockholm/makefu/2configs/tinc/retiolum.nix>
|
||||||
<stockholm/makefu/2configs/tools/core.nix>
|
<stockholm/makefu/2configs/tools/core.nix>
|
||||||
<stockholm/makefu/2configs/stats/client.nix>
|
<stockholm/makefu/2configs/stats/client.nix>
|
||||||
<stockholm/makefu/2configs/nsupdate-data.nix>
|
# <stockholm/makefu/2configs/nsupdate-data.nix>
|
||||||
|
|
||||||
# SIEM
|
|
||||||
#<stockholm/makefu/2configs/tinc/siem.nix>
|
|
||||||
# {services.tinc.networks.siem = {
|
|
||||||
# name = "sdarth";
|
|
||||||
# extraConfig = "ConnectTo = sjump";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# makefu.forward-journal = {
|
|
||||||
# enable = true;
|
|
||||||
# src = "10.8.10.2";
|
|
||||||
# dst = "10.8.10.6";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
## Sharing
|
|
||||||
# <stockholm/makefu/2configs/share/temp-share-samba.nix>
|
|
||||||
#{
|
|
||||||
# services.samba.shares = {
|
|
||||||
# isos = {
|
|
||||||
# path = "/data/isos/";
|
|
||||||
# "read only" = "yes";
|
|
||||||
# browseable = "yes";
|
|
||||||
# "guest ok" = "yes";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#}
|
|
||||||
<stockholm/makefu/2configs/share/anon-ftp.nix>
|
<stockholm/makefu/2configs/share/anon-ftp.nix>
|
||||||
|
|
||||||
|
# lan party
|
||||||
|
<stockholm/makefu/2configs/lanparty/lancache.nix>
|
||||||
|
<stockholm/makefu/2configs/lanparty/lancache-dns.nix>
|
||||||
|
<stockholm/makefu/2configs/lanparty/samba.nix>
|
||||||
|
<stockholm/makefu/2configs/lanparty/mumble-server.nix>
|
||||||
|
<stockholm/makefu/2configs/virtualisation/libvirt.nix>
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#networking.firewall.enable = false;
|
#networking.firewall.enable = false;
|
||||||
makefu.server.primary-itf = "enp0s25";
|
makefu.server.primary-itf = "enp0s25";
|
||||||
krebs.hidden-ssh.enable = true;
|
# krebs.hidden-ssh.enable = true;
|
||||||
boot.kernelModules = [ "coretemp" "f71882fg" ];
|
boot.kernelModules = [ "coretemp" "f71882fg" ];
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
<stockholm/makefu>
|
<stockholm/makefu>
|
||||||
<stockholm/makefu/2configs/gui/base.nix>
|
<stockholm/makefu/2configs/main-laptop.nix>
|
||||||
|
<stockholm/makefu/2configs/tools/all.nix>
|
||||||
<stockholm/makefu/2configs/fs/sda-crypto-root.nix>
|
<stockholm/makefu/2configs/fs/sda-crypto-root.nix>
|
||||||
# hardware specifics are in here
|
# hardware specifics are in here
|
||||||
# imports tp-x2x0.nix
|
# imports tp-x2x0.nix
|
||||||
<stockholm/makefu/2configs/hw/tp-x200.nix>
|
# <stockholm/makefu/2configs/hw/tp-x200.nix>
|
||||||
|
|
||||||
<stockholm/makefu/2configs/disable_v6.nix>
|
# <stockholm/makefu/2configs/rad1o.nix>
|
||||||
<stockholm/makefu/2configs/rad1o.nix>
|
|
||||||
|
|
||||||
<stockholm/makefu/2configs/zsh-user.nix>
|
<stockholm/makefu/2configs/zsh-user.nix>
|
||||||
<stockholm/makefu/2configs/exim-retiolum.nix>
|
<stockholm/makefu/2configs/exim-retiolum.nix>
|
||||||
|
@ -22,9 +22,41 @@
|
||||||
];
|
];
|
||||||
# not working in vm
|
# not working in vm
|
||||||
krebs.build.host = config.krebs.hosts.tsp;
|
krebs.build.host = config.krebs.hosts.tsp;
|
||||||
|
boot.initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; allowDiscards=true; }];
|
||||||
|
boot.loader.grub.copyKernels = true;
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
networking.firewall.allowedTCPPorts = [
|
||||||
25
|
25
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# acer aspire
|
||||||
|
networking.wireless.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
|
||||||
|
zramSwap.enable = true;
|
||||||
|
zramSwap.numDevices = 2;
|
||||||
|
|
||||||
|
services.tlp.enable = true;
|
||||||
|
services.tlp.extraConfig = ''
|
||||||
|
# BUG: http://linrunner.de/en/tlp/docs/tlp-faq.html#erratic-battery
|
||||||
|
START_CHARGE_THRESH_BAT0=67
|
||||||
|
STOP_CHARGE_THRESH_BAT0=100
|
||||||
|
|
||||||
|
|
||||||
|
CPU_SCALING_GOVERNOR_ON_AC=performance
|
||||||
|
CPU_SCALING_GOVERNOR_ON_BAT=ondemand
|
||||||
|
CPU_MIN_PERF_ON_AC=0
|
||||||
|
CPU_MAX_PERF_ON_AC=100
|
||||||
|
CPU_MIN_PERF_ON_BAT=0
|
||||||
|
CPU_MAX_PERF_ON_BAT=30
|
||||||
|
'';
|
||||||
|
|
||||||
|
powerManagement.resumeCommands = ''
|
||||||
|
${pkgs.rfkill}/bin/rfkill unblock all
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,19 @@ in {
|
||||||
krebs.backup.plans = {
|
krebs.backup.plans = {
|
||||||
# wry-to-omo_root = defaultPull config.krebs.hosts.wry "/";
|
# wry-to-omo_root = defaultPull config.krebs.hosts.wry "/";
|
||||||
gum-to-omo_root = defaultPull config.krebs.hosts.gum "/";
|
gum-to-omo_root = defaultPull config.krebs.hosts.gum "/";
|
||||||
|
gum-dl-to-omo_external = (defaultPull config.krebs.hosts.gum "/var/download" )//
|
||||||
|
{
|
||||||
|
dst.path = "/media/cryptX/backup/gum/var-download";
|
||||||
|
dst.host = defaultBackupServer;
|
||||||
|
startAt = "19:00";
|
||||||
|
};
|
||||||
|
gum-owncloud-to-omo_external = (defaultPull config.krebs.hosts.gum "/var/www/o.euer.krebsco.de" )//
|
||||||
|
{
|
||||||
|
dst.path = "/media/cryptX/backup/gum/var-www-o.euer.krebsco.de";
|
||||||
|
dst.host = defaultBackupServer;
|
||||||
|
|
||||||
|
startAt = "05:00";
|
||||||
|
};
|
||||||
# wolf-to-omo_root = defaultPull config.krebs.hosts.wolf "/";
|
# wolf-to-omo_root = defaultPull config.krebs.hosts.wolf "/";
|
||||||
};
|
};
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
|
|
@ -1,6 +1,19 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
with import <stockholm/lib>;
|
with import <stockholm/lib>;
|
||||||
let
|
let
|
||||||
|
upstream-server = "8.8.8.8";
|
||||||
|
# make sure the router pins the ip address to the deployed host
|
||||||
|
# and set it as dns server ( dhcp option 6,192.168.10.10 )
|
||||||
|
local_ip = "192.168.10.10";
|
||||||
|
|
||||||
|
extra-config = pkgs.writeText "local.conf" ''
|
||||||
|
server:
|
||||||
|
local-data: "piratebox. A ${local_ip}"
|
||||||
|
local-data: "store. A ${local_ip}"
|
||||||
|
local-data: "share. A ${local_ip}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
# see https://github.com/zeropingheroes/lancache for full docs
|
# see https://github.com/zeropingheroes/lancache for full docs
|
||||||
lancache-dns = pkgs.stdenv.mkDerivation rec {
|
lancache-dns = pkgs.stdenv.mkDerivation rec {
|
||||||
name = "lancache-dns-2017-06-28";
|
name = "lancache-dns-2017-06-28";
|
||||||
|
@ -11,8 +24,9 @@ let
|
||||||
rev = "420aa62";
|
rev = "420aa62";
|
||||||
sha256 = "0ik7by7ripdv2avyy5kk9jp1i7rz9ksc8xmg7n9iik365q9pv94m";
|
sha256 = "0ik7by7ripdv2avyy5kk9jp1i7rz9ksc8xmg7n9iik365q9pv94m";
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
phases = [ "unpackPhase" "installPhase" ];
|
||||||
# here we can chance to edit `includes/proxy-cache-paths.conf`
|
# here we have the chance to edit `includes/proxy-cache-paths.conf`
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -r * $out/
|
cp -r * $out/
|
||||||
|
@ -20,7 +34,6 @@ let
|
||||||
};
|
};
|
||||||
stateDir = "/var/lib/unbound";
|
stateDir = "/var/lib/unbound";
|
||||||
user = "unbound";
|
user = "unbound";
|
||||||
upstream-server = "8.8.8.8";
|
|
||||||
in {
|
in {
|
||||||
services.unbound = {
|
services.unbound = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -29,6 +42,7 @@ in {
|
||||||
forwardAddresses = [ upstream-server ];
|
forwardAddresses = [ upstream-server ];
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
include: "${stateDir}/lancache/*.conf"
|
include: "${stateDir}/lancache/*.conf"
|
||||||
|
include: "${extra-config}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
services.dnscrypt-proxy.enable = lib.mkForce false;
|
services.dnscrypt-proxy.enable = lib.mkForce false;
|
||||||
|
@ -42,7 +56,8 @@ in {
|
||||||
path = [ pkgs.gawk pkgs.iproute pkgs.gnused ];
|
path = [ pkgs.gawk pkgs.iproute pkgs.gnused ];
|
||||||
script = ''
|
script = ''
|
||||||
set -xeu
|
set -xeu
|
||||||
current_ip=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
|
# current_ip=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
|
||||||
|
current_ip=${local_ip}
|
||||||
old_ip=10.1.1.250
|
old_ip=10.1.1.250
|
||||||
mkdir -p ${stateDir}
|
mkdir -p ${stateDir}
|
||||||
rm -rvf ${stateDir}/lancache
|
rm -rvf ${stateDir}/lancache
|
||||||
|
|
|
@ -17,15 +17,21 @@ let
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -r * $out/
|
cp -r * $out/
|
||||||
|
rm $out/caches-enabled/*
|
||||||
sed -i -e 's/^\(user\).*/\1 ${cfg.user} ${cfg.group};/' \
|
sed -i -e 's/^\(user\).*/\1 ${cfg.user} ${cfg.group};/' \
|
||||||
-e '1 idaemon off;' \
|
-e '1 idaemon off;' \
|
||||||
|
-e 's#/var/lancache#${cfg.statedir}#g' \
|
||||||
$out/nginx.conf
|
$out/nginx.conf
|
||||||
|
sed -i -e 's#/var/lancache#${cfg.statedir}#g' \
|
||||||
|
$out/*/*.conf
|
||||||
|
ln -s $out/caches-available/* $out/caches-enabled/
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
cfg = {
|
cfg = {
|
||||||
|
statedir = "/data/cache";
|
||||||
|
|
||||||
group = "nginx-lancache";
|
group = "nginx-lancache";
|
||||||
user = "nginx-lancache";
|
user = "nginx-lancache";
|
||||||
statedir = "/var/lancache";
|
|
||||||
package = pkgs.stdenv.lib.overrideDerivation pkgs.nginx (old:{
|
package = pkgs.stdenv.lib.overrideDerivation pkgs.nginx (old:{
|
||||||
configureFlags = old.configureFlags ++ [
|
configureFlags = old.configureFlags ++ [
|
||||||
"--with-http_slice_module"
|
"--with-http_slice_module"
|
||||||
|
@ -43,6 +49,7 @@ in {
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
mkdir -p ${cfg.statedir} && cd ${cfg.statedir}
|
mkdir -p ${cfg.statedir} && cd ${cfg.statedir}
|
||||||
|
chmod 700 ${cfg.statedir}
|
||||||
PATH_CACHE=$PATH_BASE/cache
|
PATH_CACHE=$PATH_BASE/cache
|
||||||
PATH_LOGS=$PATH_BASE/logs
|
PATH_LOGS=$PATH_BASE/logs
|
||||||
|
|
||||||
|
|
12
makefu/2configs/lanparty/mumble-server.nix
Normal file
12
makefu/2configs/lanparty/mumble-server.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
networking.firewall.allowedTCPPorts = [ 64738 ];
|
||||||
|
networking.firewall.allowedUDPPorts = [ 64738 ];
|
||||||
|
services.murmur = {
|
||||||
|
enable = true;
|
||||||
|
welcometext = "Welcome to the LANest Party mumble server";
|
||||||
|
bonjour = true;
|
||||||
|
hostName = "0.0.0.0";
|
||||||
|
sendVersion = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,9 +10,16 @@
|
||||||
};
|
};
|
||||||
services.samba = {
|
services.samba = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableNmbd = true;
|
||||||
shares = {
|
shares = {
|
||||||
share-home = {
|
lanparty = {
|
||||||
path = "/data/lanparty/";
|
path = "/data/lanparty/";
|
||||||
|
"read only" = "yes";
|
||||||
|
browseable = "yes";
|
||||||
|
"guest ok" = "yes";
|
||||||
|
};
|
||||||
|
share = {
|
||||||
|
path = "/data/incoming";
|
||||||
"read only" = "no";
|
"read only" = "no";
|
||||||
browseable = "yes";
|
browseable = "yes";
|
||||||
"guest ok" = "yes";
|
"guest ok" = "yes";
|
||||||
|
|
|
@ -5,38 +5,43 @@
|
||||||
#
|
#
|
||||||
# essentially `nix-env -q` of the main user
|
# essentially `nix-env -q` of the main user
|
||||||
{
|
{
|
||||||
krebs.per-user.makefu.packages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
at_spi2_core
|
at_spi2_core
|
||||||
acpi
|
acpi
|
||||||
bc
|
bc
|
||||||
rsync
|
rsync
|
||||||
exif
|
exif
|
||||||
file
|
file
|
||||||
|
lsof
|
||||||
|
which
|
||||||
|
|
||||||
# fs
|
# fs
|
||||||
ntfs3g
|
cifs-utils
|
||||||
dosfstools
|
dosfstools
|
||||||
|
ntfs3g
|
||||||
|
smartmontools
|
||||||
|
|
||||||
|
# io
|
||||||
pv
|
pv
|
||||||
sshpass
|
sshpass
|
||||||
usbutils
|
usbutils
|
||||||
p7zip
|
p7zip
|
||||||
hdparm
|
hdparm
|
||||||
inetutils
|
|
||||||
ncftp
|
|
||||||
mutt
|
|
||||||
tcpdump
|
|
||||||
sysstat
|
|
||||||
which
|
|
||||||
weechat
|
|
||||||
wol
|
|
||||||
tmux
|
|
||||||
iftop
|
|
||||||
mkpasswd
|
|
||||||
# storage
|
|
||||||
smartmontools
|
|
||||||
cifs-utils
|
|
||||||
# net
|
# net
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
|
inetutils
|
||||||
|
ncftp
|
||||||
|
tcpdump
|
||||||
|
sysstat
|
||||||
|
wol
|
||||||
|
iftop
|
||||||
|
|
||||||
|
mkpasswd
|
||||||
|
mutt
|
||||||
|
weechat
|
||||||
|
tmux
|
||||||
|
|
||||||
# stockholm
|
# stockholm
|
||||||
git
|
git
|
||||||
|
|
|
@ -13,6 +13,6 @@
|
||||||
thc-hydra
|
thc-hydra
|
||||||
borgbackup
|
borgbackup
|
||||||
ledger
|
ledger
|
||||||
u3_tool
|
u3-tool
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
{ stdenv, fetchurl }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
proj = "u3-tool";
|
|
||||||
name = "${proj}-${version}";
|
|
||||||
version = "0.3";
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "mirror://sourceforge/${proj}/${name}.tar.gz";
|
|
||||||
sha256 = "1p9c9kibd1pdbdfa0nd0i3n7bvzi3xg0chm38jg3xfl8gsn0390f";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Tool for controlling the special features of a 'U3 smart drive' USB Flash disk.";
|
|
||||||
homepage = https://sourceforge.net/projects/u3-tool/ ;
|
|
||||||
license = stdenv.lib.licenses.gpl2;
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ makefu ];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user