all repos — dotfiles @ 3babd1e0f672799c603fc65323c7cca799ea111e

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/release-22.11";
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      };
42
43      darwinConfigurations = {
44        syl = darwin.lib.darwinSystem {
45          system = "x86_64-darwin";
46          modules = [
47            {
48              imports = [ ./hosts/syl/configuration.nix ];
49              _module.args.self = self;
50            }
51            home-manager.darwinModules.home-manager
52            {
53              home-manager.useGlobalPkgs = true;
54              home-manager.useUserPackages = true;
55              home-manager.users.icy = {
56                imports = [ ./darwin/home.nix ];
57                _module.args.self = self;
58                _module.args.host = "syl";
59                _module.args.inputs = inputs;
60              };
61            }
62          ];
63        };
64      };
65
66      nixosConfigurations = {
67        wyndle = nixpkgs.lib.nixosSystem {
68          system = "x86_64-linux";
69          modules = [
70            {
71              imports = [ ./hosts/wyndle/configuration.nix ];
72              _module.args.self = self;
73            }
74            home-manager.nixosModules.home-manager
75            {
76              home-manager.useGlobalPkgs = true;
77              home-manager.useUserPackages = true;
78              home-manager.users.icy = {
79                imports = [ ./home.nix ];
80                _module.args.self = self;
81                _module.args.host = "wyndle";
82                _module.args.inputs = inputs;
83              };
84            }
85          ];
86        };
87      };
88    };
89
90}