diff options
Diffstat (limited to 'systems/afrodite')
| -rw-r--r-- | systems/afrodite/boot.nix | 19 | ||||
| -rw-r--r-- | systems/afrodite/default.nix | 37 | ||||
| -rw-r--r-- | systems/afrodite/hardware.nix | 7 | ||||
| -rw-r--r-- | systems/afrodite/locales.nix | 20 | ||||
| -rw-r--r-- | systems/afrodite/networking.nix | 24 | ||||
| -rw-r--r-- | systems/afrodite/programs.nix | 26 | ||||
| -rw-r--r-- | systems/afrodite/services.nix | 9 |
7 files changed, 142 insertions, 0 deletions
diff --git a/systems/afrodite/boot.nix b/systems/afrodite/boot.nix new file mode 100644 index 0000000..fccaeac --- /dev/null +++ b/systems/afrodite/boot.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + boot = { + kernelPackages = pkgs.linuxPackages_6_18; # NOTE: soltanto versioni LTS per il server + #kernelModules = [ "kvm-intel" ]; + kernelParams = [ "boot.shell_on_fail" ]; + + initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; + kernelModules = [ ]; + }; + + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + + extraModulePackages = [ ]; + }; +} diff --git a/systems/afrodite/default.nix b/systems/afrodite/default.nix new file mode 100644 index 0000000..c404d81 --- /dev/null +++ b/systems/afrodite/default.nix @@ -0,0 +1,37 @@ +{pkgs, ...}: { + imports = [ + ./hardware.nix + ./boot.nix + ./networking.nix + ./locales.nix + + ./services.nix + ./programs.nix + ]; + + # Experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Users + users.users.leo = { + isNormalUser = true; + shell = pkgs.zsh; + + extraGroups = [ "wheel" "networkmanager" ]; + }; + + programs.zsh.enable = true; + + environment.shellAliases = { + ls = "eza"; + l = "ls -lh"; + ll = "ls -lah"; + + update-boot = "sudo nixos-rebuild boot --flake ~/nixos#afrodite"; + update-system = "sudo nixos-rebuild switch --flake ~/nixos#afrodite"; + update-home = "home-manager switch --flake ~/nixos#afrodite"; + }; + + # Version + system.stateVersion = "25.05"; +} diff --git a/systems/afrodite/hardware.nix b/systems/afrodite/hardware.nix new file mode 100644 index 0000000..51ddcd0 --- /dev/null +++ b/systems/afrodite/hardware.nix @@ -0,0 +1,7 @@ +{config, lib, modulesPath, ...}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/systems/afrodite/locales.nix b/systems/afrodite/locales.nix new file mode 100644 index 0000000..2d2363d --- /dev/null +++ b/systems/afrodite/locales.nix @@ -0,0 +1,20 @@ +{...}: { + time.timeZone = "Europe/Rome"; + console.keyMap = "it"; + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "it_IT.UTF-8"; + LC_IDENTIFICATION = "it_IT.UTF-8"; + LC_MEASUREMENT = "it_IT.UTF-8"; + LC_MONETARY = "it_IT.UTF-8"; + LC_NAME = "it_IT.UTF-8"; + LC_NUMERIC = "it_IT.UTF-8"; + LC_PAPER = "it_IT.UTF-8"; + LC_TELEPHONE = "it_IT.UTF-8"; + LC_TIME = "it_IT.UTF-8"; + }; + }; +} diff --git a/systems/afrodite/networking.nix b/systems/afrodite/networking.nix new file mode 100644 index 0000000..78fdc57 --- /dev/null +++ b/systems/afrodite/networking.nix @@ -0,0 +1,24 @@ +{lib, ...}: { + networking = { + hostName = "afrodite"; + useDHCP = lib.mkDefault true; + + nameservers = [ "208.67.222.222" "208.67.220.220" ]; + + firewall = { + enable = true; + + allowedTCPPorts = [ 22 ]; + allowedUDPPorts = [ 51820 ]; + }; + + networkmanager.enable = true; + + wg-quick.interfaces."tunnel" = { + privateKeyFile = "/home/leo/.wireguard/private.key"; + address = [ "10.69.0.1/24" ]; + + peers = []; + }; + }; +} diff --git a/systems/afrodite/programs.nix b/systems/afrodite/programs.nix new file mode 100644 index 0000000..34c0eaa --- /dev/null +++ b/systems/afrodite/programs.nix @@ -0,0 +1,26 @@ +{inputs, pkgs, ...}: { + imports = [ + ../../components/programs/git.nix + + inputs.home-manager.nixosModules.home-manager + ]; + + nixpkgs.config.allowUnfree = true; + + # Packages + environment.systemPackages = with pkgs; [ + ascii file fastfetch eza btop dysk + openssh rsync wireguard-tools dig + tmux vim + + # Home manager + inputs.home-manager.packages.${stdenv.hostPlatform.system}.home-manager + ]; + + # Docker + virtualisation.docker.enable = true; + users.extraGroups."docker".members = [ "leo" ]; + + # Custom modules + git.enable = true; +} diff --git a/systems/afrodite/services.nix b/systems/afrodite/services.nix new file mode 100644 index 0000000..f7f8644 --- /dev/null +++ b/systems/afrodite/services.nix @@ -0,0 +1,9 @@ +{...}: { + imports = [ + ../../components/services/openssh.nix + ]; + + # Custom modules + openssh.enable = true; + caddy.enable = true; +} |
