my system configurations ^-^
at main 3.8 kB view raw
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 darwin-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 58 59 nix-darwin = { 60 url = "github:nix-darwin/nix-darwin/nix-darwin-25.05"; 61 # url = "github:nix-darwin/nix-darwin/master"; 62 inputs.nixpkgs.follows = "darwin-stable"; 63 }; 64 65 # themes 66 catppuccin = { 67 url = "github:catppuccin/nix/release-25.05"; 68 inputs.nixpkgs.follows = "nixos-stable"; 69 }; 70 stylix = { 71 url = "github:danth/stylix/release-25.05"; 72 # inputs = { 73 # nixpkgs.follows = "nixpkgs"; 74 # systems.follows = "systems"; 75 # flake-compat.follows = ""; 76 # git-hooks.follows = ""; 77 # home-manager.follows = ""; 78 # }; 79 }; 80 81 # hardware 82 nixos-hardware.url = "github:NixOS/nixos-hardware/master"; 83 nixos-wsl = { 84 url = "github:nix-community/NixOS-WSL/main"; 85 inputs.flake-compat.follows = ""; 86 }; 87 88 # home-manager 89 home-manager = { 90 url = "github:nix-community/home-manager/release-25.05"; 91 inputs.nixpkgs.follows = "nixos-stable"; 92 }; 93 94 # spicetify 95 spicetify-nix = { 96 url = "github:Gerg-L/spicetify-nix"; 97 inputs = { 98 nixpkgs.follows = "nixos-unstable"; 99 systems.follows = "systems"; 100 }; 101 }; 102 103 # secrets 104 agenix = { 105 url = "github:ryantm/agenix"; 106 inputs = { 107 nixpkgs.follows = "nixos-unstable"; 108 systems.follows = "systems"; 109 darwin.follows = ""; 110 home-manager.follows = ""; 111 }; 112 }; 113 114 # wallpapers 115 wallpapers = { 116 url = "github:42willow/wallpapers/ff1073562ef3d0c11098e86f21787f0e84d549c2"; 117 inputs = { 118 nixpkgs.follows = "nixos-unstable"; 119 systems.follows = "systems"; 120 }; 121 }; 122 123 # reduce inputs 124 systems = { 125 url = "github:nix-systems/default"; 126 }; 127 flake-utils = { 128 url = "github:numtide/flake-utils"; 129 inputs.systems.follows = "systems"; 130 }; 131 132 firefox-cascade = { 133 url = "github:cascadefox/cascade"; 134 flake = false; 135 }; 136 137 niri = { 138 url = "github:sodiboo/niri-flake"; 139 inputs = { 140 nixpkgs.follows = "nixos-unstable"; 141 nixpkgs-stable.follows = "nixos-stable"; 142 }; 143 }; 144 145 quickshell = { 146 url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; 147 148 inputs.nixpkgs.follows = "nixos-unstable"; 149 }; 150 }; 151}