1
0

flake.nix 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. {
  2. description = "my home manager 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. devenv.url = "github:cachix/devenv";
  8. devenv.inputs.nixpkgs.follows = "nixpkgs-unstable";
  9. disko.url = "github:nix-community/disko";
  10. disko.inputs.nixpkgs.follows = "nixpkgs";
  11. home-manager.url = "github:nix-community/home-manager/release-24.11";
  12. home-manager.inputs.nixpkgs.follows = "nixpkgs";
  13. nixvim.url = "github:nix-community/nixvim/nixos-24.11";
  14. nixvim.inputs.nixpkgs.follows = "nixpkgs";
  15. };
  16. outputs = { self, nixpkgs, nixpkgs-darwin, nixpkgs-unstable, home-manager, ... }@inputs:
  17. let
  18. inherit (self) outputs;
  19. forAllSystems = nixpkgs.lib.genAttrs [
  20. "aarch64-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin"
  21. ];
  22. in
  23. {
  24. modules = {
  25. home-manager = import ./modules/home-manager;
  26. global = import ./modules/global;
  27. };
  28. nixosConfigurations = {
  29. modgud = nixpkgs.lib.nixosSystem {
  30. specialArgs = { inherit inputs; inherit outputs; };
  31. modules = [ ./hosts/modgud ];
  32. };
  33. };
  34. packages = forAllSystems (system:
  35. let
  36. pkgs = if builtins.elem "darwin" (builtins.split "\\." system) then
  37. nixpkgs-darwin.legacyPackages.${system}
  38. else
  39. nixpkgs.legacyPackages.${system};
  40. in {
  41. homeConfigurations = {
  42. "thomas@meili" = home-manager.lib.homeManagerConfiguration {
  43. inherit pkgs;
  44. extraSpecialArgs = { inherit inputs; inherit outputs; };
  45. modules = [
  46. ./users/thomas
  47. ./users/thomas/desktop
  48. ./users/thomas/nvim
  49. ];
  50. };
  51. "thomas@modgud" = home-manager.lib.homeManagerConfiguration {
  52. inherit pkgs;
  53. extraSpecialArgs = { inherit inputs; inherit outputs; };
  54. modules = [
  55. ./users/thomas
  56. ./users/thomas/modgud
  57. ];
  58. };
  59. };
  60. }
  61. );
  62. };
  63. }