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}