diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..fe28ede --- /dev/null +++ b/configuration.nix @@ -0,0 +1,24 @@ +{ pkgs, lib, ... }: +{ + boot.isContainer = true; + boot.loader.initScript.enable = true; + + networking = { + interfaces.eth0.ipv4.addresses = [{ address = "172.20.73.42"; prefixLength = 26; }]; + defaultGateway = "172.20.73.1"; + nameservers = [ "172.20.73.8" "9.9.9.9" ]; + hostName = lib.mkDefault "mailtngbert"; + useDHCP = false; + interfaces.eth0.useDHCP = false; + firewall.allowedTCPPorts = [ 22 ]; + }; + + nix = { + useSandbox = false; + extraOptions = "experimental-features = nix-command flakes"; + package = pkgs.nixFlakes; + }; + + services.openssh.enable = true; + environment.systemPackages = with pkgs; [ neovim git ]; +} diff --git a/flake.nix b/flake.nix index e0a02c2..3110fa5 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,6 @@ { + descripton = "Testing Nix Email-Setup for C3D2"; + inputs = { nixpkgs.url = github:NixOS/nixpkgs/nixos-21.11; sops-nix.url = github:Mic92/sops-nix; @@ -7,12 +9,6 @@ }; outputs = { self, nixpkgs, sops-nix, simple-nixos-mailserver, ... }@inputs: { - #packages."x86_64-linux" = nixpkgs.lib.filterAttrs (_: nixpkgs.lib.isDerivation) ( - # import nixpkgs { - # system = "x86_64-linux"; - # #overlays = [self.overlay]; - #}); - defaultPackage."x86_64-linux" = (nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; @@ -26,7 +22,7 @@ ]; }).config.system.build.vm; - nixosConfigurations.mailbert = nixpkgs.lib.nixosSystem { + nixosConfigurations.mailtngbert = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ diff --git a/mailbert/configuration.nix b/mailbert/configuration.nix index d90133a..5f4e7f1 100644 --- a/mailbert/configuration.nix +++ b/mailbert/configuration.nix @@ -2,34 +2,39 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. - ./hardware-configuration.nix - # Enabled modules ../modules/base.nix ../modules/mail.nix ]; - # Use the GRUB 2 boot loader. - boot.loader.grub.enable = true; - boot.loader.grub.version = 2; - boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only - networking.hostName = "mailbert"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + boot.isContainer = true; + boot.loader.initScript.enable = true; + + networking = { + interfaces.eth0.ipv4.addresses = [{ address = "172.20.73.42"; prefixLength = 26; }]; + defaultGateway = "172.20.73.1"; + nameservers = [ "172.20.73.8" "9.9.9.9" ]; + hostName = lib.mkDefault "mailtngbert"; + useDHCP = false; + interfaces.eth0.useDHCP = false; + firewall.allowedTCPPorts = [ 22 ]; + }; + + nix = { + useSandbox = false; + extraOptions = "experimental-features = nix-command flakes"; + package = pkgs.nixFlakes; + }; # Set your time zone. time.timeZone = "Europe/Berlin"; - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.networkmanager.enable = true; - # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; diff --git a/modules/base.nix b/modules/base.nix index 140f90d..5cb84bd 100644 --- a/modules/base.nix +++ b/modules/base.nix @@ -1,26 +1,20 @@ -{ pkgs, config, ... }: +{ pkgs, lib, config, ... }: { _module.args.buildVM = false; # use Nix 2.4 for flakes support - nix = { - package = pkgs.nix_2_4; - extraOptions = '' - experimental-features = nix-command flakes - ''; - }; - - # Select internationalisation properties. - # i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "uk"; - }; +# nix = { +# package = pkgs.nix_2_4; +# extraOptions = '' +# experimental-features = nix-command flakes +# ''; +# }; users.users.root = { openssh.authorizedKeys.keyFiles = [ ./keys/revol-xut + ./keys/nek0 ]; }; @@ -34,10 +28,11 @@ tmux vim_configurable wget - ]; + neovim +]; # Enable the OpenSSH daemon. services.openssh.enable = true; services.openssh.passwordAuthentication = false; - programs.mosh.enable = true; + services.openssh.permitRootLogin = "without-password"; } diff --git a/modules/keys/revol-xut b/modules/keys/revol-xut index 700b515..c91f95e 100644 --- a/modules/keys/revol-xut +++ b/modules/keys/revol-xut @@ -1,132 +1 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -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 -lVBehNjHALQ9k/lWjR0NHcQ= -=YlVy ------END PGP PUBLIC KEY BLOCK----- +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC6NLB8EHnUgl2GO2uaojdf3p3YpsHH6px6CZleif8klhLN+ro5KeFK2OXC2SO3Vo4qgF/NySdsoInV9JEsssELZ2ttVbeKxI6f76V5dZgGI7qoSf4E0TXIgpS9n9K2AEmRKr65uC2jgkSJuo/T1mF+4/Nzyo706FT/GGVoiBktgq9umbYX0vIQkTMFAcw921NwFCWFQcMYRruaH01tLu6HIAdJ9FVG8MAt84hCr4D4PobD6b029bHXTzcixsguRtl+q4fQAl3WK3HAxT+txN91CDoP2eENo3gbmdTBprD2RcB/hz5iI6IaY3p1+8fTX2ehvI3loRA8Qjr/xzkzMUlpA/8NLKbJD4YxNGgFbauEmEnlC8Evq2vMrxdDr2SjnBAUwzZ63Nq+pUoBNYG/c+h+eO/s7bjnJVe0m2/2ZqPj1jWQp4hGoNzzU1cQmy6TdEWJcg2c8ints5068HN3o0gQKkp1EseNrdB8SuG+me/c/uIOX8dPASgo3Yjv9IGLhhx8GOGQxHEQN9QFC4QyZt/rrAyGmlX342PBNYmmStgVWHiYCcMVUWGlsG0XvG6bvGgmMeHNVsDf6WdMQuLj9luvxJzrd4FlKX6O0X/sIaqMVSkhIbD2+vvKNqrii7JdUTntUPs89L5h9DoDqQWkL13Plg1iQt4/VYeKTbUhYYz1lw== revo-xut@plank diff --git a/modules/proxmox.nix b/modules/proxmox.nix new file mode 100644 index 0000000..e69de29