{ description = "Evie's machine configurations"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, }: let hardware-audio = {pkgs, ...}: { # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; programs.noisetorch.enable = true; }; hardware-bluetooth = { hardware.bluetooth = { enable = true; powerOnBoot = true; }; }; in { nixosConfigurations = { Legion = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ home-manager.nixosModules.home-manager ./hosts/Legion/configuration.nix ./common.nix ./services/Legion.nix ]; }; N0245 = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ home-manager.nixosModules.home-manager hardware-audio hardware-bluetooth ./hosts/N0245/configuration.nix ./common.nix ./wm/sway.nix ./services/syncthing/N0245.nix ]; }; }; homeConfigurations = { "tux" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."aarch64-darwin"; modules = [./hosts/Monarch/home.nix]; }; "xenia" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages."aarch64-linux"; modules = [./hosts/Northstar/home.nix]; }; }; }; }