[READ-ONLY] Mirror of https://github.com/42willow/flake. my system configurations ^-^ 42willow.github.io/flake/
home-manager nix nixos
0

Configure Feed

Select the types of activity you want to include in your feed.

flake / flake.nix
4.3 kB 171 lines
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-26.05"; 54 nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; 55 56 darwin-stable.url = "github:nixos/nixpkgs/nixpkgs-26.05-darwin"; 57 nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; 58 59 nix-darwin = { 60 url = "github:nix-darwin/nix-darwin/nix-darwin-26.05"; 61 inputs.nixpkgs.follows = "darwin-stable"; 62 }; 63 64 # themes 65 catppuccin = { 66 url = "github:catppuccin/nix/release-26.05"; 67 inputs.nixpkgs.follows = "nixos-stable"; 68 }; 69 stylix = { 70 url = "github:danth/stylix/release-26.05"; 71 inputs = { 72 nixpkgs.follows = "nixos-stable"; 73 systems.follows = "systems"; 74 flake-parts.follows = "flake-parts"; 75 }; 76 }; 77 78 # hardware 79 nixos-hardware.url = "github:NixOS/nixos-hardware/master"; 80 nixos-wsl = { 81 url = "github:nix-community/NixOS-WSL/main"; 82 inputs = { 83 nixpkgs.follows = "nixos-unstable"; 84 flake-compat.follows = ""; 85 }; 86 }; 87 88 # home-manager 89 home-manager = { 90 url = "github:nix-community/home-manager/release-26.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 lutgen-rs.inputs.flake-utils = { 121 follows = "flake-utils"; 122 inputs.systems.follows = "systems"; 123 }; 124 }; 125 }; 126 127 firefox-cascade = { 128 url = "github:cascadefox/cascade"; 129 flake = false; 130 }; 131 132 niri = { 133 url = "github:sodiboo/niri-flake"; 134 inputs = { 135 nixpkgs.follows = "nixos-unstable"; 136 nixpkgs-stable.follows = "nixos-stable"; 137 }; 138 }; 139 140 paneru = { 141 url = "github:karinushka/paneru"; 142 inputs = { 143 nixpkgs.follows = "nixos-unstable"; 144 nix-darwin.follows = "nix-darwin"; 145 flake-parts.follows = "flake-parts"; 146 }; 147 }; 148 149 quickshell = { 150 url = "git+https://git.outfoxxed.me/quickshell/quickshell"; 151 inputs.nixpkgs.follows = "nixos-unstable"; 152 }; 153 154 chiri = { 155 url = "github:chiriapp/chiri"; 156 inputs.nixpkgs.follows = "nixos-unstable"; 157 }; 158 159 # reduce inputs 160 systems = { 161 url = "github:nix-systems/default"; 162 }; 163 flake-utils = { 164 url = "github:numtide/flake-utils"; 165 inputs.systems.follows = "systems"; 166 }; 167 flake-parts = { 168 url = "github:hercules-ci/flake-parts"; 169 }; 170 }; 171}