my system configurations ^-^
1{ 2 description = "willow's nix flake ^-^"; 3 4 outputs = { 5 self, 6 nixos-stable, 7 nix-darwin, 8 home-manager, 9 nixpkgs, 10 ... 11 } @ inputs: let 12 mkNixosSystem = name: hostPath: 13 nixos-stable.lib.nixosSystem { 14 modules = [ 15 hostPath 16 home-manager.nixosModules.home-manager 17 ]; 18 specialArgs = {inherit self inputs;}; 19 }; 20 21 mkDarwinSystem = name: hostPath: 22 nix-darwin.lib.darwinSystem { 23 modules = [ 24 hostPath 25 home-manager.darwinModules.home-manager 26 ]; 27 specialArgs = {inherit self inputs;}; 28 }; 29 30 forAllSystems = nixpkgs.lib.genAttrs ["x86_64-linux" "aarch64-darwin"]; 31 in { 32 nixosConfigurations = builtins.mapAttrs mkNixosSystem { 33 earthy = ./hosts/earthy; 34 anemone = ./hosts/anemone; 35 lily = ./hosts/lily; 36 zinnia = ./hosts/zinnia; 37 }; 38 39 darwinConfigurations = builtins.mapAttrs mkDarwinSystem { 40 starling = ./hosts/starling; 41 }; 42 43 overlays = import ./overlays.nix { 44 inherit inputs; 45 inherit self; 46 }; 47 48 packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); 49 formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); 50 }; 51 52 inputs = { 53 nixos-stable.url = "github:nixos/nixpkgs/nixos-25.05"; 54 nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 55 56 darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin"; 57 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 58 59 nix-darwin = { 60 url = "github:nix-darwin/nix-darwin/nix-darwin-25.05"; 61 inputs.nixpkgs.follows = "darwin-stable"; 62 }; 63 64 # themes 65 catppuccin = { 66 url = "github:catppuccin/nix/release-25.05"; 67 inputs.nixpkgs.follows = "nixos-stable"; 68 }; 69 stylix = { 70 url = "github:danth/stylix/release-25.05"; 71 # inputs = { 72 # nixpkgs.follows = "nixpkgs"; 73 # systems.follows = "systems"; 74 # flake-compat.follows = ""; 75 # git-hooks.follows = ""; 76 # home-manager.follows = ""; 77 # }; 78 }; 79 80 # hardware 81 nixos-hardware.url = "github:NixOS/nixos-hardware/master"; 82 nixos-wsl = { 83 url = "github:nix-community/NixOS-WSL/main"; 84 inputs.flake-compat.follows = ""; 85 }; 86 87 # home-manager 88 home-manager = { 89 url = "github:nix-community/home-manager/release-25.05"; 90 inputs.nixpkgs.follows = "nixos-stable"; 91 }; 92 93 # spicetify 94 spicetify-nix = { 95 url = "github:Gerg-L/spicetify-nix"; 96 inputs = { 97 nixpkgs.follows = "nixos-unstable"; 98 systems.follows = "systems"; 99 }; 100 }; 101 102 # secrets 103 agenix = { 104 url = "github:ryantm/agenix"; 105 inputs = { 106 nixpkgs.follows = "nixos-unstable"; 107 systems.follows = "systems"; 108 darwin.follows = ""; 109 home-manager.follows = ""; 110 }; 111 }; 112 113 # wallpapers 114 wallpapers = { 115 url = "github:42willow/wallpapers/ff1073562ef3d0c11098e86f21787f0e84d549c2"; 116 inputs = { 117 nixpkgs.follows = "nixos-unstable"; 118 systems.follows = "systems"; 119 }; 120 }; 121 122 # reduce inputs 123 systems = { 124 url = "github:nix-systems/default"; 125 }; 126 flake-utils = { 127 url = "github:numtide/flake-utils"; 128 inputs.systems.follows = "systems"; 129 }; 130 131 firefox-cascade = { 132 url = "github:cascadefox/cascade"; 133 flake = false; 134 }; 135 136 niri = { 137 url = "github:sodiboo/niri-flake"; 138 inputs = { 139 nixpkgs.follows = "nixos-unstable"; 140 nixpkgs-stable.follows = "nixos-stable"; 141 }; 142 }; 143 144 quickshell = { 145 url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; 146 147 inputs.nixpkgs.follows = "nixos-unstable"; 148 }; 149 }; 150}