{ description = "A simple NixOS flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; self.submodules = true; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; tide = { url = "git+https://git.yisroelbaum.com/yisroelbaum/TIDE"; inputs.nixpkgs.follows = "nixpkgs"; }; resume = { url = "git+https://git.yisroelbaum.com/yisroelbaum/MyResume"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, sops-nix, tide, resume, ... }: let system = "x86_64-linux"; domainName = "yisroelbaum.com"; in { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { modules = [ ./configuration.nix ./tide.nix home-manager.nixosModules.home-manager sops-nix.nixosModules.sops tide.nixosModules.tide { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.yisroel = ./home-manager/home.nix; } ]; specialArgs = { inherit domainName resume; }; }; devShells."${system}".default = let pkgs = import nixpkgs { inherit system; }; in pkgs.mkShell { buildInputs = with pkgs; [ nixos-rebuild sops age ]; }; }; }