{ description = "Home manager flake"; inputs = { # System configuration determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager-unstable = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; darwin = { url = "github:nix-darwin/nix-darwin/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; # Software # helix = { # url = "github:helix-editor/helix/bfcbef10c513108c7b43317569416c2eefc4ed44"; # }; fw-fanctrl = { url = "github:TamtamHero/fw-fanctrl/packaging/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; niri = { url = "github:sodiboo/niri-flake"; }; quickshell = { url = "github:outfoxxed/quickshell/26531fc46ef17e9365b03770edd3fb9206fcb460"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; noctalia = { url = "github:noctalia-dev/noctalia-shell/v2.16.1"; inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.quickshell.follows = "quickshell"; }; dankMaterialShell = { url = "github:AvengeMedia/DankMaterialShell/v0.6.2"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; # Theming firefox-gnome-theme = { url = "github:rafaelmardojai/firefox-gnome-theme"; flake = false; }; }; outputs = { self, nixpkgs, nixpkgs-unstable, determinate, home-manager, home-manager-unstable, darwin, # helix, niri, noctalia, dankMaterialShell, quickshell, ... } @ inputs: let inherit (self) outputs; systems = [ "x86_64-linux" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs systems; allPkgs = forAllSystems (system: import nixpkgs {inherit system;}); nixosModules = ./modules/nixos; homeModules = ./modules/home; darwinModules = ./modules/darwin; in { overlays = import ./overlays {inherit inputs;}; # defaultPackage = forAllSystems (system: home-manager.defaultPackage.${system}); nixosConfigurations = { kaylee = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ determinate.nixosModules.default ./machines/kaylee/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; # home-manager.backupFileExtension = "bak"; home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;}; home-manager.users.tyler = import ./machines/kaylee/home.nix; } ]; }; mal = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ determinate.nixosModules.default ./machines/mal/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; # home-manager.backupFileExtension = "bak"; home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;}; home-manager.users.tyler = import ./machines/mal/home.nix; } ]; }; wash = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ determinate.nixosModules.default ./machines/wash/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "bak"; home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;}; home-manager.users.tyler = import ./machines/wash/home.nix; } ]; }; saffron = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs;}; modules = [ determinate.nixosModules.default ./machines/saffron/configuration.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "bak"; home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;}; home-manager.users.tyler = import ./machines/saffron/home.nix; } ]; }; }; darwinConfigurations."MacBook-Pro" = darwin.lib.darwinSystem { specialArgs = {inherit inputs outputs;}; modules = [ ./machines/hinge/darwin.nix determinate.darwinModules.default { determinate-nix.customSettings = {}; } home-manager-unstable.darwinModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "bak"; home-manager.extraSpecialArgs = {inherit inputs outputs nixosModules homeModules darwinModules;}; home-manager.users."tyler.mayoff" = import ./machines/hinge/home.nix; users.users."tyler.mayoff".home = "/Users/tyler.mayoff"; } ]; }; }; }