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.

146 lines
3.5 KiB

  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
  3. # and in the NixOS manual (accessible by running ‘nixos-help’).
  4. { config, pkgs, ... }:
  5. {
  6. imports =
  7. [
  8. ./hardware-configuration.nix
  9. ./surface-extra-hardware-configuration.nix
  10. ./private-configuration.nix
  11. ];
  12. # Bootloader.
  13. boot.loader.systemd-boot.enable = true;
  14. boot.loader.efi.canTouchEfiVariables = true;
  15. # Setup keyfile
  16. boot.initrd.secrets = {
  17. "/crypto_keyfile.bin" = null;
  18. };
  19. networking.hostName = "nixos"; # Define your hostname.
  20. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
  21. # Configure network proxy if necessary
  22. # networking.proxy.default = "http://user:password@proxy:port/";
  23. # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
  24. # Enable networking
  25. networking.networkmanager.enable = true;
  26. # Set your time zone.
  27. time.timeZone = "Europe/Madrid";
  28. # Select internationalisation properties.
  29. i18n.defaultLocale = "en_US.UTF-8";
  30. i18n.extraLocaleSettings = {
  31. LC_ALL = "en_US.UTF-8";
  32. };
  33. # Configure keymap in X11
  34. services.xserver = {
  35. layout = "us";
  36. xkbVariant = "";
  37. enable=true;
  38. displayManager = {
  39. defaultSession = "none+i3";
  40. };
  41. windowManager.i3 = {
  42. enable=true;
  43. extraPackages = with pkgs; [
  44. dmenu
  45. i3status
  46. i3lock
  47. ];
  48. };
  49. };
  50. # Define a user account. Don't forget to set a password with ‘passwd’.
  51. users.users.userc = {
  52. isNormalUser = true;
  53. description = "userc";
  54. extraGroups = [ "networkmanager" "wheel" ];
  55. packages = with pkgs; [];
  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. vim
  63. neovim
  64. wget
  65. tmux
  66. git
  67. delta
  68. tig
  69. mosh
  70. bat
  71. ripgrep
  72. fzf
  73. python3
  74. xfce.thunar
  75. screenfetch
  76. htop
  77. alacritty
  78. zathura
  79. mate.atril
  80. firefox
  81. qutebrowser
  82. chromium
  83. xfce.ristretto
  84. pavucontrol
  85. sage
  86. obs-studio
  87. ];
  88. programs.zsh.enable = true;
  89. users.defaultUserShell = pkgs.zsh;
  90. environment.shells = with pkgs; [zsh];
  91. # Some programs need SUID wrappers, can be configured further or are
  92. # started in user sessions.
  93. # programs.mtr.enable = true;
  94. # programs.gnupg.agent = {
  95. # enable = true;
  96. # enableSSHSupport = true;
  97. # };
  98. # List services that you want to enable:
  99. # Enable the OpenSSH daemon.
  100. # services.openssh.enable = true;
  101. # Open ports in the firewall.
  102. # networking.firewall.allowedTCPPorts = [ ... ];
  103. # networking.firewall.allowedUDPPorts = [ ... ];
  104. # Or disable the firewall altogether.
  105. # networking.firewall.enable = false;
  106. # This value determines the NixOS release from which the default
  107. # settings for stateful data, like file locations and database versions
  108. # on your system were taken. It‘s perfectly fine and recommended to leave
  109. # this value at the release version of the first install of this system.
  110. # Before changing this value read the documentation for this option
  111. # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  112. system.stateVersion = "23.05"; # Did you read the comment?
  113. # gvfs needed for Thunar to detect external disks
  114. services.gvfs.enable = true;
  115. # bluetooth related
  116. hardware.bluetooth.enable = true;
  117. services.blueman.enable = true;
  118. # obs virtual camera
  119. boot.extraModulePackages = with config.boot.kernelPackages; [
  120. v4l2loopback
  121. ];
  122. }