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.

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