diff --git a/machines/nuage/default.nix b/machines/nuage/default.nix new file mode 100644 index 0000000..d93578f --- /dev/null +++ b/machines/nuage/default.nix @@ -0,0 +1,56 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ./hardware.nix + ../../users/default.nix + ../../users/julien.nix + ./home-julien.nix + ]; + + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/sda"; + boot.loader.grub.useOSProber = true; + + deployment.tags = [ "server" ]; + + luj.nginx.enable = true; + + systemd.network.enable = true; + + systemd.network.networks."10-wan" = { + matchConfig.Name = "ens18"; + networkConfig = { + DHCP = "ipv4"; + Address = "2a01:e0a:de4:a0e1:95c9:b2e2:e999:1a45"; + }; + linkConfig.RequiredForOnline = "routable"; + }; + + services.mysql.enable = true; + services.mysql.package = pkgs.mysql; + services.nextcloud = { + enable = true; + package = pkgs.nextcloud26; + https = true; + hostName = "nuage.malka.family"; + config = { + overwriteProtocol = "https"; + dbtype = "mysql"; + dbuser = "test"; + dbhost = "localhost"; # nextcloud will add /.s.PGSQL.5432 by itself + dbname = "nuage"; + dbpassFile = "/srv/nextclouddbpass"; + adminpassFile = "/srv/nextcloudadminpass"; + + adminuser = "admin"; + }; + }; + + services.nginx.virtualHosts.${config.services.nextcloud.hostName} = { + forceSSL = true; + enableACME = true; + }; + + system.stateVersion = "22.05"; +} diff --git a/machines/nuage/hardware.nix b/machines/nuage/hardware.nix new file mode 100644 index 0000000..36f9f8c --- /dev/null +++ b/machines/nuage/hardware.nix @@ -0,0 +1,38 @@ +{ + config, + lib, + modulesPath, + ... +}: + +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + + boot.initrd.availableKernelModules = [ + "ata_piix" + "uhci_hcd" + "virtio_pci" + "virtio_scsi" + "sd_mod" + "sr_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/7b68596b-75f2-457f-a43c-7b39a2f08437"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.ens18.useDHCP = lib.mkDefault true; + + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}