-
Notifications
You must be signed in to change notification settings - Fork 5
/
flake.nix
121 lines (95 loc) · 4.85 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
{
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
];
};
}