SHARE
TWEET

Untitled

a guest Jan 22nd, 2019 89 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top