New file |
| | |
| | | # Edit this configuration file to define what should be installed on |
| | | # your system. Help is available in the configuration.nix(5) man page |
| | | # and in the NixOS manual (accessible by running ‘nixos-help’). |
| | | |
| | | { config, pkgs, ... }: |
| | | |
| | | { |
| | | imports = |
| | | [ # Include the results of the hardware scan. |
| | | /etc/nixos/hardware-configuration.nix |
| | | ]; |
| | | |
| | | # Bootloader. |
| | | boot.loader.systemd-boot.enable = true; |
| | | boot.loader.efi.canTouchEfiVariables = true; |
| | | |
| | | boot.supportedFilesystems = [ "zfs" ]; |
| | | boot.zfs.forceImportRoot = false; |
| | | networking.hostId = "31f59926"; |
| | | |
| | | networking.hostName = "wipi"; # Define your hostname. |
| | | # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. |
| | | |
| | | # Configure network proxy if necessary |
| | | # networking.proxy.default = "http://user:password@proxy:port/"; |
| | | # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; |
| | | |
| | | # Enable networking |
| | | networking.networkmanager.enable = true; |
| | | |
| | | # Set your time zone. |
| | | time.timeZone = "America/New_York"; |
| | | |
| | | # Select internationalisation properties. |
| | | i18n.defaultLocale = "en_US.UTF-8"; |
| | | |
| | | i18n.extraLocaleSettings = { |
| | | LC_ADDRESS = "en_US.UTF-8"; |
| | | LC_IDENTIFICATION = "en_US.UTF-8"; |
| | | LC_MEASUREMENT = "en_US.UTF-8"; |
| | | LC_MONETARY = "en_US.UTF-8"; |
| | | LC_NAME = "en_US.UTF-8"; |
| | | LC_NUMERIC = "en_US.UTF-8"; |
| | | LC_PAPER = "en_US.UTF-8"; |
| | | LC_TELEPHONE = "en_US.UTF-8"; |
| | | LC_TIME = "en_US.UTF-8"; |
| | | }; |
| | | |
| | | # Configure keymap in X11 |
| | | services.xserver.xkb = { |
| | | layout = "us"; |
| | | variant = ""; |
| | | }; |
| | | |
| | | # Define a user account. Don't forget to set a password with ‘passwd’. |
| | | users.users.joel = { |
| | | isNormalUser = true; |
| | | description = "Joel Grunbaum"; |
| | | shell = pkgs.zsh; |
| | | extraGroups = [ "networkmanager" "wheel" "docker" ]; |
| | | openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIATFC5gWcw58fSBHwfn+3FoAnxZfJEJH1bCe5cQof0YN joelgrun@gmail.com" ]; |
| | | packages = with pkgs; []; |
| | | }; |
| | | |
| | | # Allow unfree packages |
| | | nixpkgs.config.allowUnfree = true; |
| | | |
| | | nix.settings = { |
| | | experimental-features = [ "nix-command" "flakes" ]; |
| | | }; |
| | | |
| | | # List packages installed in system profile. To search, run: |
| | | # $ nix search wget |
| | | environment.systemPackages = with pkgs; [ |
| | | vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. |
| | | wget |
| | | neofetch |
| | | git |
| | | gnumake |
| | | zfs |
| | | tmux |
| | | htop |
| | | ]; |
| | | |
| | | # Some programs need SUID wrappers, can be configured further or are |
| | | # started in user sessions. |
| | | # programs.mtr.enable = true; |
| | | # programs.gnupg.agent = { |
| | | # enable = true; |
| | | # enableSSHSupport = true; |
| | | # }; |
| | | |
| | | security.sudo.wheelNeedsPassword = false; |
| | | |
| | | # List services that you want to enable: |
| | | |
| | | # Enable the OpenSSH daemon. |
| | | services.openssh = { |
| | | enable = true; |
| | | ports = [ 22 ]; |
| | | settings = { |
| | | PasswordAuthentication = false; |
| | | KbdInteractiveAuthentication = false; |
| | | PermitRootLogin = "no"; |
| | | }; |
| | | }; |
| | | |
| | | services.nginx = { |
| | | enable = true; |
| | | }; |
| | | |
| | | virtualisation.docker = { |
| | | enable = true; |
| | | daemon.settings = { |
| | | data-root = "/pool/docker/lib"; |
| | | exec-root = "/pool/docker/run"; |
| | | }; |
| | | }; |
| | | |
| | | programs.zsh = { |
| | | enable = true; |
| | | enableCompletion = true; |
| | | #autosuggestion.enable = true; |
| | | syntaxHighlighting.enable = true; |
| | | }; |
| | | |
| | | # Open ports in the firewall. |
| | | # networking.firewall.allowedTCPPorts = [ ... ]; |
| | | # networking.firewall.allowedUDPPorts = [ ... ]; |
| | | # Or disable the firewall altogether. |
| | | networking.firewall.enable = false; |
| | | |
| | | # This value determines the NixOS release from which the default |
| | | # settings for stateful data, like file locations and database versions |
| | | # on your system were taken. It‘s perfectly fine and recommended to leave |
| | | # this value at the release version of the first install of this system. |
| | | # Before changing this value read the documentation for this option |
| | | # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). |
| | | system.stateVersion = "24.11"; # Did you read the comment? |
| | | |
| | | } |