{ description = "flake for nixos-pulse"; nixConfig = { extra-trusted-substituters = [ "https://nix-community.cachix.org" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; 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"; }; nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-wallpaper = { url = "github:lunik1/nix-wallpaper"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; plasma-manager = { url = "github:pjones/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; envfs = { url = "github:Mic92/envfs"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-ld = { url = "github:Mic92/nix-ld"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: let system = "x86_64-linux"; customPkgs = import inputs.nixpkgs { system = "${system}"; overlays = [inputs.emacs-overlay.overlay]; config = { allowUnfree = true; }; }; pkgs = customPkgs; in { formatter = { ${system} = pkgs.alejandra; }; diskoConfigurations = { nixos-pulse = import ./disko.nix; }; homeConfigurations = { "tristand" = inputs.home-manager.lib.homeManagerConfiguration { inherit pkgs; modules = [ ./home.nix inputs.plasma-manager.homeManagerModules.plasma-manager inputs.nix-index-database.hmModules.nix-index inputs.nur.hmModules.nur { _module.args.inputs = inputs; } ]; }; }; nixosConfigurations = { nixos-pulse = inputs.nixpkgs.lib.nixosSystem { modules = [ ./configuration.nix ./users.nix ./disko.nix inputs.disko.nixosModules.disko inputs.envfs.nixosModules.envfs inputs.home-manager.nixosModules.home-manager inputs.nix-index-database.nixosModules.nix-index inputs.nix-ld.nixosModules.nix-ld inputs.nur.nixosModules.nur inputs.tuxedo-nixos.nixosModules.default { _module.args.inputs = inputs; _module.args.system = system; nixpkgs.pkgs = customPkgs; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager inputs.nix-index-database.hmModules.nix-index inputs.nur.hmModules.nur ]; hardware.tuxedo-control-center.enable = true; hardware.tuxedo-control-center.package = inputs.tuxedo-nixos.packages.x86_64-linux.default; } ]; }; }; }; }