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.05";
11 inputs.nixpkgs.follows = "nixpkgs";
12 };
13
14 neovim.url = "github:icyphox/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}