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 hyprland-nix.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}