all repos — dotfiles @ b89d34d2b82e22c328282cf0e3c26acbaf25321c

my *nix dotfiles

nix/flake.nix (view raw)

  1{
  2  description = "icy's nixos config";
  3
  4  inputs = {
  5    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  6
  7    nixos-hardware.url = "github:nixos/nixos-hardware";
  8
  9    home-manager = {
 10      url = "github:nix-community/home-manager";
 11      inputs.nixpkgs.follows = "nixpkgs";
 12    };
 13
 14    neovim.url = "github:nix-community/neovim-nightly-overlay";
 15
 16    darwin = {
 17      url = "github:lnl7/nix-darwin/master";
 18      inputs.nixpkgs.follows = "nixpkgs";
 19    };
 20
 21    prompt = {
 22      url = "git+https://git.peppe.rs/cli/prompt";
 23      inputs.nixpkgs.follows = "nixpkgs";
 24    };
 25  };
 26
 27  outputs =
 28    { self
 29    , nixpkgs
 30    , nixos-hardware
 31    , home-manager
 32    , neovim
 33    , prompt
 34    , darwin
 35    , ...
 36    } @ inputs: {
 37
 38      overlays = {
 39        nvim-nightly = neovim.overlay;
 40        prompt = prompt.overlay;
 41        plan9patched = (self: super: {
 42          plan9patched = super.plan9port.overrideAttrs (old: {
 43            patches = (old.patches or [ ]) ++ [
 44              ./patches/acme.patch
 45            ];
 46          });
 47        });
 48      };
 49
 50      darwinConfigurations = {
 51        syl = darwin.lib.darwinSystem {
 52          system = "x86_64-darwin";
 53          modules = [
 54            {
 55              imports = [ ./hosts/syl/configuration.nix ];
 56              _module.args.self = self;
 57            }
 58            home-manager.darwinModules.home-manager
 59            {
 60              home-manager.useGlobalPkgs = true;
 61              home-manager.useUserPackages = true;
 62              home-manager.users.icy = {
 63                imports = [ ./darwin/home.nix ];
 64                _module.args.self = self;
 65                _module.args.host = "syl";
 66                _module.args.inputs = inputs;
 67              };
 68            }
 69          ];
 70        };
 71
 72        kvothe = darwin.lib.darwinSystem {
 73          system = "aarch64-darwin";
 74          modules = [
 75            {
 76              imports = [ ./hosts/kvothe/configuration.nix ];
 77              _module.args.self = self;
 78            }
 79            home-manager.darwinModules.home-manager
 80            {
 81              home-manager.useGlobalPkgs = true;
 82              home-manager.useUserPackages = true;
 83              home-manager.users.icy = {
 84                imports = [ ./darwin/home.nix ];
 85                _module.args.self = self;
 86                _module.args.host = "kvothe";
 87                _module.args.inputs = inputs;
 88              };
 89            }
 90          ];
 91        };
 92      };
 93
 94      nixosConfigurations = {
 95        wyndle = nixpkgs.lib.nixosSystem {
 96          system = "x86_64-linux";
 97          modules = [
 98            {
 99              imports = [ ./hosts/wyndle/configuration.nix ];
100              _module.args.self = self;
101            }
102            home-manager.nixosModules.home-manager
103            {
104              home-manager.useGlobalPkgs = true;
105              home-manager.useUserPackages = true;
106              home-manager.users.icy = {
107                imports = [ ./home.nix ];
108                _module.args.self = self;
109                _module.args.host = "wyndle";
110                _module.args.inputs = inputs;
111              };
112            }
113          ];
114        };
115      };
116    };
117
118}