[READ-ONLY] Mirror of https://github.com/42willow/flake. my system configurations ^-^
42willow.github.io/flake/
home-manager
nix
nixos
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}