all repos — dotfiles @ 384af0ed90faf144a1d594cb1dc4f0196faf441a

my *nix dotfiles

flake.nix (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
{
  description = "icy's nixos config";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    nixpkgs-master.url = "github:NixOS/nixpkgs/master";

    nixos-hardware.url = "github:nixos/nixos-hardware";

    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };


    darwin = {
      url = "github:lnl7/nix-darwin/master";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    prompt = {
      url = "git+https://git.peppe.rs/cli/prompt";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nix-snapshotter = {
      url = "github:pdtpartners/nix-snapshotter";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nix-your-shell = {
      url = "github:MercuryTechnologies/nix-your-shell";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs =
    { self
    , nixpkgs
    , nixpkgs-master
    , nixos-hardware
    , nix-snapshotter
    , nix-your-shell
    , home-manager
    , prompt
    , darwin
    , ...
    } @ inputs: {

      overlays = {
        prompt = prompt.overlay;
      };

      darwinConfigurations = {
        syl = darwin.lib.darwinSystem {
          system = "x86_64-darwin";
          modules = [
            {
              imports = [ ./hosts/syl/configuration.nix ];
              _module.args.self = self;
            }
            home-manager.darwinModules.home-manager
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.icy = {
                imports = [ ./darwin/home.nix ];
                _module.args.self = self;
                _module.args.host = "syl";
                _module.args.inputs = inputs;
              };
            }
          ];
        };

        kvothe = darwin.lib.darwinSystem {
          system = "aarch64-darwin";
          modules = [
            {
              imports = [ ./hosts/kvothe/configuration.nix ];
              _module.args.self = self;
            }
            home-manager.darwinModules.home-manager
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.icy = {
                imports = [ ./darwin/home.nix ];
                _module.args.self = self;
                _module.args.host = "kvothe";
                _module.args.inputs = inputs;
              };
            }
          ];
        };
      };

      nixosConfigurations = {
        wyndle = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            {
              imports = [ ./hosts/wyndle/configuration.nix ];
              _module.args.self = self;
              nixpkgs.overlays = [ nix-your-shell.overlays.default ];
            }
            home-manager.nixosModules.home-manager
            {
              home-manager.useGlobalPkgs = true;
              home-manager.useUserPackages = true;
              home-manager.users.icy = {
                imports = [ ./home.nix ];
                _module.args.self = self;
                _module.args.host = "wyndle";
                _module.args.inputs = inputs;
              };
            }
          ];
        };
      };

      nixosConfigurations = {
        sini = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            ({ config, pkgs, ... }: {
              services.pixelfed.package = nixpkgs-master.legacyPackages."x86_64-linux".pixelfed;
              services.pixelfed.phpPackage = nixpkgs-master.legacyPackages."x86_64-linux".php82;
            })
            # ({ pkgs, ... }: {
            #   imports = [ nix-snapshotter.nixosModules.default ];
            #   nixpkgs.overlays = [ nix-snapshotter.overlays.default ];
            # })
            {
              imports = [ ./hosts/sini/configuration.nix ];
              _module.args.self = self;
            }
          ];
        };
      };

      nixosConfigurations = {
        denna = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            {
              imports = [ ./hosts/denna/configuration.nix ];
              _module.args.self = self;
            }
          ];
        };
      };

      nixosConfigurations = {
        iso = nixpkgs.lib.nixosSystem {
          system = "x86_64-linux";
          modules = [
            ({ config = { nix.registry.nixpkgs.flake = nixpkgs; }; })
            {
              imports = [ ./hosts/iso/configuration.nix ];
              _module.args.self = self;
            }
          ];
        };
      };
    };
}