Configuration for my NixOS based systems and Home Manager
1# Edit this configuration file to define what should be installed on
2## your system. Help is available in the configuration.nix(5) man page, on
3# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
4
5{ ... }:
6
7{
8 imports =
9 [ # Include the results of the hardware scan.
10 ./hardware-configuration.nix
11 ./boot.nix
12 ./networking.nix
13 ./gui.nix
14 ./users.nix
15 ./packages.nix
16 ./services.nix
17 # TOOD: check if we need this here still, it's imported in users.nix
18 <home-manager/nixos>
19 ];
20
21 # Set your time zone.
22 time.timeZone = "America/Chicago";
23
24 # Select internationalisation properties.
25 i18n.defaultLocale = "en_US.UTF-8";
26 # console = {
27 # font = "Lat2-Terminus16";
28 # keyMap = "us";
29 # useXkbConfig = true; # use xkb.options in tty.
30 # };
31
32 # Copy the NixOS configuration file and link it from the resulting system
33 # (/run/current-system/configuration.nix). This is useful in case you
34 # accidentally delete configuration.nix.
35 system.copySystemConfiguration = true;
36
37 # Automatic doc cache generation
38 documentation.man.generateCaches = true;
39
40 # Automatic system upgrades
41 system.autoUpgrade = {
42 enable = true;
43 dates = "09:00";
44 randomizedDelaySec = "45min";
45 };
46
47 # Automatic Garbage Collection
48 nix.gc.automatic = true;
49 nix.gc.options = "--delete-older-than 8d";
50
51 # This option defines the first version of NixOS you have installed on this particular machine,
52 # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
53 #
54 # Most users should NEVER change this value after the initial install, for any reason,
55 # even if you've upgraded your system to a new NixOS release.
56 #
57 # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
58 # so changing it will NOT upgrade your system.
59 #
60 # This value being lower than the current NixOS release does NOT mean your system is
61 # out of date, out of support, or vulnerable.
62 #
63 # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
64 # and migrated your data accordingly.
65 #
66 # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
67 system.stateVersion = "23.11"; # Did you read the comment?
68
69}