flake.nix 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. {
  2. description = "my nix configuration";
  3. inputs = {
  4. nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
  5. nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-24.11-darwin";
  6. nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
  7. darwin.url = "github:lnl7/nix-darwin/nix-darwin-24.11";
  8. darwin.inputs.nixpkgs.follows = "nixpkgs-darwin";
  9. devenv.url = "github:cachix/devenv";
  10. devenv.inputs.nixpkgs.follows = "nixpkgs-unstable";
  11. disko.url = "github:nix-community/disko";
  12. disko.inputs.nixpkgs.follows = "nixpkgs";
  13. home-manager.url = "github:nix-community/home-manager/master";
  14. home-manager.inputs.nixpkgs.follows = "nixpkgs";
  15. nixvim.url = "github:nix-community/nixvim/nixos-24.11";
  16. nixvim.inputs.nixpkgs.follows = "nixpkgs";
  17. };
  18. outputs =
  19. {
  20. self,
  21. nixpkgs,
  22. nixpkgs-darwin,
  23. nixpkgs-unstable,
  24. devenv,
  25. disko,
  26. home-manager,
  27. nixvim,
  28. ...
  29. }@inputs:
  30. rec {
  31. lib = import ./lib {
  32. inherit inputs;
  33. inherit (self) outputs;
  34. };
  35. homeConfigurations = {
  36. "thomas@meili" = lib.mkHome {
  37. system = "aarch64-darwin";
  38. modules = [ ./home/meili.nix ];
  39. };
  40. "thomas@modgud" = lib.mkHome {
  41. system = "x86_64-linux";
  42. modules = [ ./home/modgud.nix ];
  43. };
  44. };
  45. nixosConfigurations = {
  46. modgud = lib.mkSystem {
  47. system = "x86_64-linux";
  48. modules = [ ./hosts/modgud ];
  49. };
  50. odin = lib.mkSystem {
  51. system = "x86_64-linux";
  52. modules = [ ./hosts/odin ];
  53. };
  54. };
  55. darwinConfigurations = {
  56. meili = lib.mkDarwin {
  57. system = "aarch64-darwin";
  58. modules = [ ./hosts/meili ];
  59. };
  60. };
  61. modules = import ./modules;
  62. overlays = import ./overlays { inherit inputs; };
  63. packages = lib.eachSystemWithPkgs (import ./packages);
  64. formatter = lib.eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
  65. };
  66. }