my nixos config
1{
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
4
5 nixpkgs-master.url = "github:NixOS/nixpkgs/master";
6
7 nixos-hardware.url = "github:NixOS/nixos-hardware/master";
8
9 home-manager = {
10 url = "github:nix-community/home-manager";
11 inputs.nixpkgs.follows = "nixpkgs";
12 };
13 };
14
15 outputs = { self, nixpkgs, nixpkgs-master, nixos-hardware, home-manager, ... }: {
16 nixosModules = {
17 homeManager = { ... }: {
18 imports = [ home-manager.nixosModules.home-manager ];
19 config = {
20 home-manager.useGlobalPkgs = true;
21 home-manager.useUserPackages = true;
22 };
23 };
24 lix = { ... }: {
25 config = {
26 nixpkgs.overlays = [ (final: prev: {
27 # this is what the lix nixos module does
28 nixVersions = prev.nixVersions // {
29 stable = final.lixPackageSets.stable.lix;
30 stable_upstream = prev.nixVersions.stable;
31 };
32 }) ];
33 };
34 };
35 defaults = { ... }: {
36 config = {
37 nixpkgs.config.allowUnfree = true;
38 nix.settings = {
39 experimental-features = [ "nix-command" "flakes" ];
40 auto-optimise-store = true;
41 };
42 environment.stub-ld.enable = false; # 24.05
43 };
44 };
45 };
46 nixosConfigurations = {
47 foxbox = nixpkgs.lib.nixosSystem rec {
48 system = "x86_64-linux";
49 specialArgs = {
50 pkgs-master = nixpkgs-master.legacyPackages.${system};
51 };
52 modules = with self.nixosModules; [
53 defaults lix homeManager
54 ./machines/foxbox
55 nixos-hardware.nixosModules.lenovo-thinkpad-e14-intel
56 ./users/chfour
57 ];
58 };
59 fovps = nixpkgs.lib.nixosSystem rec {
60 system = "x86_64-linux";
61 modules = with self.nixosModules; [
62 defaults lix homeManager
63 ./machines/fovps
64 ./users/chfour
65 ];
66 };
67 };
68 };
69}