configuration.nix 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. # Edit this configuration file to define what should be installed on
  2. # your system. Help is available in the configuration.nix(5) man page, on
  3. # https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
  4. { config, lib, pkgs, ... }:
  5. {
  6. imports =
  7. [ # Include the results of the hardware scan and a Lenovo Legion Y530 config from https://github.com/NixOS/nixos-hardware.git.
  8. <nixos-hardware/lenovo/legion/15ich>
  9. ./hardware-configuration.nix
  10. ];
  11. # Use the Grub2 EFI boot loader.
  12. boot.loader.grub.device = "nodev";
  13. boot.loader.grub.efiSupport = true;
  14. boot.loader.grub.useOSProber = true;
  15. # Wireless network (add network profile for user)
  16. networking.hostName = "loki"; # Define your hostname.
  17. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
  18. # Set your time zone.
  19. time.timeZone = "Europe/Lisbon";
  20. # Configure network proxy if necessary
  21. # networking.proxy.default = "http://user:password@proxy:port/";
  22. # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
  23. # Select internationalisation properties.
  24. i18n.defaultLocale = "pt_PT.UTF-8";
  25. console = {
  26. # font = "Lat2-Terminus16";
  27. keyMap = "es";
  28. # useXkbConfig = true; # use xkb.options in tty.
  29. };
  30. # Enable the X11 windowing system.
  31. services.xserver.enable = true;
  32. services.xserver.displayManager.sddm.enable = true;
  33. services.xserver.desktopManager.plasma5.enable = true;
  34. # Steam
  35. programs.steam = {
  36. enable = true;
  37. remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
  38. dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
  39. };
  40. # Configure keymap in X11
  41. services.xserver.xkb.layout = "es";
  42. services.xserver.xkb.options = "eurosign:e,caps:escape";
  43. # Enable CUPS to print documents.
  44. services.printing.enable = true;
  45. # Enable sound.
  46. sound.enable = true;
  47. hardware.pulseaudio.enable = true;
  48. # Enable touchpad support (enabled default in most desktopManager).
  49. services.xserver.libinput.enable = true;
  50. # Define a user account. Don't forget to set a password with ‘passwd’.
  51. users.users.dani77 = {
  52. isNormalUser = true;
  53. extraGroups = [ "wheel" "network" ];
  54. # packages = with pkgs; [ firefox
  55. # ];
  56. };
  57. # Allow unfree packages
  58. nixpkgs.config.allowUnfree = true;
  59. # List packages installed in system profile. To search, run:
  60. #$ nix search wget
  61. environment.systemPackages = with pkgs; [
  62. abiword
  63. bitwarden
  64. btop
  65. cmus
  66. curl
  67. ethtool
  68. feh
  69. firefox
  70. flashrom
  71. git
  72. github-desktop
  73. gnumeric
  74. htop
  75. hunspell
  76. hunspellDicts.pt_PT
  77. hw-probe
  78. inxi
  79. jstest-gtk
  80. lutris
  81. minigalaxy
  82. minitube
  83. mpv
  84. neofetch
  85. nextcloud-client
  86. onlykey
  87. protonup-ng
  88. protonup-qt
  89. protontricks
  90. ranger
  91. scribus
  92. smartmontools
  93. spotify
  94. steam
  95. surf
  96. thunderbird
  97. vifm
  98. vim
  99. wget
  100. winetricks
  101. wineWowPackages.stable
  102. xboxdrv
  103. youtube-tui
  104. youtube-dl
  105. yubioath-flutter
  106. zathura
  107. ];
  108. # Some programs need SUID wrappers, can be configured further or are
  109. # started in user sessions.
  110. programs.mtr.enable = true;
  111. programs.gnupg.agent = {
  112. enable = true;
  113. enableSSHSupport = true;
  114. };
  115. # List services that you want to enable:
  116. # Enable the OpenSSH daemon, flatpak and pcscd.
  117. services.openssh.enable = true;
  118. services.flatpak.enable = true;
  119. services.pcscd.enable = true;
  120. # Open ports in the firewall.
  121. # networking.firewall.allowedTCPPorts = [ ... ];
  122. # networking.firewall.allowedUDPPorts = [ ... ];
  123. # Or disable the firewall altogether.
  124. # networking.firewall.enable = false;
  125. # Copy the NixOS configuration file and link it from the resulting system
  126. # (/run/current-system/configuration.nix). This is useful in case you
  127. # accidentally delete configuration.nix.
  128. # system.copySystemConfiguration = true;
  129. # This option defines the first version of NixOS you have installed on this particular machine,
  130. # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
  131. #
  132. # Most users should NEVER change this value after the initial install, for any reason,
  133. # even if you've upgraded your system to a new NixOS release.
  134. #
  135. # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
  136. # so changing it will NOT upgrade your system.
  137. #
  138. # This value being lower than the current NixOS release does NOT mean your system is
  139. # out of date, out of support, or vulnerable.
  140. #
  141. # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
  142. # and migrated your data accordingly.
  143. #
  144. # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
  145. system.stateVersion = "23.11"; # Did you read the comment?
  146. system.autoUpgrade.enable = true;
  147. }