Skyler Grey | 1e2187f | 2023-03-03 22:45:10 +0000 | [diff] [blame] | 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 |
| 3 | # and in the NixOS manual (accessible by running ‘nixos-help’). |
| 4 | |
| 5 | { config, pkgs, lib, ... }: |
| 6 | |
| 7 | { |
| 8 | # Use the GRUB 2 boot loader. |
| 9 | boot.loader.systemd-boot.enable = true; |
| 10 | # boot.loader.grub.efiSupport = true; |
| 11 | # boot.loader.grub.efiInstallAsRemovable = true; |
| 12 | # boot.loader.efi.efiSysMountPoint = "/boot/efi"; |
| 13 | # Define on which hard drive you want to install Grub. |
| 14 | # boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only |
| 15 | |
| 16 | # networking.hostName = "nixos"; # Define your hostname. |
| 17 | # Pick only one of the below networking options. |
| 18 | # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
| 19 | # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. |
| 20 | |
| 21 | # Set your time zone. |
| 22 | time.timeZone = "America/New_York"; |
| 23 | |
| 24 | # Configure network proxy if necessary |
| 25 | # networking.proxy.default = "http://user:password@proxy:port/"; |
| 26 | # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |
| 27 | |
| 28 | # Select internationalisation properties. |
| 29 | # i18n.defaultLocale = "en_US.UTF-8"; |
| 30 | # console = { |
| 31 | # font = "Lat2-Terminus16"; |
| 32 | # keyMap = "us"; |
| 33 | # useXkbConfig = true; # use xkbOptions in tty. |
| 34 | # }; |
| 35 | |
| 36 | # Enable the X11 windowing system. |
| 37 | # services.xserver.enable = true; |
| 38 | |
| 39 | |
| 40 | |
| 41 | |
| 42 | # Configure keymap in X11 |
| 43 | # services.xserver.layout = "us"; |
| 44 | # services.xserver.xkbOptions = { |
| 45 | # "eurosign:e"; |
| 46 | # "caps:escape" # map caps to escape. |
| 47 | # }; |
| 48 | |
| 49 | # Enable CUPS to print documents. |
| 50 | # services.printing.enable = true; |
| 51 | |
| 52 | # Enable sound. |
| 53 | # sound.enable = true; |
| 54 | # hardware.pulseaudio.enable = true; |
| 55 | |
| 56 | # Enable touchpad support (enabled default in most desktopManager). |
| 57 | # services.xserver.libinput.enable = true; |
| 58 | |
| 59 | # Define a user account. Don't forget to set a password with ‘passwd’. |
| 60 | # users.users.alice = { |
| 61 | # isNormalUser = true; |
| 62 | # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. |
| 63 | # packages = with pkgs; [ |
| 64 | # firefox |
| 65 | # thunderbird |
| 66 | # ]; |
| 67 | # }; |
| 68 | users.users.minion = { |
| 69 | isNormalUser = true; |
| 70 | extraGroups = [ "wheel" ]; |
| 71 | |
| 72 | openssh.authorizedKeys.keys = [ |
| 73 | "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDNCOdHSYGKQj8QMQKuWsnTUCGpKNwQa+/15JVD7kxO4VxI0mavpoB6EIwVF881s2DYqRNv2UQIKbw/tZ8qnTbk8HvzvHBjuJE9okAfelphkiH60mM+FzRZrUaDFLKzTBy1fBAk1O35vNaXJS3qDdr2wQOU9D10Ulvq1RBRSVe4uWbZJUWbac/zq2ghRfcHEavhGVIqI7JRcBy8P721bFULs5lxEUMZM2MBavg2wvbFc41CXZSAmK3M+wS2WPdSA8GxbiMgcPhiArRfqJbO/v3NUGIHQnTRK3kEpblVLz9ULpTo0Kl4pcTgIGI0S3zSJIV2VXERnzkjEgNn8gjDVBCZEXyFlGlPNV1DBd+NZwcqfAXsUHGkOs+GPGm93QVsbPoqZ49N5BJg1SZCE7KWfQAnkWE/ki7Z7+BJAWbZsoc7KSz7bvy5jr6yfIzwmy4mAgiVZFfCDRI3S3oEbhqW8TWZatEPSjMgDLsh3AgYdzjYQ1p6IM91wvD+XxB0/8+LaL0= minion@python" |
| 74 | ]; |
| 75 | }; |
| 76 | users.users.coded = { |
| 77 | isNormalUser = true; |
| 78 | extraGroups = [ "wheel" ]; |
| 79 | shell = pkgs.zsh; |
| 80 | |
| 81 | openssh.authorizedKeys.keys = [ |
| 82 | "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZGErwcw5YUlJS9tAfIYOSqkiuDRZZRTJjMlrDaAiNwTjqUML/Lrcau/1KA6a0+sXCM8DhQ1e0qhh2Qxmh/kxZWO6XMVK2EB7ELPNojqFI16T8Bbhq2t7yVAqbPUhXLQ4xKGvWMCPWOCo/dY72P9yu7kkMV0kTW3nq25+8nvqIvvuQOlOUx1uyR7qEfO706O86wjVTIuwfZKyzMDIC909vyg0xS+SfFlD7MkBuGzevQnOAV3U6tyafg6XW4PaJuDLyGXwpKz6asY08F7gRL/7/GhlMB09nfFfT4sZggmqPdGAtxwsFuwHPjNSlktHz5nlHtpS0LjefR9mWiGIhw5Hw1z33lxP0rfmiEU9J7kFcXv9B8QAWFwWfNEZfeqB7h7DJruo+QRStGeDz4SwRG3GR+DB4iNJLt7n0ALkVFJpOpskeo8TV4+Fwok+hYs2GsvdEmh9Cj7dC/9CyRhJeam9iLIi/iVGZhXEE3tIiqEktZPjiK7JwQyr97zhGJ7Rj4oE= samue@SamuelDesktop" |
| 83 | ]; |
| 84 | }; |
Skyler Grey | 62ade0b | 2023-03-04 11:58:20 +0000 | [diff] [blame] | 85 | users.users.pinea = { |
| 86 | isNormalUser = true; |
| 87 | extraGroups = [ "wheel" ]; |
| 88 | shell = pkgs.zsh; |
| 89 | |
| 90 | openssh.authorizedKeys.keys = [ |
Skyler Grey | 335bd90 | 2023-03-05 12:34:12 +0000 | [diff] [blame^] | 91 | "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFXa8ow7H8XpTrwYI+oSgLFfb6YNZanwv/QCKvEKiERSAAAABHNzaDo= pineapplefan@Pineapplefan" |
Skyler Grey | 62ade0b | 2023-03-04 11:58:20 +0000 | [diff] [blame] | 92 | ]; |
| 93 | }; |
Skyler Grey | 1e2187f | 2023-03-03 22:45:10 +0000 | [diff] [blame] | 94 | users.users.nucleus = { |
| 95 | isSystemUser = true; |
| 96 | createHome = true; |
Skyler Grey | 4f3e606 | 2023-03-04 01:29:29 +0000 | [diff] [blame] | 97 | home = "/services/nucleus"; |
Skyler Grey | 1e2187f | 2023-03-03 22:45:10 +0000 | [diff] [blame] | 98 | group = "clicks"; |
| 99 | shell = pkgs.bashInteractive; |
| 100 | }; |
Skyler Grey | 4f3e606 | 2023-03-04 01:29:29 +0000 | [diff] [blame] | 101 | users.users.websites = { |
| 102 | isSystemUser = true; |
| 103 | createHome = true; |
| 104 | home = "/services/websites"; |
| 105 | group = "clicks"; |
| 106 | shell = pkgs.bashInteractive; |
| 107 | }; |
| 108 | users.groups.clicks = { }; |
Skyler Grey | 1e2187f | 2023-03-03 22:45:10 +0000 | [diff] [blame] | 109 | |
| 110 | programs.zsh.enable = true; |
| 111 | # List packages installed in system profile. To search, run: |
| 112 | # $ nix search wget |
| 113 | environment.systemPackages = with pkgs; [ |
| 114 | vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. |
| 115 | wget |
| 116 | ]; |
| 117 | |
| 118 | # Some programs need SUID wrappers, can be configured further or are |
| 119 | # started in user sessions. |
| 120 | # programs.mtr.enable = true; |
| 121 | # programs.gnupg.agent = { |
| 122 | # enable = true; |
| 123 | # enableSSHSupport = true; |
| 124 | # }; |
| 125 | |
| 126 | # List services that you want to enable: |
| 127 | nix.settings.experimental-features = [ "nix-command" "flakes" ]; |
| 128 | |
| 129 | # Enable the OpenSSH daemon. |
| 130 | services.openssh.enable = true; |
Skyler Grey | 335bd90 | 2023-03-05 12:34:12 +0000 | [diff] [blame^] | 131 | services.openssh.settings.passwordAuthentication = false; |
Skyler Grey | 1e2187f | 2023-03-03 22:45:10 +0000 | [diff] [blame] | 132 | |
| 133 | # Open ports in the firewall. |
| 134 | # networking.firewall.allowedTCPPorts = [ ... ]; |
| 135 | # networking.firewall.allowedUDPPorts = [ ... ]; |
| 136 | # Or disable the firewall altogether. |
| 137 | networking.firewall.enable = false; |
| 138 | networking.hostName = "Clicks"; |
| 139 | # Copy the NixOS configuration file and link it from the resulting system |
| 140 | # (/run/current-system/configuration.nix). This is useful in case you |
| 141 | # accidentally delete configuration.nix. |
| 142 | /* system.copySystemConfiguration = true; */ |
| 143 | |
| 144 | # This value determines the NixOS release from which the default |
| 145 | # settings for stateful data, like file locations and database versions |
| 146 | # on your system were taken. It‘s perfectly fine and recommended to leave |
| 147 | # this value at the release version of the first install of this system. |
| 148 | # Before changing this value read the documentation for this option |
| 149 | # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). |
| 150 | system.stateVersion = "22.11"; # Did you read the comment? |
| 151 | |
| 152 | } |