# /etc/nixos/flake.nix { description = "flake for nixos-pulse"; inputs = { nixpkgs = { url = "github:NixOS/nixpkgs/nixos-23.05"; }; tuxedo-nixos = { url = "github:blitz/tuxedo-nixos"; }; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; emacs-overlay = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, home-manager, nixpkgs, tuxedo-nixos, emacs-overlay, disko, }: { formatter = { x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra; }; diskoConfigurations = { nixos-pulse = import ./disko.nix; }; nixosConfigurations = let customPkgs = import nixpkgs { system = "x86_64-linux"; overlays = [emacs-overlay.overlay]; config = { allowUnfree = true; }; }; in { nixos-pulse = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./configuration.nix ./home.nix home-manager.nixosModules.home-manager tuxedo-nixos.nixosModules.default { nixpkgs.pkgs = customPkgs; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; hardware.tuxedo-control-center.enable = true; hardware.tuxedo-control-center.package = tuxedo-nixos.packages.x86_64-linux.default; } ]; }; }; }; }