mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-30 16:57:56 +00:00
122 lines
4.9 KiB
Nix
122 lines
4.9 KiB
Nix
{
|
|
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
|
|
];
|
|
};
|
|
}
|