{ description = "Nick's Big Fat Flakey Sausage"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; lix-module = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nur.url = "github:nix-community/NUR"; ngipkgs.url = "github:ngi-nix/ngipkgs"; pre-commit-hooks-nix = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; systems.url = "github:nix-systems/x86_64-linux"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "nixpkgs"; }; }; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} { imports = [ inputs.pre-commit-hooks-nix.flakeModule ./home-manager ./lib ./nixos ./parts ./config ]; flake = {config, ...}: { nixosConfigurations = { desktop = inputs.self.lib.mkLinuxSystem [ ./systems/desktop ./profiles/user0 ./profiles/user1 config.nixosModules.personal config.nixosModules.desktop config.nixosModules.shared inputs.home-manager.nixosModules.home-manager inputs.lix-module.nixosModules.default inputs.nur.nixosModules.nur inputs.sops-nix.nixosModules.sops ]; fallaryn = inputs.self.lib.mkLinuxSystem [ ./systems/fallaryn ./profiles/user2 config.nixosModules.personal config.nixosModules.shared inputs.home-manager.nixosModules.home-manager inputs.lix-module.nixosModules.default inputs.nur.nixosModules.nur inputs.sops-nix.nixosModules.sops ]; laptop = inputs.self.lib.mkLinuxSystem [ ./systems/laptop ./profiles/user0 ./profiles/user1 ./profiles/user2 config.nixosModules.personal config.nixosModules.shared inputs.home-manager.nixosModules.home-manager inputs.lix-module.nixosModules.default inputs.nur.nixosModules.nur inputs.sops-nix.nixosModules.sops ]; server = inputs.self.lib.mkLinuxSystem [ ./systems/server ./profiles/user0 config.nixosModules.server config.nixosModules.shared inputs.home-manager.nixosModules.home-manager inputs.lix-module.nixosModules.default inputs.ngipkgs.nixosModules."services.peertube" inputs.ngipkgs.nixosModules.default inputs.nur.nixosModules.nur inputs.sops-nix.nixosModules.sops ]; }; templates = { haskell = { path = ./templates/haskell; description = "Haskell/Elm Environment"; }; }; }; systems = import inputs.systems; }; }