nix-config/hosts/storage-ng/configuration.nix

123 lines
2.5 KiB
Nix
Raw Normal View History

2019-07-02 21:11:32 +02:00
# 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, lib, strings, ... }:
2020-01-26 12:22:10 +01:00
let eth0 = "ens18";
in {
2019-12-03 20:04:13 +01:00
imports = [ # Include the results of the hardware scan.
./hardware-configuration.nix
../../lib
../../lib/hq.nix
../../lib/shared.nix
../../lib/default-gateway.nix
];
c3d2 = {
users.k-ot = true;
2019-12-03 20:04:13 +01:00
isInHq = true;
mapHqHosts = true;
2020-01-26 12:22:10 +01:00
hq.interface = eth0;
2019-12-03 20:04:13 +01:00
};
2019-07-02 21:11:32 +02:00
hq.yggdrasil = {
enable = true;
2020-01-26 12:22:10 +01:00
interface = eth0;
};
2019-07-02 21:11:32 +02:00
boot.loader.systemd-boot.enable = true;
2019-12-03 20:04:13 +01:00
systemd.enableEmergencyMode = false;
2019-07-02 21:11:32 +02:00
networking = {
hostName = "storage-ng";
# usePredictableInterfacenames = false;
2020-01-26 12:22:10 +01:00
interfaces.${eth0} = {
ipv4.addresses = [{
address = "172.22.99.20";
prefixLength = 24;
}];
ipv6.addresses = [{
address = "2a02:8106:208:5201::20";
prefixLength = 64;
}];
2020-01-26 12:22:10 +01:00
};
2019-07-02 21:11:32 +02:00
2020-01-26 12:22:10 +01:00
defaultGateway.interface = eth0;
2019-07-02 21:11:32 +02:00
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
2019-12-03 20:04:13 +01:00
wget
vim
screen
zsh
lftp
lsof
psmisc
gitAndTools.git-annex
gitAndTools.git
tmux
mpv
iotop
2019-07-02 21:11:32 +02:00
];
services.ceph = {
2019-12-03 20:04:13 +01:00
enable = false;
client.enable = true;
2019-07-02 21:11:32 +02:00
};
# fixme, we need a floating ip here
# correct is floating ip 172.22.99.21
# does not exist yet
# secretfile does not work :(
2019-12-03 20:04:13 +01:00
2019-07-02 21:11:32 +02:00
fileSystems."/mnt/cephfs" = {
device = "172.22.99.13:6789:/";
fsType = "ceph";
2019-12-03 20:04:13 +01:00
options = [
"name=storage2"
"secret=AQAvRhxcaCK0IxAAnoe00oiopcpQeKZgL02RWw=="
"noatime,_netdev"
"noauto"
"x-systemd.automount"
"x-systemd.device-timeout=175"
"users"
];
2019-07-02 21:11:32 +02:00
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
programs.bash.enableCompletion = true;
programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
services.atftpd = {
enable = true;
root = "/mnt/cephfs/c3d2/tftp";
};
2019-12-03 20:04:13 +01:00
/* # Open ports in the firewall.
networking.firewall.allowedTCPPorts = [
23
];
networking.firewall.allowedUDPPorts = [
69
];
*/
2019-07-02 21:11:32 +02:00
2019-12-03 20:04:13 +01:00
networking.firewall.enable = false;
2019-07-02 21:11:32 +02:00
2019-07-04 00:31:45 +02:00
system.stateVersion = "19.03"; # Did you read the comment?
2019-07-02 21:11:32 +02:00
}