{ description = "Configuration for Everest"; inputs = { nixpkgs.url = "nixpkgs/nixos-22.11"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; agenix = { url = "github:ryantm/agenix"; inputs = { nixpkgs.follows = "nixpkgs"; darwin.follows = ""; # Not using this on MacOS, so this doesn't pull it's dependencies }; }; home-manager.url = "github:nix-community/home-manager/release-22.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nix-impermanence.url = "github:nix-community/impermanence"; }; outputs = {nixpkgs, agenix, home-manager, nixpkgs-unstable, nix-impermanence, ... }: { devShells.x86_64-linux.default = nixpkgs.legacyPackages.x86_64-linux.mkShell { name = "Environment for toast's nixos configurations"; # The agenix cli is not needed to activate a configuration, so instead of installing it # I'll just add it to de devShell, since that's the only real time I'm going to use it. packages = [ agenix.packages.x86_64-linux.default nixpkgs.legacyPackages.x86_64-linux.git ]; shellHook ='' export PS1="$PS1(toast-configs)> " ''; }; nixosConfigurations = { Everest = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; pkgs = import nixpkgs { system = "x86_64-linux"; config = { allowUnfree = false; }; }; modules = [ # Needed for nix-index { nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; } agenix.nixosModules.default home-manager.nixosModule ./roles/common ./roles/server ./machines/Everest ./openbox.nix ]; }; }; }; }