nixos-config/flake.nix

122 lines
4.9 KiB
Nix
Raw Permalink Normal View History

{
2022-11-25 06:35:11 +00:00
description = "foo-dogsquared's abomination of a NixOS configuration";
2022-02-04 12:48:02 +00:00
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=";
2024-01-16 12:08:29 +00:00
commit-lockfile-summary = "flake.lock: update inputs";
2022-02-04 12:48:02 +00:00
};
2024-01-25 11:08:34 +00:00
# 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
2023-12-26 02:20:32 +00:00
# looser when it comes to stability for the entirety of this
# configuration...
nixpkgs.follows = "nixos-unstable";
2023-12-26 02:20:32 +00:00
# ...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";
2023-12-04 10:29:37 +00:00
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
2021-12-06 10:12:00 +00:00
2022-11-25 06:35:11 +00:00
# We're using these libraries for other functions.
2021-12-18 09:41:45 +00:00
flake-utils.url = "github:numtide/flake-utils";
# Managing home configurations.
home-manager.follows = "home-manager-unstable";
2024-01-25 11:08:34 +00:00
home-manager-stable.url = "github:nix-community/home-manager/release-24.05";
2024-01-25 11:08:34 +00:00
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs";
home-manager-unstable.url = "github:nix-community/home-manager";
2024-01-25 11:08:34 +00:00
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";
2024-11-30 07:36:42 +00:00
# Configure those quirky hardware for you.
nixos-hardware.url = "github:NixOS/nixos-hardware";
2022-02-04 15:36:22 +00:00
# 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";
2022-11-25 06:35:11 +00:00
# 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";
2022-01-02 00:40:01 +00:00
emacs-overlay.url = "github:nix-community/emacs-overlay";
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
2022-01-02 00:40:01 +00:00
2022-08-04 13:32:15 +00:00
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";
};
2022-01-07 03:09:32 +00:00
outputs = inputs@{ self, nixpkgs, ... }:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
2024-01-06 11:10:54 +00:00
systems = [
"x86_64-linux"
"aarch64-linux"
];
imports = [
2024-01-15 23:21:31 +00:00
./modules/flake-parts
./configs/flake-parts
];
2022-01-25 01:32:17 +00:00
};
}