Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Edit this configuration file to define what should be installed on
- # your system. Help is available in the configuration.nix(5) man page
- # and in the NixOS manual (accessible by running ‘nixos-help’).
- { config, pkgs, lib, options, ... }:
- let
- emacs = let
- emacsWithPackages = (pkgs.emacsPackagesNgGen pkgs.emacs).emacsWithPackages;
- in
- emacsWithPackages (epkgs: (with epkgs.melpaPackages; [
- zerodark-theme
- tabbar
- ergoemacs-mode
- ]));
- steam-wrapper = pkgs.writeShellScriptBin "steam-wrapper" ''
- export __NV_PRIME_RENDER_OFFLOAD=1
- export __GLX_VENDOR_LIBRARY_NAME=nvidia
- export __VK_LAYER_NV_optimus=NVIDIA_only
- export LANG=en_US.UTF8
- export LC_ALL=en_US.UTF8
- $@
- '';
- in {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
- # BIOS
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = false;
- # Boot
- boot.plymouth.enable = true;
- # Hardware
- services.fstrim.enable = true;
- services.fprintd.enable = true;
- sound.mediaKeys.enable = true;
- services.upower.enable = true;
- # hybrid sleep hangs
- services.upower.criticalPowerAction = "Hibernate";
- services.upower.percentageLow = 12;
- services.upower.percentageCritical = 11;
- services.upower.percentageAction = 10;
- # Virtualization
- virtualisation.libvirtd = {
- enable = true;
- qemuVerbatimConfig = ''
- seccomp_sandbox = 0
- '';
- onShutdown = "shutdown";
- };
- # Network
- networking.networkmanager.enable = true;
- services.tor.enable = true;
- services.tor.client.enable = true;
- # Graphics
- hardware.opengl.driSupport32Bit = true;
- services.xserver.videoDrivers = [ "nvidia" ];
- hardware.nvidia.prime.offload.enable = true;
- hardware.nvidia.prime.nvidiaBusId = "PCI:1:0:0";
- hardware.nvidia.prime.intelBusId = "PCI:0:2:0";
- services.autorandr.enable = true;
- # Sound
- sound.enable = true;
- # Localization
- i18n = {
- defaultLocale = "ru_RU.UTF-8";
- };
- console.font = "LatArCyrHeb-16";
- time.timeZone = "Europe/Moscow";
- services.xserver.layout = "us,ru";
- services.xserver.xkbOptions = "grp:alt_shift_toggle,grp_led:caps";
- # UI
- services.xserver.enable = true;
- services.xserver.libinput.enable = true;
- services.xserver.windowManager.i3.enable = true;
- # Environment
- environment.homeBinInPath = true;
- programs.command-not-found.enable = true;
- # Shell
- programs.fish = {
- enable = true;
- shellAliases = {
- tmux = "${pkgs.tmux}/bin/tmux a; or ${pkgs.tmux}/bin/tmux";
- };
- };
- users.defaultUserShell = pkgs.fish;
- programs.tmux = {
- enable = true;
- historyLimit = 90000;
- extraConfig = ''
- set -g status-right ""
- '';
- secureSocket = false;
- };
- programs.nano.nanorc = ''
- set nowrap
- set tabstospaces
- set tabsize 2
- '';
- # User
- users.extraUsers.orchestrator = {
- isNormalUser = true;
- extraGroups = [ "wheel" "input" "libvirtd" ];
- };
- # Packages
- nixpkgs.config.allowUnfree = true;
- # List packages installed in system profile. To search by name, run:
- # $ nix-env -qaP | grep wget
- environment.systemPackages = with pkgs; [
- qutebrowser
- trojita
- transmission_gtk
- tdesktop
- emacs
- vlc
- qmmp
- libreoffice
- mytetra
- speedcrunch
- goldendict
- steam steam-wrapper steam-run-native
- gimp
- virtmanager
- ] ++ [
- file
- tree
- binutils
- telnet
- git
- aria2
- mc
- htop ps_mem
- nix-top nix-review
- dtrx
- ] ++ [
- filelight
- termite
- spaceFM
- spectacle
- dunst
- ];
- # The NixOS release to be compatible with for stateful data such as databases.
- system.stateVersion = "17.09";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement