all repos — dotfiles @ 4b62ddc7a2b8e7b49231d38586f9966331b7ec8e

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-21.11";
11      inputs.nixpkgs.follows = "nixpkgs";
12    };
13
14    neovim.url = "github:icyphox/neovim-nightly-overlay";
15
16    prompt = {
17      url = "git+https://git.peppe.rs/cli/prompt";
18      inputs.nixpkgs.follows = "nixpkgs";
19    };
20  };
21
22  outputs =
23    { self
24    , nixpkgs
25    , nixos-hardware
26    , home-manager
27    , neovim
28    , prompt
29    , ...
30    } @ inputs: {
31
32      overlays = {
33        nvim-nightly = neovim.overlay;
34        prompt = prompt.overlay;
35      };
36
37      nixosConfigurations = {
38        lapis = nixpkgs.lib.nixosSystem {
39          system = "x86_64-linux";
40          modules = [
41            {
42              imports = [ ./hosts/lapis/configuration.nix ];
43              _module.args.self = self;
44            }
45            home-manager.nixosModules.home-manager
46            {
47              home-manager.useGlobalPkgs = true;
48              home-manager.useUserPackages = true;
49              home-manager.users.icy = {
50                imports = [ ./home.nix ];
51                _module.args.self = self;
52                _module.args.host = "lapis";
53                _module.args.inputs = inputs;
54                _module.args.theme = import ./theme.nix;
55              };
56            }
57          ];
58        };
59        wyndle = nixpkgs.lib.nixosSystem {
60          system = "x86_64-linux";
61          modules = [
62            {
63              imports = [ ./hosts/wyndle/configuration.nix ];
64              _module.args.self = self;
65            }
66            home-manager.nixosModules.home-manager
67            {
68              home-manager.useGlobalPkgs = true;
69              home-manager.useUserPackages = true;
70              home-manager.users.icy = {
71                imports = [ ./home.nix ];
72                _module.args.self = self;
73                _module.args.host = "wyndle";
74                _module.args.inputs = inputs;
75                _module.args.theme = import ./theme.nix;
76              };
77            }
78          ];
79        };
80      };
81    };
82
83}