{ description = "nixos config"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.05"; nur.url = "github:/nix-community/NUR"; nix-std.url = "github:chessai/nix-std"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; flake-utils.url = "github:numtide/flake-utils"; helix = { url = "github:helix-editor/helix"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-rice.url = "github:bertof/nix-rice"; nixd.url = "github:nix-community/nixd"; nix-ld-rs = { url = "github:nix-community/nix-ld-rs"; inputs.nixpkgs.follows = "nixpkgs"; }; plasma-manager.url = "github:pjones/plasma-manager"; flatpaks.url = "github:GermanBread/declarative-flatpak"; # atuin.url = "github:atuinsh/atuin"; }; outputs = { self, nixpkgs, nixpkgs-stable, home-manager, nur, helix, plasma-manager, flatpaks, # atuin, nixd, nix-ld-rs, nix-index-database, nix-rice, nix-std, ... } @ inputs: let inherit (self) outputs; forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ]; in rec { overlays = import ./util/overlay.nix {inherit inputs;}; nixosConfigurations = { "quiver" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; modules = [ ./system/quiver.nix ./system/cachix.nix nur.nixosModules.nur nix-index-database.nixosModules.nix-index home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = {inherit inputs outputs;}; home-manager.users.bolt.imports = [ flatpaks.homeManagerModules.default ./home/bolt.nix ]; } ]; }; "adrift" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = {inherit inputs outputs;}; modules = [ ./system/adrift.nix ./system/cachix.nix nur.nixosModules.nur nix-index-database.nixosModules.nix-index home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = {inherit inputs outputs;}; home-manager.users.plank.imports = [./home/plank.nix]; } ]; }; }; }; }