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}