My NixOS dotfiles
1{
2 inputs = {
3 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
4 tangled = {
5 url = "git+https://tangled.sh/@tangled.sh/core";
6 inputs.nixpkgs.follows = "nixpkgs";
7 };
8 };
9 outputs =
10 { self, ... }@inputs:
11 let
12 inherit (inputs) nixpkgs;
13 inherit (inputs.nixpkgs) lib;
14 specialArgs = { inherit inputs; };
15 forAllSystems =
16 function:
17 lib.genAttrs lib.systems.flakeExposed (
18 system:
19 function (
20 import nixpkgs {
21 inherit system;
22 config.allowUnfree = true;
23 }
24 )
25 );
26 dumb-manager = import ./lib/dumb-manager.nix;
27 in
28 {
29 nixosConfigurations = {
30 hetzner = nixpkgs.lib.nixosSystem {
31 inherit specialArgs;
32 modules = [
33 inputs.tangled.nixosModules.knot
34 ./common
35 ./hetzner
36 ];
37 };
38 riptide = nixpkgs.lib.nixosSystem {
39 inherit specialArgs;
40 modules = [
41 ./common
42 ./riptide
43 ];
44 };
45 };
46 packages = forAllSystems (pkgs: {
47 mac-home = dumb-manager.configuration {
48 inherit pkgs nixpkgs;
49 module = ./home/mac;
50 };
51 });
52 formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
53 };
54}