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.

95 lines
2.6 KiB

2 years ago
2 years ago
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. };
  23. nix = {
  24. package = pkgs.nixFlakes; # or versioned attributes like nix_2_7
  25. extraOptions = ''
  26. experimental-features = nix-command flakes
  27. '';
  28. };
  29. environment.systemPackages = with pkgs; [
  30. vim nano
  31. wget curl
  32. neofetch
  33. screen tmux fff
  34. bash dash git
  35. docker-compose
  36. nodejs
  37. ];
  38. virtualisation.docker.enable = true;
  39. # Some programs need SUID wrappers, can be configured further or are
  40. # started in user sessions.
  41. # programs.mtr.enable = true;
  42. programs.gnupg.agent = {
  43. enable = true;
  44. enableSSHSupport = true;
  45. };
  46. programs.zsh.enable = true;
  47. programs.zsh.ohMyZsh.enable = true;
  48. programs.zsh.autosuggestions.enable = true;
  49. programs.zsh.shellAliases = {
  50. "gac" = "git add . && git commit";
  51. "v" = "nvim";
  52. "c" = "clear";
  53. "s" = "ls";
  54. "e" = "exit";
  55. "sy" = "systemctl";
  56. "cp" = "cp -r";
  57. };
  58. programs.zsh.ohMyZsh.plugins = [ "git" "command-not-found" ];
  59. programs.zsh.syntaxHighlighting.enable = true;
  60. programs.starship.enable = true;
  61. # List services that you want to enable:
  62. # Enable the OpenSSH daemon.
  63. services.openssh.enable = true;
  64. # Open ports in the firewall.
  65. # networking.firewall.allowedTCPPorts = [ ... ];
  66. # networking.firewall.allowedUDPPorts = [ ... ];
  67. # Or disable the firewall altogether.
  68. networking.firewall.enable = false;
  69. # Copy the NixOS configuration file and link it from the resulting system
  70. # (/run/current-system/configuration.nix). This is useful in case you
  71. # accidentally delete configuration.nix.
  72. system.copySystemConfiguration = true;
  73. # This value determines the NixOS release from which the default
  74. # settings for stateful data, like file locations and database versions
  75. # on your system were taken. It‘s perfectly fine and recommended to leave
  76. # this value at the release version of the first install of this system.
  77. # Before changing this value read the documentation for this option
  78. # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  79. system.stateVersion = "22.05"; # Did you read the comment?
  80. }