{ description = "sefidel's nix flake dotfiles"; inputs = { unstable.url = "github:nixos/nixpkgs/nixos-unstable"; unstable-small.url = "github:nixos/nixpkgs/nixos-unstable-small"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; nixpkgs-2311.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-crystal.url = "github:sefidel/nixpkgs/crystal_1_11"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "unstable"; colmena.url = "github:zhaofengli/colmena"; colmena.inputs.nixpkgs.follows = "unstable"; nur.url = "github:nix-community/NUR"; impermanence.url = "github:nix-community/impermanence"; sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "unstable"; flake-compat.url = "github:edolstra/flake-compat"; flake-compat.flake = false; hydra.url = "github:NixOS/hydra"; attic.url = "github:zhaofengli/attic"; neovim-nightly.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly.inputs.nixpkgs.follows = "unstable"; # TODO: https://github.com/helix-editor/helix/pull/9867 helix.url = "github:helix-editor/helix/0ff7ccbb2c1fd06584e150b366e0c46259a32aef"; helix.inputs.nixpkgs.follows = "unstable"; helix.inputs.rust-overlay.follows = "rust"; rust.url = "github:oxalica/rust-overlay"; rust.inputs.nixpkgs.follows = "unstable"; nix-gaming.url = "github:fufexan/nix-gaming"; nix-gaming.inputs.nixpkgs.follows = "unstable"; }; outputs = { self, unstable, ... } @ inputs: let lib = unstable.lib.extend (self: super: { my = import ./lib { inherit inputs; lib = self; }; }); in { lib = lib.my; nixosConfigurations = import ./nixos inputs; homeConfigurations = import ./home inputs; colmena = self.lib.mkColmenaFromNixOSConfigurations self.nixosConfigurations; hydraJobs = self.lib.mkHydraFromNixOSConfigurations self.nixosConfigurations; # // self.lib.mkHydraFromHomeConfigurations self.homeConfigurations; }; }