{ description = "foo-dogsquared's abomination of a NixOS configuration"; nixConfig = { extra-substituters = "https://nix-community.cachix.org https://foo-dogsquared.cachix.org"; extra-trusted-public-keys = "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= foo-dogsquared.cachix.org-1:/2fmqn/gLGvCs5EDeQmqwtus02TUmGy0ZlAEXqRE70E="; commit-lockfile-summary = "flake.lock: update inputs"; }; # Just take note we still set common flake inputs to our own version even if # we just use the modules and its overlays just so we don't download more of # them. Each flake update is like 100MB worth just from the multiple nixpkgs # branches at the following section, that's edging on the "too-much" scale # for my fragile internet bandwidth. inputs = { # I know NixOS can be stable but we're going cutting edge, baybee! While # `nixpkgs-unstable` branch could be faster delivering updates, it is # looser when it comes to stability for the entirety of this # configuration... nixpkgs.follows = "nixos-unstable"; # ...except we allow other configurations to use other nixpkgs branch so # that may not matter anyways. nixos-stable.url = "github:NixOS/nixpkgs/nixos-24.05"; nixos-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # We're using these libraries for other functions. flake-utils.url = "github:numtide/flake-utils"; # Managing home configurations. home-manager.follows = "home-manager-unstable"; home-manager-stable.url = "github:nix-community/home-manager/release-24.05"; home-manager-stable.inputs.nixpkgs.follows = "nixpkgs"; home-manager-unstable.url = "github:nix-community/home-manager"; home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs"; # Make a Neovim distro. nixvim.follows = "nixvim-unstable"; nixvim-stable.url = "github:nix-community/nixvim/nixos-24.05"; nixvim-stable.inputs.nixpkgs.follows = "nixos-stable"; nixvim-stable.inputs.home-manager.follows = "home-manager-stable"; nixvim-unstable.url = "github:nix-community/nixvim"; nixvim-unstable.inputs.nixpkgs.follows = "nixos-unstable"; nixvim-unstable.inputs.home-manager.follows = "home-manager-unstable"; # Make a wrapper. wrapper-manager-fds.url = "github:foo-dogsquared/nix-module-wrapper-manager-fds"; # This is what AUR strives to be. nur.url = "github:nix-community/NUR"; # Configure those quirky hardware for you. nixos-hardware.url = "github:NixOS/nixos-hardware"; # Generate your NixOS systems to various formats! nixos-generators.url = "github:nix-community/nixos-generators"; nixos-generators.inputs.nixpkgs.follows = "nixpkgs"; # Managing your secrets. sops-nix.url = "github:Mic92/sops-nix"; sops-nix.inputs.nixpkgs.follows = "nixpkgs"; # NixOS in Windows. nixos-wsl.url = "github:nix-community/NixOS-WSL"; nixos-wsl.inputs.nixpkgs.follows = "nixpkgs"; # We're getting more unstable there should be a black hole at my home right # now. Also, we're seem to be collecting text editors like it is Pokemon. neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; neovim-nightly-overlay.inputs.nixpkgs.follows = "nixpkgs"; emacs-overlay.url = "github:nix-community/emacs-overlay"; emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; helix-editor.url = "github:helix-editor/helix"; helix-editor.inputs.nixpkgs.follows = "nixpkgs"; # Removing the manual partitioning part with a little boogie. disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; # Deploying stuff with Nix. This is becoming a monorepo for everything I # need and I'm liking it. deploy.url = "github:serokell/deploy-rs"; deploy.inputs.nixpkgs.follows = "nixpkgs"; # Add a bunch of pre-compiled indices since mine are always crashing. nix-index-database.url = "github:nix-community/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; # Make a default.nix compatible stuff. Take note, we're giving this a # unique suffix since there are other flake inputs that uses the same flake # and we want our `default.nix` to refer to our version. flake-compat-fds.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"; # Someone had the idea to make the flake outputs be configured as a Nix # module and I love them for it. flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ self, nixpkgs, ... }: inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" ]; imports = [ ./modules/flake-parts ./configs/flake-parts ]; }; }