NixOS dotfiles
1{
2 description = "NixOS configuration for the Fox";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable";
6 home-manager.url = "github:nix-community/home-manager";
7 home-manager.inputs.nixpkgs.follows = "nixpkgs";
8 millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
9
10 minegrub-theme.url = "github:Lxtharia/minegrub-theme";
11 };
12
13 outputs =
14 {
15 nixpkgs,
16 home-manager,
17 minegrub-theme,
18 millennium,
19 ...
20 }:
21 let
22 system = "x86_64-linux";
23
24 in
25 {
26 nixosConfigurations = {
27 laptop = nixpkgs.lib.nixosSystem {
28 inherit system;
29 modules = [
30 {
31 nixpkgs.overlays = [ millennium.overlays.default ];
32 }
33 ./hosts/laptop/configuration.nix
34 ./hosts/common
35 home-manager.nixosModules.home-manager
36 {
37 home-manager.useGlobalPkgs = true;
38 home-manager.useUserPackages = true;
39 home-manager.extraSpecialArgs = {
40 type = "laptop";
41 kb = "us";
42 };
43 home-manager.users."fantomitechno" = import ./home;
44 }
45 minegrub-theme.nixosModules.default
46 ];
47 };
48 desktop = nixpkgs.lib.nixosSystem {
49 inherit system;
50 modules = [
51 {
52 nixpkgs.overlays = [ millennium.overlays.default ];
53 }
54 ./hosts/desktop/configuration.nix
55 ./hosts/common
56 home-manager.nixosModules.home-manager
57 {
58 home-manager.useGlobalPkgs = true;
59 home-manager.useUserPackages = true;
60 home-manager.extraSpecialArgs = {
61 type = "desktop";
62 kb = "fr";
63 };
64 home-manager.users."fantomitechno" = import ./home;
65 }
66 ];
67 };
68 msi = nixpkgs.lib.nixosSystem {
69 inherit system;
70 modules = [
71 {
72 nixpkgs.overlays = [ millennium.overlays.default ];
73 }
74 ./hosts/msi/configuration.nix
75 ./hosts/common
76 home-manager.nixosModules.home-manager
77 {
78 home-manager.useGlobalPkgs = true;
79 home-manager.useUserPackages = true;
80 home-manager.extraSpecialArgs = {
81 type = "laptop";
82 kb = "fr";
83 };
84 home-manager.users."fantomitechno" = import ./home;
85 }
86 ];
87 };
88 };
89 };
90}