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:nix-community/neovim-nightly-overlay";
15
16 prompt = {
17 url = "path:/home/icy/code/nerd-prompt";
18 inputs.nixpkgs.follows = "nixpkgs";
19 };
20
21 };
22
23 outputs =
24 { self
25 , nixpkgs
26 , nixos-hardware
27 , home-manager
28 , neovim
29 , prompt
30 , ...
31 } @ inputs: {
32
33 overlays = {
34 nvim-nightly = neovim.overlay;
35 prompt = prompt.overlay;
36 };
37
38 nixosConfigurations = {
39 lapis = nixpkgs.lib.nixosSystem {
40 system = "x86_64-linux";
41 modules = [
42 {
43 imports = [ ./hosts/lapis/configuration.nix ];
44 _module.args.self = self;
45 }
46 home-manager.nixosModules.home-manager
47 {
48 home-manager.useGlobalPkgs = true;
49 home-manager.useUserPackages = true;
50 home-manager.users.icy = {
51 imports = [ ./home.nix ];
52 _module.args.self = self;
53 _module.args.inputs = inputs;
54 _module.args.theme = import ./theme.nix;
55 };
56 }
57 ];
58 };
59 };
60 };
61
62}