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.

93 lines
2.4 KiB

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