Personal-use NixOS configuration
1{
2 flakeRoot,
3 nixos-hardware,
4 pkgs,
5 ...
6}:
7
8let
9 interface = "enp7s0";
10in
11{
12 imports = [
13 nixos-hardware.nixosModules.common-pc-ssd
14 ./hardware-configuration.nix
15 (flakeRoot + /hardware/cpu/amd.nix)
16 (flakeRoot + /hardware/gpu/amd.nix)
17 (flakeRoot + /hardware/peripherals/optical.nix)
18
19 (flakeRoot + /config/common)
20 (flakeRoot + /config/common/boot/systemd-boot.nix)
21 (flakeRoot + /config/common/network/dns.nix)
22
23 (flakeRoot + /config/server/filesystem/ulimit.nix)
24 (flakeRoot + /config/server/openssh.nix)
25
26 (flakeRoot + /config/server/iperf.nix)
27
28 ./config/netdata-agent.nix
29 ./config/nfs.nix
30 ./config/ssh.nix
31 ./config/zfs.nix
32
33 ./config/restic.nix
34
35 ./config/atmosphere/bluesky-pds.nix
36 ./config/atmosphere/tangled-knot.nix
37 ./config/atmosphere/tangled-spindle.nix
38
39 ./config/databases/mysql.nix
40 ./config/databases/postgresql.nix
41
42 ./config/groupware/cells.nix
43 ./config/groupware/maddy.nix
44 ./config/groupware/radicale.nix
45
46 ./config/media/audiobookshelf.nix
47 ./config/media/emby.nix
48 ./config/media/immich.nix
49 ./config/media/minidlna.nix
50 ./config/media/navidrome.nix
51
52 ./config/network/firewall.nix
53
54 ./config/language/omnipoly.nix
55
56 ./config/sharing/prowlarr.nix
57 ./config/sharing/rtorrent.nix
58 ./config/sharing/soulseek.nix
59
60 ./config/web/caddy.nix
61 #./config/web/forgejo.nix
62 ./config/web/linkwarden.nix
63 ./config/web/miniflux.nix
64 ./config/web/network-optimizer.nix
65 ./config/web/vaultwarden.nix
66 #./config/web/wakapi.nix
67 ./config/web/zipline
68
69 ./users
70 ];
71
72 boot.kernelPackages = pkgs.linuxPackages_hardened;
73
74 networking = {
75 interfaces.${interface} = {
76 ipv4.addresses = [{
77 address = "10.0.0.2";
78 prefixLength = 16;
79 }];
80 };
81
82 defaultGateway = {
83 inherit interface;
84
85 address = "10.0.0.1";
86 };
87 };
88
89 time.timeZone = "US/Eastern";
90
91 system.stateVersion = "24.11";
92}