Compare commits
1 commit
Author | SHA1 | Date | |
---|---|---|---|
693ae383ef |
16 changed files with 63 additions and 474 deletions
|
@ -1,65 +0,0 @@
|
||||||
# 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’).
|
|
||||||
{
|
|
||||||
n,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
# Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the GRUB 2 boot loader.
|
|
||||||
boot.loader.grub.enable = true;
|
|
||||||
boot.loader.grub.version = 2;
|
|
||||||
# Define on which hard drive you want to install Grub.
|
|
||||||
boot.loader.grub.device = "/dev/sdb";
|
|
||||||
|
|
||||||
networking.hostName = "nano${toString n}"; # Define your hostname.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
# i18n = {
|
|
||||||
# consoleFont = "Lat2-Terminus16";
|
|
||||||
# consoleKeyMap = "us";
|
|
||||||
# defaultLocale = "en_US.UTF-8";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
# time.timeZone = "Europe/Amsterdam";
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search by name, run:
|
|
||||||
# $ nix-env -qaP | grep wget
|
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# wget
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
|
||||||
services.openssh.enable = true;
|
|
||||||
services.openssh.permitRootLogin = "yes";
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = false;
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
services.xserver.enable = false;
|
|
||||||
# services.xserver.layout = "us";
|
|
||||||
# services.xserver.xkbOptions = "eurosign:e";
|
|
||||||
|
|
||||||
# Enable the KDE Desktop Environment.
|
|
||||||
# services.xserver.displayManager.kdm.enable = true;
|
|
||||||
# services.xserver.desktopManager.kde4.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
|
||||||
# users.extraUsers.guest = {
|
|
||||||
# isNormalUser = true;
|
|
||||||
# uid = 1000;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# The NixOS release to be compatible with for stateful data such as databases.
|
|
||||||
system.stateVersion = "16.03";
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
# 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,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [<nixpkgs/nixos/modules/installer/scan/not-detected.nix>];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/e02a410e-5044-440f-90e9-b573e51f1315";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [];
|
|
||||||
|
|
||||||
nix.maxJobs = 2;
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
nixpkgs ? import <nixpkgs> {},
|
|
||||||
nrNanos ? 1, # Number of nanos
|
|
||||||
}: let
|
|
||||||
pkgs = nixpkgs;
|
|
||||||
webserver = {
|
|
||||||
services.httpd.enable = true;
|
|
||||||
services.httpd.adminAddr = "mail@stefanjunker.de";
|
|
||||||
services.httpd.documentRoot = "${pkgs.nixops}/share/doc/nixops/";
|
|
||||||
networking.firewall.allowedTCPPorts = [80];
|
|
||||||
};
|
|
||||||
|
|
||||||
mkNano = {n}: {
|
|
||||||
imports = [
|
|
||||||
(import ./nano/configuration.nix {inherit pkgs n;})
|
|
||||||
../configuration/common/user/root.nix
|
|
||||||
];
|
|
||||||
deployment.targetEnv = "none";
|
|
||||||
deployment.targetHost = "nano${toString n}";
|
|
||||||
};
|
|
||||||
|
|
||||||
mkNanos = n:
|
|
||||||
nixpkgs.lib.nameValuePair "nano${toString n}" (mkNano {inherit n;});
|
|
||||||
in
|
|
||||||
nixpkgs.lib.listToAttrs (map mkNanos (nixpkgs.lib.range 0 (nrNanos - 1)))
|
|
|
@ -1,4 +1,5 @@
|
||||||
{...}: let
|
{ ... }:
|
||||||
|
let
|
||||||
stage1Modules = [
|
stage1Modules = [
|
||||||
"virtio_balloon"
|
"virtio_balloon"
|
||||||
"virtio_scsi"
|
"virtio_scsi"
|
||||||
|
@ -15,29 +16,36 @@
|
||||||
"pata_acpi"
|
"pata_acpi"
|
||||||
"ata_generic"
|
"ata_generic"
|
||||||
];
|
];
|
||||||
in {
|
in
|
||||||
fileSystems."/boot" = {
|
{
|
||||||
device = "/dev/disk/by-uuid/354fb107-2f4a-42ad-80dd-9dddb61bfd02";
|
hardware.opinionatedDisk = {
|
||||||
fsType = "ext4";
|
enable = true;
|
||||||
|
encrypted = false;
|
||||||
|
diskId = "virtio-virtio-paeNi8Fof9Oe";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/" = {
|
# fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/993cce35-cc1f-40cc-b07a-5ea58b99fb5b";
|
# device = "/dev/disk/by-uuid/354fb107-2f4a-42ad-80dd-9dddb61bfd02";
|
||||||
fsType = "btrfs";
|
# fsType = "ext4";
|
||||||
options = ["subvol=root"];
|
# };
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" = {
|
# fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/993cce35-cc1f-40cc-b07a-5ea58b99fb5b";
|
# device = "/dev/disk/by-uuid/993cce35-cc1f-40cc-b07a-5ea58b99fb5b";
|
||||||
fsType = "btrfs";
|
# fsType = "btrfs";
|
||||||
options = ["subvol=home"];
|
# options = [ "subvol=root" ];
|
||||||
neededForBoot = true;
|
# neededForBoot = true;
|
||||||
};
|
# };
|
||||||
|
|
||||||
swapDevices = [{device = "/dev/disk/by-uuid/d16b5f4a-f38c-41c6-8aae-1625be815f9d";}];
|
# fileSystems."/home" = {
|
||||||
|
# device = "/dev/disk/by-uuid/993cce35-cc1f-40cc-b07a-5ea58b99fb5b";
|
||||||
|
# fsType = "btrfs";
|
||||||
|
# options = [ "subvol=home" ];
|
||||||
|
# neededForBoot = true;
|
||||||
|
# };
|
||||||
|
|
||||||
boot.loader.grub = {device = "/dev/vda";};
|
# swapDevices = [{ device = "/dev/disk/by-uuid/d16b5f4a-f38c-41c6-8aae-1625be815f9d"; }];
|
||||||
|
|
||||||
|
# boot.loader.grub = { device = "/dev/vda"; };
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = stage1Modules;
|
boot.initrd.availableKernelModules = stage1Modules;
|
||||||
boot.initrd.kernelModules = stage1Modules;
|
boot.initrd.kernelModules = stage1Modules;
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
|
||||||
}: {
|
}: {
|
||||||
nixpkgs.config.packageOverrides = pkgs:
|
nixpkgs.config.packageOverrides = pkgs:
|
||||||
with pkgs; {
|
with pkgs; {
|
||||||
nixPath =
|
nixPath =
|
||||||
(import ../../../default.nix {
|
(import ../../../default.nix {
|
||||||
versionsPath = ./versions.nix;
|
versionsPath = ./versions.nix;
|
||||||
})
|
}).nixPath;
|
||||||
.nixPath;
|
|
||||||
};
|
};
|
||||||
home-manager.users.steveej = import ../../../home-manager/configuration/text-minimal.nix {
|
home-manager.users.steveej = import ../../../home-manager/configuration/text-minimal.nix {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
@ -25,11 +23,11 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.buildMachines = [
|
nix.buildMachines = [
|
||||||
{
|
# {
|
||||||
hostName = "localhost";
|
# hostName = "localhost";
|
||||||
system = "x86_64-linux";
|
# system = "x86_64-linux";
|
||||||
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
|
# supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
|
||||||
maxJobs = 4;
|
# maxJobs = 4;
|
||||||
}
|
# }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,20 +1,14 @@
|
||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, config
|
||||||
config,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
keys = import ../../../variables/keys.nix;
|
keys = import ../../../variables/keys.nix;
|
||||||
in {
|
in
|
||||||
nix.binaryCaches = ["https://cache.holo.host"];
|
{
|
||||||
|
|
||||||
nix.binaryCachePublicKeys = [
|
|
||||||
"cache.holo.host-1:lNXIXtJgS9Iuw4Cu6X0HINLu9sTfcjEntnrgwMQIMcE="
|
|
||||||
"cache.holo.host-2:ZJCkX3AUYZ8soxTLfTb60g+F3MkWD7hkH9y8CgqwhDQ="
|
|
||||||
];
|
|
||||||
|
|
||||||
# TASK: new device
|
# TASK: new device
|
||||||
networking.hostName = "sj-pvehtz-0"; # Define your hostname.
|
networking.hostName = "sj-pvehtz0"; # Define your hostname.
|
||||||
# networking.domain = "";
|
# networking.domain = "";
|
||||||
|
|
||||||
networking.firewall.enable = true;
|
networking.firewall.enable = true;
|
||||||
|
@ -65,29 +59,6 @@ in {
|
||||||
services.spice-vdagentd.enable = true;
|
services.spice-vdagentd.enable = true;
|
||||||
services.qemuGuest.enable = true;
|
services.qemuGuest.enable = true;
|
||||||
|
|
||||||
systemd.services."sshd-status" = {
|
|
||||||
enable = true;
|
|
||||||
description = "sshd-status service";
|
|
||||||
path = [pkgs.systemd];
|
|
||||||
script = ''
|
|
||||||
systemctl status sshd | grep -i tasks
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.sshd.serviceConfig = {TasksMax = 32;};
|
|
||||||
|
|
||||||
systemd.timers."sshd-status" = {
|
|
||||||
description = "Timer to trigger sshd-status periodically";
|
|
||||||
enable = true;
|
|
||||||
wantedBy = ["timer.target" "multi-user.target"];
|
|
||||||
timerConfig = {
|
|
||||||
OnActiveSec = "360s";
|
|
||||||
OnUnitActiveSec = "360s";
|
|
||||||
AccuracySec = "1s";
|
|
||||||
Unit = "sshd-status.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.gc = { automatic = true; };
|
nix.gc = { automatic = true; };
|
||||||
|
|
||||||
networking.useHostResolvConf = true;
|
networking.useHostResolvConf = true;
|
||||||
|
@ -100,5 +71,5 @@ in {
|
||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "20.09"; # Did you read the comment?
|
system.stateVersion = "22.11"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,18 @@
|
||||||
let
|
let
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
url = "https://github.com/NixOS/nixpkgs/";
|
||||||
ref = "nixos-21.11";
|
ref = "nixos-22.11";
|
||||||
rev = "e34c5379866833f41e2a36f309912fa675d687c7";
|
rev = "e34c5379866833f41e2a36f309912fa675d687c7";
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
inherit nixpkgs;
|
inherit nixpkgs;
|
||||||
"channels-nixos-stable" = nixpkgs;
|
"channels-nixos-stable" = nixpkgs;
|
||||||
"channels-nixos-21.05" = {
|
"channels-nixos-22.11" = {
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
url = "https://github.com/NixOS/nixpkgs/";
|
||||||
ref = "nixos-21.05";
|
ref = "nixos-22.11";
|
||||||
rev = "";
|
rev = "";
|
||||||
};
|
};
|
||||||
"channels-nixos-20.09" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-20.09";
|
|
||||||
rev = "1c1f5649bb9c1b0d98637c8c365228f57126f361";
|
|
||||||
};
|
|
||||||
"channels-nixos-20.03" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-20.03";
|
|
||||||
rev = "1db42b7fe3878f3f5f7a4f2dc210772fd080e205";
|
|
||||||
};
|
|
||||||
"channels-nixos-19.09" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-19.09";
|
|
||||||
rev = "75f4ba05c63be3f147bcc2f7bd4ba1f029cedcb1";
|
|
||||||
};
|
|
||||||
"channels-nixos-unstable" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-unstable";
|
|
||||||
rev = "c71f061c68ba8ce53471b767d5049cbd0f3d8490";
|
|
||||||
};
|
|
||||||
"nixpkgs-master" = {
|
"nixpkgs-master" = {
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
url = "https://github.com/NixOS/nixpkgs/";
|
||||||
ref = "master";
|
ref = "master";
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
let
|
let
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
url = "https://github.com/NixOS/nixpkgs/";
|
||||||
ref = "nixos-21.11";
|
ref = "nixos-22.11";
|
||||||
rev = ''
|
rev = ''
|
||||||
<% git ls-remote https://github.com/nixos/nixpkgs nixos-21.11 | awk '{ print $1 }' | tr -d '
|
<% git ls-remote https://github.com/nixos/nixpkgs nixos-21.11 | awk '{ print $1 }' | tr -d '
|
||||||
' -%>'';
|
' -%>'';
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
inherit nixpkgs;
|
inherit nixpkgs;
|
||||||
"channels-nixos-stable" = nixpkgs;
|
"channels-nixos-stable" = nixpkgs;
|
||||||
"channels-nixos-21.05" = {
|
"channels-nixos-22.11" = {
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
url = "https://github.com/NixOS/nixpkgs/";
|
||||||
ref = "nixos-21.05";
|
ref = "nixos-22.11";
|
||||||
rev = ''
|
rev = ''
|
||||||
<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.05 | awk '{ print $1 }' | tr -d '
|
<% git ls-remote https://github.com/nixos/nixpkgs nixos-20.05 | awk '{ print $1 }' | tr -d '
|
||||||
' -%>'';
|
' -%>'';
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{lib, ...}: {
|
|
||||||
boot.loader.grub.efiSupport = lib.mkForce false;
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{...}: {
|
|
||||||
disabledModules = [];
|
|
||||||
imports = [
|
|
||||||
../../profiles/common/configuration.nix
|
|
||||||
../../modules/opinionatedDisk.nix
|
|
||||||
|
|
||||||
./system.nix
|
|
||||||
./hw.nix
|
|
||||||
./pkg.nix
|
|
||||||
./boot.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{...}: let
|
|
||||||
stage1Modules = [
|
|
||||||
"aesni_intel"
|
|
||||||
"kvm-intel"
|
|
||||||
|
|
||||||
"virtio_balloon"
|
|
||||||
"virtio_scsi"
|
|
||||||
"virtio_net"
|
|
||||||
"virtio_pci"
|
|
||||||
"virtio_ring"
|
|
||||||
"virtio"
|
|
||||||
"scsi_mod"
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
# TASK: new device
|
|
||||||
hardware.opinionatedDisk = {
|
|
||||||
enable = true;
|
|
||||||
encrypted = true;
|
|
||||||
diskId = "scsi-0QEMU_QEMU_HARDDISK_drive-scsi0";
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = stage1Modules;
|
|
||||||
boot.initrd.kernelModules = stage1Modules;
|
|
||||||
boot.extraModprobeConfig = "";
|
|
||||||
}
|
|
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nixpkgs.config.packageOverrides = pkgs:
|
|
||||||
with pkgs; {
|
|
||||||
nixPath =
|
|
||||||
(import ../../../default.nix {
|
|
||||||
versionsPath = ./versions.nix;
|
|
||||||
})
|
|
||||||
.nixPath;
|
|
||||||
};
|
|
||||||
home-manager.users.steveej = import ../../../home-manager/configuration/text-minimal.nix {
|
|
||||||
inherit pkgs;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.buildMachines = [
|
|
||||||
{
|
|
||||||
hostName = "localhost";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
|
|
||||||
maxJobs = 4;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
services.hydra = {
|
|
||||||
enable = false;
|
|
||||||
hydraURL = "http://localhost:3000"; # externally visible URL
|
|
||||||
notificationSender = "hydra@${config.networking.hostName}.stefanjunker.de"; # e-mail of hydra service
|
|
||||||
# a standalone hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
|
|
||||||
buildMachinesFiles = [];
|
|
||||||
# you will probably also want, otherwise *everything* will be built from scratch
|
|
||||||
useSubstitutes = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gitlab-runner = {
|
|
||||||
enable = false;
|
|
||||||
|
|
||||||
extraPackages = with pkgs; [bash gitlab-runner nix gitFull git-crypt];
|
|
||||||
|
|
||||||
concurrent = 2;
|
|
||||||
checkInterval = 0;
|
|
||||||
services = {
|
|
||||||
nixRunner = {
|
|
||||||
executor = "shell";
|
|
||||||
runUntagged = true;
|
|
||||||
registrationConfigFile = "/etc/secrets/gitlab-runner/nix-runner.registration";
|
|
||||||
tagList = ["nix"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,114 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
keys = import ../../../variables/keys.nix;
|
|
||||||
passwords = import ../../../variables/passwords.crypt.nix;
|
|
||||||
in {
|
|
||||||
# TASK: new device
|
|
||||||
networking.hostName = "vmd32387"; # Define your hostname.
|
|
||||||
networking.domain = "contaboserver.net";
|
|
||||||
|
|
||||||
networking.firewall.enable = true;
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
|
||||||
# iperf3
|
|
||||||
5201
|
|
||||||
];
|
|
||||||
networking.firewall.logRefusedConnections = false;
|
|
||||||
|
|
||||||
networking.usePredictableInterfaceNames = false;
|
|
||||||
networking.dhcpcd = {
|
|
||||||
enable = true;
|
|
||||||
persistent = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.interfaces.eth0 = {
|
|
||||||
useDHCP = true;
|
|
||||||
ipv6.addresses = [
|
|
||||||
{
|
|
||||||
address = "2a02:c207:3003:2387::1";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
networking.defaultGateway6 = {
|
|
||||||
address = "fe80::1";
|
|
||||||
interface = "eth0";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.nat = {
|
|
||||||
enable = true;
|
|
||||||
internalInterfaces = ["ve-+"];
|
|
||||||
externalInterface = "eth0";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Kubernetes
|
|
||||||
# services.kubernetes.roles = ["master" "node"];
|
|
||||||
|
|
||||||
# virtualization
|
|
||||||
virtualisation = {docker.enable = true;};
|
|
||||||
|
|
||||||
services.spice-vdagentd.enable = true;
|
|
||||||
services.qemuGuest.enable = true;
|
|
||||||
|
|
||||||
systemd.services."sshd-status" = {
|
|
||||||
enable = true;
|
|
||||||
description = "sshd-status service";
|
|
||||||
path = [pkgs.systemd];
|
|
||||||
script = ''
|
|
||||||
systemctl status sshd | grep -i tasks
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services.sshd.serviceConfig = {TasksMax = 32;};
|
|
||||||
|
|
||||||
systemd.timers."sshd-status" = {
|
|
||||||
description = "Timer to trigger sshd-status periodically";
|
|
||||||
enable = true;
|
|
||||||
wantedBy = ["timer.target" "multi-user.target"];
|
|
||||||
timerConfig = {
|
|
||||||
OnActiveSec = "5s";
|
|
||||||
OnUnitActiveSec = "5s";
|
|
||||||
AccuracySec = "1s";
|
|
||||||
Unit = "sshd-status.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.gc = {automatic = true;};
|
|
||||||
|
|
||||||
boot.initrd.network = {
|
|
||||||
enable = true;
|
|
||||||
udhcpc.extraArgs = ["-x hostname:${config.networking.hostName}"];
|
|
||||||
|
|
||||||
ssh = {
|
|
||||||
enable = true;
|
|
||||||
authorizedKeys = keys.users.steveej.openssh;
|
|
||||||
hostKeys = [
|
|
||||||
"/etc/secrets/initrd/ssh_host_rsa_key"
|
|
||||||
"/etc/secrets/initrd/ssh_host_ed25519_key"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.postMountCommands = ''
|
|
||||||
for iface in $(cd /sys/class/net && ls); do
|
|
||||||
echo "Bringing down $iface..."
|
|
||||||
ip address flush dev $iface
|
|
||||||
ip link set $iface down
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
networking.useHostResolvConf = true;
|
|
||||||
|
|
||||||
containers = {};
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "20.03"; # Did you read the comment?
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
let
|
|
||||||
nixpkgs = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-22.05";
|
|
||||||
rev = "b3a8f7ed267e0a7ed100eb7d716c9137ff120fe3";
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
inherit nixpkgs;
|
|
||||||
"channels-nixos-stable" = nixpkgs;
|
|
||||||
"nixpkgs-master" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "master";
|
|
||||||
rev = "6b10854c8194f1ebaa5bce623e71c6da1c008861";
|
|
||||||
};
|
|
||||||
"home-manager-module" = {
|
|
||||||
url = "https://github.com/nix-community/home-manager";
|
|
||||||
ref = "release-22.05";
|
|
||||||
rev = "f0ecd4b1db5e15103e955b18cb94bea4296e5c45";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
let
|
|
||||||
nixpkgs = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "nixos-22.05";
|
|
||||||
rev = ''
|
|
||||||
<% git ls-remote https://github.com/nixos/nixpkgs nixos-22.05 | awk '{ print $1 }' | tr -d '
|
|
||||||
' -%>'';
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
inherit nixpkgs;
|
|
||||||
"channels-nixos-stable" = nixpkgs;
|
|
||||||
"nixpkgs-master" = {
|
|
||||||
url = "https://github.com/NixOS/nixpkgs/";
|
|
||||||
ref = "master";
|
|
||||||
rev = ''
|
|
||||||
<% git ls-remote https://github.com/NixOS/nixpkgs.git master | head -n1 | awk '{ print $1 }' | tr -d '
|
|
||||||
' -%>'';
|
|
||||||
};
|
|
||||||
"home-manager-module" = {
|
|
||||||
url = "https://github.com/nix-community/home-manager";
|
|
||||||
ref = "release-22.05";
|
|
||||||
rev = ''
|
|
||||||
<% git ls-remote https://github.com/nix-community/home-manager.git release-22.05 | awk '{ print $1 }' | tr -d '
|
|
||||||
' -%>'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
/nix/store/xh6p394kh1bncmc3lr6l9fb81284ckhf-nixos-vm
|
|
Loading…
Add table
Add a link
Reference in a new issue