Kieran's opinionated (and probably slightly dumb) nix config
1{
2 description = "Kieran's opinionated (and probably slightly dumb) nix config";
3
4 inputs = {
5 # Nixpkgs
6 nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
7
8 # NixOS hardware configuration
9 hardware.url = "github:NixOS/nixos-hardware/master";
10
11 # Home manager
12 home-manager.url = "github:nix-community/home-manager/release-24.05";
13 home-manager.inputs.nixpkgs.follows = "nixpkgs";
14
15 # hyprland nix
16 Hyprnix.url = "github:hyprland-community/hyprnix";
17 hyprland-contrib = {
18 url = "github:hyprwm/contrib";
19 };
20
21 disko.url = "github:nix-community/disko";
22 disko.inputs.nixpkgs.follows = "nixpkgs";
23
24 # agenix
25 agenix.url = "github:ryantm/agenix";
26
27 spicetify-nix = {
28 url = "github:Gerg-L/spicetify-nix";
29 inputs.nixpkgs.follows = "nixpkgs";
30 };
31
32 # catppuccin
33 catppuccin.url = "github:catppuccin/nix";
34
35 nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
36 };
37
38 outputs = {
39 self,
40 nixpkgs,
41 agenix,
42 home-manager,
43 nixos-hardware,
44 hyprland-contrib,
45 ...
46 } @ inputs: let
47 inherit (self) outputs;
48 in {
49 # NixOS configuration entrypoint
50 # Available through 'nixos-rebuild --flake .#your-hostname'
51 nixosConfigurations = {
52 moonlark = nixpkgs.lib.nixosSystem {
53 system = "x86_64-linux";
54 specialArgs = {inherit inputs outputs;};
55 # > Our main nixos configuration file <
56 modules = [
57 inputs.disko.nixosModules.disko
58 { disko.devices.disk.disk1.device = "/dev/vda"; }
59 agenix.nixosModules.default
60 ./moonlark/configuration.nix
61 ];
62 };
63 };
64 };
65}