configs
1{
2 pkgs,
3 ...
4}:
5{
6 imports = [
7 <home-manager/nixos>
8
9 ./boot.nix
10 ./hardware-configuration.nix
11 ./nvidia.nix
12 ./plasma.nix
13 ./user.nix
14
15 ./services/fwupd.nix
16 ./services/tailscale.nix
17 ];
18
19 nix.settings = {
20 experimental-features = [
21 "nix-command"
22 "flakes"
23 ];
24 };
25
26 nix.gc = {
27 automatic = true;
28 dates = "weekly";
29 options = "--delete-older-than 30d";
30 };
31
32 system.autoUpgrade = {
33 enable = true;
34 dates = "weekly";
35 allowReboot = true;
36 rebootWindow = {
37 lower = "04:00";
38 upper = "06:00";
39 };
40 };
41
42 environment.variables.EDITOR = "nano";
43
44 system.stateVersion = "25.05";
45 system.copySystemConfiguration = true;
46
47 networking.hostName = "racketeer";
48 networking.networkmanager.enable = true;
49 networking.firewall.enable = false;
50
51 time.timeZone = "America/Toronto";
52 i18n.defaultLocale = "en_US.UTF-8";
53
54 # console = {
55 # font = "Lat2-Terminus16";
56 # keyMap = "us";
57 # useXkbConfig = true;
58 # };
59
60 services.printing.enable = true;
61 services.pipewire = {
62 enable = true;
63 pulse.enable = true;
64 };
65 services.openssh.enable = true;
66
67 environment.systemPackages = with pkgs; [
68 cudatoolkit
69 fastfetch
70 file
71 gcc
72 gnumake
73 hyfetch
74 lon
75 pciutils
76 sbctl
77 vim
78 wget
79 ];
80
81 programs.mtr.enable = true;
82 programs.gnupg.agent = {
83 enable = true;
84 enableSSHSupport = true;
85 };
86
87 security.sudo = {
88 enable = true;
89 wheelNeedsPassword = false;
90 };
91
92 virtualisation.docker = {
93 enable = true;
94 storageDriver = "btrfs";
95 rootless = {
96 enable = true;
97 setSocketVariable = true;
98 };
99 };
100}