My NixOS dotfiles
1{ pkgs, ... }:
2{
3 imports = [ ./hardware.nix ];
4
5 # Running Services
6 services = {
7 openssh.enable = true;
8 openssh.settings.PasswordAuthentication = false;
9 };
10
11 # Base Packages
12 environment.systemPackages = with pkgs; [
13 ghostty.terminfo
14 tmux
15 arch-install-scripts
16 tcpdump
17 dig
18 ];
19
20 # Network Setup
21 networking = {
22 hostName = "hetzner";
23 nameservers = [
24 "9.9.9.9"
25 "149.112.112.112"
26 ];
27 useDHCP = true; # Switch this to a static setup later
28 firewall.enable = false;
29 nftables = {
30 enable = true;
31 ruleset = builtins.readFile ./nftables.conf;
32 };
33 };
34
35 # User Account
36 users.users.sydney = {
37 description = "Sydney Angelia";
38 isNormalUser = true;
39 extraGroups = [ "wheel" ];
40 shell = pkgs.zsh;
41 openssh.authorizedKeys.keys = [
42 "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGRJWbyvyeo8ykLovPOR+EuwqmjOsSrBBckpicVWhULl mac"
43 ];
44 };
45
46 # Boot/Firmware stuff
47 boot = {
48 loader.systemd-boot.enable = true;
49 loader.efi.canTouchEfiVariables = true;
50 kernelPackages = pkgs.linuxPackages_latest;
51 kernel.sysctl = {
52 "net.ipv4.conf.all.forwarding" = true;
53 "net.ipv6.conf.all.forwarding" = true;
54 };
55 };
56
57 # Miscellaneous settings
58 system.stateVersion = "24.05";
59 nix.settings.trusted-users = [
60 "@wheel"
61 ];
62
63}