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
36 outputs = {
37 self,
38 nixpkgs,
39 agenix,
40 home-manager,
41 nixos-hardware,
42 hyprland-contrib,
43 ...
44 } @ inputs: let
45 inherit (self) outputs;
46 in {
47 # NixOS configuration entrypoint
48 # Available through 'nixos-rebuild --flake .#your-hostname'
49 nixosConfigurations = {
50 moonlark = nixpkgs.lib.nixosSystem {
51 system = "x86_64-linux";
52 specialArgs = {inherit inputs outputs;};
53 # > Our main nixos configuration file <
54 modules = [
55 inputs.disko.nixosModules.disko
56 { disko.devices.disk.disk1.device = "/dev/vda"; }
57 agenix.nixosModules.default
58 ./moonlark/configuration.nix
59 ];
60 };
61 };
62 };
63}