{ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; stable.url = "nixpkgs/nixos-23.05"; flake-utils.url = "github:numtide/flake-utils"; nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; impurity.url = "github:outfoxxed/impurity.nix"; nixpak = { url = "github:nixpak/nixpak"; inputs.nixpkgs.follows = "nixpkgs"; }; emacs-overlay = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; /*radicle = { url = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; };*/ hyprland = { url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; }; hyprland-hy3 = { url = "github:outfoxxed/hy3"; inputs.hyprland.follows = "hyprland"; }; quickshell = { url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; walker = { url = "github:abenz1267/walker"; inputs.nixpkgs.follows = "nixpkgs"; }; nur.url = "github:nix-community/NUR"; # devenv rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; }; outputs = inputs @ { self, nixpkgs, ... }: { nixosConfigurations = { msi = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { inherit self system inputs; }; modules = [ ./modules/impurity.nix ./modules/preserve-system.nix ./modules/devenv ./modules/system.nix ./modules/hyprland ./systems/msi ]; }; lenovo = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { inherit self system inputs; }; modules = [ ./modules/impurity.nix ./modules/preserve-system.nix ./modules/devenv ./modules/system.nix ./modules/hyprland ./systems/lenovo ]; }; msi-impure = self.nixosConfigurations.msi.extendModules { modules = [ { impurity.enable = true; } ]; }; lenovo-impure = self.nixosConfigurations.lenovo.extendModules { modules = [ { impurity.enable = true; } ]; }; }; devShells = import ./modules/devenv/flakepart.nix inputs; }; }