Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.82 KB | None | 0 0
  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.  
  5. { config, pkgs, ... }:
  6.  
  7. # Custom 8 level keyboard https://github.com/emareg/unikeyboard
  8. let
  9. compiledLayout = pkgs.runCommand "keyboard-layout" {} ''
  10. ${pkgs.xorg.xkbcomp}/bin/xkbcomp ${./home/pankaj/.config/xkb/unikeyboard} $out
  11. '';
  12. in {
  13. services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledLayout} $DISPLAY";
  14. imports =
  15. [ # Include the results of the hardware scan.
  16. ./hardware-configuration.nix
  17. ];
  18.  
  19. # Use the systemd-boot EFI boot loader.
  20. boot.loader.systemd-boot.enable = true;
  21. boot.loader.efi.canTouchEfiVariables = false;
  22. boot.kernelParams = [ "boot.shell_on_fail" ];
  23.  
  24. # Specify luks devices
  25. boot.initrd.luks.devices = [
  26. {
  27. name = "Nixos";
  28. device = "/dev/disk/by-uuid/5d1eb3af-d008-48be-a1ea-be8debf774e0";
  29. preLVM = true;
  30. allowDiscards = true;
  31. }
  32. ];
  33.  
  34. networking.hostName = "jarvis"; # Define your hostname.
  35. #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
  36. networking.networkmanager.enable = true; # Enables network manager.
  37.  
  38. # Select internationalisation properties.
  39. # i18n = {
  40. # consoleFont = "Lat2-Terminus16";
  41. # consoleKeyMap = "us";
  42. # defaultLocale = "en_US.UTF-8";
  43. # };
  44.  
  45. # Set your time zone.
  46. time.timeZone = "Asia/Kolkata";
  47.  
  48. # Enable hardware options
  49. hardware = {
  50. pulseaudio.enable = true;
  51. opengl.driSupport32Bit = true;
  52. bumblebee.enable = true;
  53. bumblebee.connectDisplay = true;
  54. # # bumblebee.driver = "nvidia";
  55. };
  56.  
  57. # List packages installed in system profile. To search by name, run:
  58. # $ nix-env -qaP | grep wget
  59. nix.extraOptions = " binary-caches-parallel-connections = 50 ";
  60. nixpkgs.config = {
  61. allowUnfree = true;
  62. firefox.enableAdobeFlash=true;
  63. };
  64. environment.systemPackages = with pkgs; [
  65. # drivers
  66. microcodeIntel glmark2 primus primusLib
  67. # web
  68. wget firefox chromium weechat uget qbittorrent google-chrome
  69. # development
  70. emacs python3 source-code-pro ag global ycmd sublime3
  71. # productivity
  72. vim yakuake git fish rxvt_unicode-with-plugins ranger xclip xkbcomp
  73. # system utility
  74. tlp htop gnome3.gnome-disk-utility gparted lm_sensors acpi cpufrequtils ntfs3g lshw linuxPackages.cpupower
  75. # nixos utility
  76. nox
  77. # scientific
  78. anki
  79. # latex
  80. stix-two stix-otf xits-math latinmodern-math
  81. # documents
  82. kdeApplications.okular evince kate ark libreoffice
  83. # user utility
  84. redshift redshift-plasma-applet xsel unzip lightlocker xflux xflux-gui
  85. # destop environment
  86. plasma-pa kdeplasma-addons plasma-desktop kwin kdeFrameworks.krunner
  87. # multimedia
  88. mpv smplayer vlc amarok-kf5 youtube-dl gwenview
  89. # games
  90. steam steam-run
  91. ];
  92.  
  93. # List services that you want to enable:
  94.  
  95. # Enable the OpenSSH daemon.
  96. # services.openssh.enable = true;
  97.  
  98. # Open ports in the firewall.
  99. # networking.firewall.allowedTCPPorts = [ ... ];
  100. # networking.firewall.allowedUDPPorts = [ ... ];
  101. # Or disable the firewall altogether.
  102. # networking.firewall.enable = false;
  103.  
  104. # Enable CUPS to print documents.
  105. # services.printing.enable = true;
  106.  
  107. services = {
  108.  
  109. # Enable the X11 windowing system
  110. xserver = {
  111. enable = true;
  112. layout = "us";
  113. exportConfiguration = true;
  114.  
  115. # Enable touchpad
  116. libinput = {
  117. enable = true;
  118. naturalScrolling = false;
  119. middleEmulation = true;
  120. tapping = true;
  121. };
  122.  
  123. # Enable KDE Desktop Environment
  124. desktopManager.plasma5.enable = true;
  125. displayManager.sddm.enable = true;
  126. # displayManager.lightdm.enable = true;
  127.  
  128. # Enable nvidia proprietary drivers
  129. videoDrivers = ["intel" "vesa"];
  130. };
  131.  
  132. redshift = {
  133. enable = true;
  134.  
  135. # New Delhi
  136. latitude = "28.6456024";
  137. longitude = "77.21110499";
  138. temperature.night = 3400;
  139. };
  140.  
  141. };
  142.  
  143. # Enable programs
  144. programs.fish.enable = true;
  145. #programs = {
  146. # fish.enable = true;
  147. #};
  148.  
  149. # Define a user account. Don't forget to set a password with ‘passwd’.
  150. users.extraUsers.pankaj = {
  151. createHome = true;
  152. isNormalUser = true;
  153. home = "/home/pankaj";
  154. description = "Pankaj Bhanu";
  155. extraGroups = ["wheel" "networkmanager" "video" "disk" "systemd-journal" "log"];
  156. uid = 1000;
  157. shell = pkgs.fish;
  158. };
  159.  
  160. # The NixOS release to be compatible with for stateful data such as databases.
  161. system.stateVersion = "18.03";
  162.  
  163. # Add the NixOS Manual on virtual console 8
  164. services.nixosManual.showManual = true;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement