aboutsummaryrefslogtreecommitdiff
path: root/nix/machines
diff options
context:
space:
mode:
Diffstat (limited to 'nix/machines')
-rw-r--r--nix/machines/darwin-shared.nix12
-rw-r--r--nix/machines/hardware/vm-synology.nix36
-rw-r--r--nix/machines/vm-aarch64.nix17
-rw-r--r--nix/machines/vm-shared.nix9
-rw-r--r--nix/machines/vm-synology.nix1
5 files changed, 42 insertions, 33 deletions
diff --git a/nix/machines/darwin-shared.nix b/nix/machines/darwin-shared.nix
index 6c727f8..344ff00 100644
--- a/nix/machines/darwin-shared.nix
+++ b/nix/machines/darwin-shared.nix
@@ -1,18 +1,6 @@
{ pkgs, ... }: {
nix = {
package = pkgs.nixVersions.stable;
-
- gc = {
- user = "root";
- automatic = true;
- interval = [{
- Hour = 7;
- Minute = 0;
- Weekday = 0;
- }];
- options = "--delete-older-than 7d";
- };
-
settings = {
trusted-users = [ "@admin" "fcuny" ];
experimental-features = [ "nix-command" "flakes" ];
diff --git a/nix/machines/hardware/vm-synology.nix b/nix/machines/hardware/vm-synology.nix
new file mode 100644
index 0000000..5511e98
--- /dev/null
+++ b/nix/machines/hardware/vm-synology.nix
@@ -0,0 +1,36 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{ 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 = [ "kvm-amd" ];
+ boot.extraModulePackages = [ ];
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-label/nixos";
+ fsType = "ext4";
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-label/boot";
+ fsType = "vfat";
+ options = [ "fmask=0022" "dmask=0022" ];
+ };
+
+ 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.<interface>.useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.ens3.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+}
diff --git a/nix/machines/vm-aarch64.nix b/nix/machines/vm-aarch64.nix
index 8e84ed5..1c2e479 100644
--- a/nix/machines/vm-aarch64.nix
+++ b/nix/machines/vm-aarch64.nix
@@ -1,16 +1 @@
-{ ... }: {
- imports = [ ./hardware/vm-aarch64-utm.nix ./vm-shared.nix ];
-
- # Interface is this on my M1
- networking.interfaces.enp0s10.useDHCP = true;
-
- # Qemu
- services.spice-vdagentd.enable = true;
-
- # For now, we need this since hardware acceleration does not work.
- environment.variables.LIBGL_ALWAYS_SOFTWARE = "1";
-
- # Lots of stuff that uses aarch64 that claims doesn't work, but actually works.
- nixpkgs.config.allowUnfree = true;
- nixpkgs.config.allowUnsupportedSystem = true;
-}
+{ ... }: { imports = [ ./hardware/vm-aarch64-utm.nix ./vm-shared.nix ]; }
diff --git a/nix/machines/vm-shared.nix b/nix/machines/vm-shared.nix
index 04eedf0..acff195 100644
--- a/nix/machines/vm-shared.nix
+++ b/nix/machines/vm-shared.nix
@@ -3,11 +3,10 @@
nix = {
package = pkgs.nixVersions.latest;
- extraOptions = ''
- experimental-features = nix-command flakes
- keep-outputs = true
- keep-derivations = true
- '';
+ settings = {
+ trusted-users = [ "@admin" "fcuny" ];
+ experimental-features = [ "nix-command" "flakes" ];
+ };
};
# Use the systemd-boot EFI boot loader.
diff --git a/nix/machines/vm-synology.nix b/nix/machines/vm-synology.nix
new file mode 100644
index 0000000..a38af50
--- /dev/null
+++ b/nix/machines/vm-synology.nix
@@ -0,0 +1 @@
+{ ... }: { imports = [ ./hardware/vm-synology.nix ./vm-shared.nix ]; }