diff --git a/flake.nix b/flake.nix index 9029ef3..f8d2f34 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,7 @@ system = "x86_64-linux"; specialArgs = { inherit inputs outputs; }; modules = [ - ./machine/desktop.nix + ./machine/desktop/configuration.nix ]; }; @@ -61,10 +61,17 @@ specialArgs = { inherit inputs outputs; }; modules = [ fw-fanctrl.nixosModules.default - ./machine/framework.nix + ./machine/framework/configuration.nix ]; }; + vps-arm = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs outputs; }; + modules = [ + ./machine/vps-arm/configuration.nix + ]; + }; }; }; } diff --git a/machine/desktop.nix b/machine/desktop/configuration.nix similarity index 92% rename from machine/desktop.nix rename to machine/desktop/configuration.nix index b59850a..24bc040 100755 --- a/machine/desktop.nix +++ b/machine/desktop/configuration.nix @@ -1,8 +1,8 @@ { config, pkgs, inputs, outputs, ... }: let - secrets = import ../configs/secrets.nix; - be = import ../configs/borg-exclude.nix; - wireguard = import ../configs/wireguard.nix; + secrets = import ../../configs/secrets.nix; + be = import ../../configs/borg-exclude.nix; + wireguard = import ../../configs/wireguard.nix; in { nixpkgs = { @@ -30,19 +30,19 @@ in }; imports = [ - ./desktop-hardware-configuration.nix + ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.common-cpu-amd inputs.nixos-hardware.nixosModules.common-cpu-amd-pstate inputs.nixos-hardware.nixosModules.common-cpu-amd-zenpower inputs.nixos-hardware.nixosModules.common-pc-ssd - ../configs/browser.nix - ../configs/common.nix - ../configs/docker.nix - ../configs/games.nix - ../configs/libvirt.nix - ../configs/plasma.nix - ../configs/user-gui.nix - ../configs/user.nix + ../../configs/browser.nix + ../../configs/common.nix + ../../configs/docker.nix + ../../configs/games.nix + ../../configs/libvirt.nix + ../../configs/plasma.nix + ../../configs/user-gui.nix + ../../configs/user.nix ]; nix.settings.system-features = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-znver2" ]; diff --git a/machine/desktop-hardware-configuration.nix b/machine/desktop/hardware-configuration.nix similarity index 100% rename from machine/desktop-hardware-configuration.nix rename to machine/desktop/hardware-configuration.nix diff --git a/machine/framework.nix b/machine/framework/configuration.nix similarity index 87% rename from machine/framework.nix rename to machine/framework/configuration.nix index d1ca589..15da59c 100755 --- a/machine/framework.nix +++ b/machine/framework/configuration.nix @@ -1,8 +1,7 @@ { config, pkgs, lib, outputs, inputs, ... }: let - be = import ../configs/borg-exclude.nix; - secrets = import ../configs/secrets.nix; - wireguard = import ../configs/wireguard.nix; + be = import ../../configs/borg-exclude.nix; + secrets = import ../../configs/secrets.nix; in { nixpkgs = { @@ -10,16 +9,6 @@ in outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages - - # You can also add overlays exported from other flakes: - # neovim-nightly-overlay.overlays.default - - # Or define it inline, for example: - # (final: prev: { - # hi = final.hello.overrideAttrs (oldAttrs: { - # patches = [ ./change-hello-to-hi.patch ]; - # }); - # }) ]; config = { allowUnfree = true; @@ -27,16 +16,16 @@ in }; imports = [ - ./framework-hardware-configuration.nix + ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.framework-12th-gen-intel - ../configs/browser.nix - ../configs/common.nix - ../configs/docker.nix - ../configs/games.nix - ../configs/libvirt.nix - ../configs/plasma-wayland.nix - ../configs/user-gui.nix - ../configs/user.nix + ../../configs/browser.nix + ../../configs/common.nix + ../../configs/docker.nix + ../../configs/games.nix + ../../configs/libvirt.nix + ../../configs/plasma-wayland.nix + ../../configs/user-gui.nix + ../../configs/user.nix ]; boot = { diff --git a/machine/framework-hardware-configuration.nix b/machine/framework/hardware-configuration.nix similarity index 100% rename from machine/framework-hardware-configuration.nix rename to machine/framework/hardware-configuration.nix diff --git a/machine/vps-arm.nix b/machine/vps-arm/configuration.nix similarity index 83% rename from machine/vps-arm.nix rename to machine/vps-arm/configuration.nix index 9ab4d24..6c0a174 100755 --- a/machine/vps-arm.nix +++ b/machine/vps-arm/configuration.nix @@ -1,24 +1,34 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, outputs, inputs, ... }: let - secrets = import ../configs/secrets.nix; - be = import ../configs/borg-exclude.nix; - unstable = import { config.allowUnfree = true; }; + secrets = import ../../configs/secrets.nix; + be = import ../../configs/borg-exclude.nix; in { - imports = [ - /etc/nixos/hardware-configuration.nix - ../configs/common.nix - ../configs/docker.nix - ../configs/user.nix + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; + config = { + allowUnfree = true; + }; + }; - ../services/adguardhome.nix - ../services/frigate.nix - ../services/gitea.nix - ../services/nextcloud.nix - ../services/rustdesk-server.nix - ../services/uptime-kuma.nix - ../services/headscale.nix - ../services/goaccess.nix + imports = [ + ./hardware-configuration.nix + ../../configs/common.nix + ../../configs/docker.nix + ../../configs/user.nix + + ../../services/adguardhome.nix + ../../services/frigate.nix + ../../services/gitea.nix + ../../services/nextcloud.nix + ../../services/rustdesk-server.nix + ../../services/uptime-kuma.nix + ../../services/headscale.nix + ../../services/goaccess.nix ]; boot.loader = { diff --git a/machine/vps-arm/hardware-configuration.nix b/machine/vps-arm/hardware-configuration.nix new file mode 100644 index 0000000..2c37635 --- /dev/null +++ b/machine/vps-arm/hardware-configuration.nix @@ -0,0 +1,37 @@ +# 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. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_scsi" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/332b05c2-56cc-4b0b-b906-54b6b87542cd"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/3D20-21CC"; + 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp7s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/services/frigate.nix b/services/frigate.nix index bd9410f..1abb41c 100644 --- a/services/frigate.nix +++ b/services/frigate.nix @@ -1,6 +1,5 @@ { config, lib, pkgs, ... }: let - unstable = import { config.allowUnfree = true; }; secrets = import ../configs/secrets.nix; in { @@ -17,7 +16,7 @@ in frigate = { enable = true; - package = unstable.pkgs.frigate; + package = pkgs.unstable.frigate; hostname = "frigate.szczepan.ski"; settings = {