initial commit
This commit is contained in:
commit
40b596d46d
3 changed files with 108 additions and 0 deletions
76
configuration.nix
Normal file
76
configuration.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ inputs, lib, pkgs, ... }:
|
||||
{
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
git
|
||||
];
|
||||
|
||||
users.users.reudy = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ]; #sudo
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC6TOSFZ+P0oWTa9U3fX/L9c3btv/lCgzPrwKu621aLDjSbWbaddGhAXQtJvl7GJvs7QN52z+icftK94gdeyTbZyzQtY6JNUVmUs5EHlZlYTkAYSFN/rkn6N7/n9aYRN+vd8r0B4IrP5gTPtGglLD16dfukpOgwtQj/eK6tqZpVlZ7LnKK7UaA6a4OXMYgJZAwdzAOfFGfbO++5q+igBdfNJmh5LtYMI6te8AlJGBSVierzeStEzTVbIys1EsyNrEMzAljHBxxco2L7enNmz4xciRNCQ/za5xPmhf8nOoZTIalBziM52DGH6rFzUEBVsqez1U2U4ajVzdSIudOlku4w63YnClHeGNu9AdHJjR7PbIHwui17aGKM/l/Qv/LOWWo+nfO1hbCl0fGZwVkl8p4yR3WM73OWEHn1f+Uc4cWAUDZ/ZDPE0qyA/HAnSA6dfzY66y2evjRBeekA4zcxgmc7Q/2XfKHDYMEKTNkgdO6UAFoUqW4BiyF36FcS1ccjUok= root@DESKTOP-40EVMS3"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJahgKnADam4PGc9TiANkWGx09uNuS42tllj70UuyzPf u0_a279@localhost"
|
||||
];
|
||||
};
|
||||
security.sudo.wheelNeedsPassword = true;
|
||||
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
|
||||
# Allow root login with password, needed for passwords set through vpsAdmin
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
X11Forwarding = false;
|
||||
AllowUsers = [ "reudy" ];
|
||||
};
|
||||
|
||||
ports = [ 14902 ];
|
||||
|
||||
# Needed for public keys deployed through vpsAdmin, can be disabled if you
|
||||
# authorize your keys in configuration
|
||||
authorizedKeysInHomedir = true;
|
||||
};
|
||||
|
||||
# fail2ban
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
maxretry = 5;
|
||||
bantime = "24h";
|
||||
bantime-increment = {
|
||||
enable = true;
|
||||
multipliers = "1 2 4 8 16 32 64";
|
||||
maxtime = "168h";
|
||||
overalljails = true;
|
||||
};
|
||||
jails.sshd.settings = {
|
||||
enabled = true;
|
||||
port = "14902";
|
||||
maxretry = 3;
|
||||
findtime = "10m";
|
||||
bantime = "1h";
|
||||
};
|
||||
};
|
||||
|
||||
# Networking
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 80 443 14902 ]; # http https ssh
|
||||
};
|
||||
|
||||
systemd.settings.Manager = {
|
||||
DefaultTimeoutStartSec = "900s";
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
1
flake.lock
generated
Normal file
1
flake.lock
generated
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"nodes":{"home-manager":{"inputs":{"nixpkgs":["vpsadminos","impermanence","nixpkgs"]},"locked":{"lastModified":1768598210,"narHash":"sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=","owner":"nix-community","repo":"home-manager","rev":"c47b2cc64a629f8e075de52e4742de688f930dc6","type":"github"},"original":{"owner":"nix-community","repo":"home-manager","type":"github"}},"impermanence":{"inputs":{"home-manager":"home-manager","nixpkgs":"impermanence-nixpkgs"},"locked":{"lastModified":1769548169,"narHash":"sha256-03+JxvzmfwRu+5JafM0DLbxgHttOQZkUtDWBmeUkN8Y=","owner":"nix-community","repo":"impermanence","rev":"7b1d382faf603b6d264f58627330f9faa5cba149","type":"github"},"original":{"owner":"nix-community","repo":"impermanence","type":"github"}},"impermanence-nixpkgs":{"locked":{"lastModified":1768564909,"narHash":"sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=","owner":"nixos","repo":"nixpkgs","rev":"e4bae1bd10c9c57b2cf517953ab70060a828ee6f","type":"github"},"original":{"owner":"nixos","ref":"nixos-unstable","repo":"nixpkgs","type":"github"}},"nixpkgs":{"locked":{"lastModified":1773375660,"narHash":"sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=","owner":"NixOS","repo":"nixpkgs","rev":"3e20095fe3c6cbb1ddcef89b26969a69a1570776","type":"github"},"original":{"owner":"NixOS","ref":"nixos-25.11","repo":"nixpkgs","type":"github"}},"root":{"inputs":{"nixpkgs":"nixpkgs","vpsadminos":"vpsadminos"}},"vpsadminos":{"inputs":{"impermanence":"impermanence","nixpkgs":"vpsadminos-nixpkgs","nixpkgsUnstable":"vpsadminos-nixpkgs-unstable"},"locked":{"owner":"vpsfreecz","repo":"vpsadminos","rev":"6549ff8377df16beb873d0cb9f59223774a358f9","type":"github"},"original":{"owner":"vpsfreecz","repo":"vpsadminos","type":"github"}},"vpsadminos-nixpkgs":{"locked":{"lastModified":1773375660,"narHash":"sha256-SEzUWw2Rf5Ki3bcM26nSKgbeoqi2uYy8IHVBqOKjX3w=","owner":"NixOS","repo":"nixpkgs","rev":"3e20095fe3c6cbb1ddcef89b26969a69a1570776","type":"github"},"original":{"owner":"NixOS","ref":"nixos-25.11","repo":"nixpkgs","type":"github"}},"vpsadminos-nixpkgs-unstable":{"locked":{"lastModified":1773282481,"narHash":"sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=","owner":"NixOS","repo":"nixpkgs","rev":"fe416aaedd397cacb33a610b33d60ff2b431b127","type":"github"},"original":{"owner":"NixOS","ref":"nixos-unstable","repo":"nixpkgs","type":"github"}}},"root":"root","version":7}
|
||||
31
flake.nix
Normal file
31
flake.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
description = "vpsAdminOS container";
|
||||
|
||||
inputs = {
|
||||
vpsadminos.url = "github:vpsfreecz/vpsadminos";
|
||||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs@{
|
||||
nixpkgs,
|
||||
vpsadminos,
|
||||
...
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
{
|
||||
nixosConfigurations.vps = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
vpsadminos.nixosModules.container_25_11
|
||||
./configuration.nix
|
||||
];
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue