Klimi's new dotfiles with stow.
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.

139 lines
3.9 KiB

4 years ago
4 years ago
4 years ago
  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. let
  6. userName = "klimi";
  7. name = "Martin Klimeš <Klimi>";
  8. email = "klimi@sitischu.com";
  9. hostName = "nixos";
  10. timeZone = "Europe/Prague";
  11. dots = "/home/klimi/dotfiles/dotfiles/";
  12. #home-manager = builtins.fetchGit {
  13. # url = "https://github.com/rycee/home-manager.git";
  14. # rev = "dd94a849df69fe62fe2cb23a74c2b9330f1189ed"; # CHANGEME
  15. # ref = "release-18.09";
  16. #};
  17. in {
  18. imports = [ # Include the results of the hardware scan.
  19. ./desktop-hardware-configuration.nix
  20. #"${home-manager}/nixos"
  21. #<home-manager/nixos>
  22. ./user.nix
  23. ./machines/desktop.nix
  24. ];
  25. # Linux kernel Latest
  26. boot.kernelPackages = pkgs.linuxPackages_latest;
  27. # Use the GRUB 2 boot loader.
  28. # boot.loader.grub.efiSupport = true;
  29. # boot.loader.grub.efiInstallAsRemovable = true;
  30. # boot.loader.efi.efiSysMountPoint = "/boot/efi";
  31. # Define on which hard drive you want to install Grub.
  32. networking = {
  33. networkmanager.enable = true;
  34. };
  35. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
  36. # Configure network proxy if necessary
  37. # networking.proxy.default = "http://user:password@proxy:port/";
  38. # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
  39. # Select internationalisation properties.
  40. i18n = {
  41. consoleFont = "Lat2-Terminus16";
  42. consoleKeyMap = "uk";
  43. defaultLocale = "en_GB.UTF-8";
  44. # consoleUseXkbConfig = true; WELL IDK
  45. };
  46. # Set your time zone.
  47. time.timeZone = timeZone;
  48. # List packages installed in system profile. To search, run: # $ nix search wget
  49. environment.systemPackages = with pkgs; [
  50. wget
  51. vim
  52. git
  53. killall
  54. acpi
  55. gnumake
  56. gcc
  57. xorg.libxcb.dev
  58. wirelesstools
  59. ];
  60. # Some programs need SUID wrappers, can be configured further or are
  61. # started in user sessions.
  62. # programs.mtr.enable = true;
  63. # programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
  64. # List services that you want to enable:
  65. # Enable the OpenSSH daemon.
  66. # services.openssh.enable = true;
  67. nixpkgs.config = {
  68. allowUnfree = true;
  69. };
  70. # Open ports in the firewall.
  71. networking.firewall.allowedTCPPorts = [ 22000 ];
  72. # networking.firewall.allowedUDPPorts = [ ... ];
  73. # Or disable the firewall altogether.
  74. # networking.firewall.enable = false;
  75. # Enable CUPS to print documents.
  76. # services.printing.enable = true;
  77. # Enable sound.
  78. sound.enable = true;
  79. hardware.pulseaudio.enable = true;
  80. # Enable the X11 windowing system.
  81. # services.xserver.enable = true;
  82. # services.xserver.layout = "us";
  83. # services.xserver.xkbOptions = "eurosign:e";
  84. services.xserver = {
  85. enable = true;
  86. layout = "gb";
  87. xkbOptions = "compose:sclk,ctrl:nocaps";
  88. displayManager.sddm.enable = true;
  89. windowManager.bspwm = {
  90. enable = true;
  91. #configFile = "${dots}bspwmrc";
  92. #sxhkd.configFile = "${dots}sxhkdrc";
  93. #sxhkd.configFile = "/home/klimi/dotfiles/dotfiles/sxhkdrc";
  94. ###########################################################
  95. # this doesnt work so i will try to do it in home-manager #
  96. ###########################################################
  97. };
  98. };
  99. # Enable touchpad support.
  100. services.xserver.libinput.enable = true;
  101. # Enable the KDE Desktop Environment.
  102. # services.xserver.displayManager.sddm.enable = true;
  103. # services.xserver.desktopManager.plasma5.enable = true;
  104. # Define a user account. Don't forget to set a password with ‘passwd’.
  105. # in user.nix
  106. # This value determines the NixOS release with which your system is to be
  107. # compatible, in order to avoid breaking some software such as database
  108. # servers. You should change this only after NixOS release notes say you
  109. # should.
  110. system.stateVersion = "19.03"; # Did you read the comment?
  111. }