You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.4 KiB

2 years ago
  1. { config, pkgs, ... }:
  2. {
  3. imports =
  4. [ # Include the results of the hardware scan.
  5. ./hardware-configuration.nix
  6. ./users.nix
  7. ];
  8. # Use the systemd-boot EFI boot loader.
  9. boot.loader.systemd-boot.enable = true;
  10. boot.loader.efi.canTouchEfiVariables = true;
  11. networking.hostName = "multiuser-server-example";
  12. # Set your time zone.
  13. time.timeZone = "US/Eastern";
  14. # Select internationalisation properties.
  15. i18n.defaultLocale = "en_US.UTF-8";
  16. console = {
  17. font = "Lat2-Terminus16";
  18. keyMap = "us";
  19. useXkbConfig = true; # use xkbOptions in tty.
  20. };
  21. nix = {
  22. package = pkgs.nixFlakes; # or versioned attributes like nix_2_7
  23. extraOptions = ''
  24. experimental-features = nix-command flakes
  25. '';
  26. };
  27. environment.systemPackages = with pkgs; [
  28. vim nano
  29. wget curl
  30. neofetch
  31. screen tmux fff
  32. bash dash git
  33. docker-compose
  34. nodejs
  35. ];
  36. virtualisation.docker.enable = true;
  37. programs.starship.enable = true;
  38. programs.neovim = {
  39. enable = true;
  40. plugins = with pkgs.vimPlugins; [
  41. coc-nvim
  42. neovim-sensible
  43. vim-airline
  44. vim-airline-themes
  45. vim-nix
  46. ];
  47. };
  48. # Some programs need SUID wrappers, can be configured further or are
  49. # started in user sessions.
  50. # programs.mtr.enable = true;
  51. programs.gnupg.agent = {
  52. enable = true;
  53. enableSSHSupport = true;
  54. };
  55. # List services that you want to enable:
  56. # Enable the OpenSSH daemon.
  57. services.openssh.enable = true;
  58. # Open ports in the firewall.
  59. # networking.firewall.allowedTCPPorts = [ ... ];
  60. # networking.firewall.allowedUDPPorts = [ ... ];
  61. # Or disable the firewall altogether.
  62. networking.firewall.enable = false;
  63. # Copy the NixOS configuration file and link it from the resulting system
  64. # (/run/current-system/configuration.nix). This is useful in case you
  65. # accidentally delete configuration.nix.
  66. system.copySystemConfiguration = true;
  67. # This value determines the NixOS release from which the default
  68. # settings for stateful data, like file locations and database versions
  69. # on your system were taken. It‘s perfectly fine and recommended to leave
  70. # this value at the release version of the first install of this system.
  71. # Before changing this value read the documentation for this option
  72. # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  73. system.stateVersion = "22.05"; # Did you read the comment?
  74. }