diff options
| Commit | 8f77ce7a5ceb8dec7cfea38d2031624027fd0d3e (patch) | |
|---|---|---|
| Author | 2025-07-01 12:16:40 +0300 | |
| Committer | 2025-07-01 12:16:40 +0300 | |
| Files | a7f973829fa92f8d9e3ab7026d81e0587bf628d3 /modules | |
| nix-8f77ce7a5ceb8dec7cfea38d2031624027fd0d3e.tar nix-8f77ce7a5ceb8dec7cfea38d2031624027fd0d3e.tar.gz nix-8f77ce7a5ceb8dec7cfea38d2031624027fd0d3e.zip | ||
| Parent | af422eab2e6917383cc321cc0393210f1585e631 (diff) | |
feat(machines): Add configuration for marduk server
This is a small home server
4 files changed, 94 insertions, 0 deletions
| -rw-r--r-- | modules/server/cli-essential.nix | 21 | ||||
| -rw-r--r-- | modules/server/default.nix | 64 | ||||
| l--------- | modules/server/fonts.nix | 1 | ||||
| -rw-r--r-- | modules/server/users-standard.nix | 8 |
diff --git a/modules/server/cli-essential.nix b/modules/server/cli-essential.nix new file mode 100644 index 0000000..3f5c6e7 --- /dev/null +++ b/modules/server/cli-essential.nix @@ -0,0 +1,21 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + dash htop rlwrap bc + # Hardware + lm_sensors lshw + # Network + curl wget git rsync inetutils netcat + # Files + vim-full nnn + # Archive formats + gnutar p7zip zip unzip rar unrar + ]; + + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-tty; + }; + }; +} diff --git a/modules/server/default.nix b/modules/server/default.nix new file mode 100644 index 0000000..058276c --- /dev/null +++ b/modules/server/default.nix @@ -0,0 +1,64 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + networkmanager + ]; + + # + # Kernel + # + + boot.kernelModules = [ "kvm-intel" ]; + + # + # Bootloader + # + + boot.loader = { + grub = { + enable = true; + copyKernels = true; + efiSupport = true; + efiInstallAsRemovable = true; + # Define on which hard drive you want to install Grub + device = "nodev"; # or "nodev" for efi only + }; + timeout = 1; + }; + + # + # Timezone and locale + # + + # Set your time zone. + time.timeZone = "Europe/Sofia"; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + # + # Networking + # + + networking = { + networkmanager.enable = true; + firewall.allowedTCPPorts = [ 2200 ]; + }; + + # zeroconf networking + services.avahi = { + enable = true; + nssmdns4 = true; + openFirewall = true; + }; + + services.openssh = { + enable = true; + ports = [ 2200 ]; + settings = { + PasswordAuthentication = true; + AllowUsers = [ "admin" ]; + UseDns = true; + X11Forwarding = true; + PermitRootLogin = "no"; + }; + }; +} diff --git a/modules/server/fonts.nix b/modules/server/fonts.nix new file mode 120000 index 0000000..9bd6055 --- /dev/null +++ b/modules/server/fonts.nix @@ -0,0 +1 @@ +../personal/fonts.nix
\ No newline at end of file diff --git a/modules/server/users-standard.nix b/modules/server/users-standard.nix new file mode 100644 index 0000000..ae9b30b --- /dev/null +++ b/modules/server/users-standard.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + users.users.admin = { + isNormalUser = true; + extraGroups = [ "wheel" "audio" "video" "input" "plugdev" ]; + packages = [ ]; + shell = pkgs.bash; + }; +} |
