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-23.11";
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-23.11";
13 home-manager.inputs.nixpkgs.follows = "nixpkgs";
14
15 # hyprland nix
16 hyprland-nix.url = "github:hyprland-community/hyprnix";
17
18 disko.url = "github:nix-community/disko";
19 disko.inputs.nixpkgs.follows = "nixpkgs";
20
21 # agenix
22 agenix.url = "github:ryantm/agenix";
23
24 spicetify-nix = {
25 url = "github:Gerg-L/spicetify-nix";
26 inputs.nixpkgs.follows = "nixpkgs";
27 };
28 };
29
30 outputs = {
31 self,
32 nixpkgs,
33 agenix,
34 home-manager,
35 nixos-hardware,
36 ...
37 } @ inputs: let
38 inherit (self) outputs;
39 in {
40 # NixOS configuration entrypoint
41 # Available through 'nixos-rebuild --flake .#your-hostname'
42 nixosConfigurations = {
43 moonlark = nixpkgs.lib.nixosSystem {
44 system = "x86_64-linux";
45 specialArgs = {inherit inputs outputs;};
46 # > Our main nixos configuration file <
47 modules = [
48 inputs.disko.nixosModules.disko
49 { disko.devices.disk.disk1.device = "/dev/vda"; }
50 agenix.nixosModules.default
51 ./moonlark/configuration.nix
52 ];
53 };
54 };
55 };
56}