Skip to content

Instantly share code, notes, and snippets.

@balsoft
Created January 10, 2018 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save balsoft/43b00a0de43ca602ef71ac71114bc642 to your computer and use it in GitHub Desktop.
Save balsoft/43b00a0de43ca602ef71ac71114bc642 to your computer and use it in GitHub Desktop.
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
fonts.fonts = with pkgs; [
terminus_font
opensans-ttf
roboto
roboto-mono
roboto-slab
];
fonts.enableDefaultFonts = true;
boot.loader.grub = {
enable = true;
version = 2;
efiSupport = true;
useOSProber = true;
device = "nodev";
};
services.tor = {
enable = true;
client = {
enable = true;
};
};
fileSystems = {
"/".device = "/dev/sda5";
"/home/".device = "/dev/sda4";
"/boot".device = "/dev/sda1";
"/run/media/ubuntu".device = "/dev/sda2";
};
services.avahi.enable = true;
hardware.sane = {
enable = true;
extraBackends = [
pkgs.epkowa
];
};
networking.hostName = "HP-Laptop"; # Define your hostname.
networking.networkmanager.enable = true;
# Select internationalisation properties.
i18n = {
consoleKeyMap = "ru4";
defaultLocale = "ru_RU.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Moscow";
#virtualisation.virtualbox.host.enable = true; # Fails on latest kernel
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
docker
google-drive-ocamlfuse
paprefs
gnome3.gconf
];
services.dbus.packages = [
pkgs.gnome3.gconf
pkgs.udisks
];
services.udev.packages = [
pkgs.udisks
];
security.pam.usb.enable = true;
virtualisation.docker.enable = true;
networking.firewall.enable = false;
services.printing = {
enable = true;
};
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.libinput.sendEventsMode = "disabled-on-external-mouse";
services.xserver.xkbOptions = "grp:caps_toggle,grp_led:caps"; # For some reason doesn't work
hardware.sensor.iio.enable = true;
hardware.pulseaudio = {
enable = true;
zeroconf.discovery.enable = true;
tcp.enable = true;
package = pkgs.pulseaudioFull;
};
services.xserver.displayManager.gdm = {
enable = true;
wayland = false; # Otherwise it freezes
};
#services.udisks.enable = true; # Doesn't work
security.apparmor.enable = true;
services.xserver.videoDrivers = [ "amdgpu" ];
services.xserver.desktopManager.gnome3.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.extraUsers.balsoft = {
isNormalUser = true;
extraGroups = ["sudo" "wheel" "networkmanager" "docker" "disk"];
description = "Александр Бантьев";
uid = 1000;
};
services.gnome3 = {
gnome-disks.enable = true;
gnome-online-accounts.enable = true;
gvfs.enable = true;
gnome-keyring.enable = true;
gnome-online-miners.enable = true;
gpaste.enable = true;
seahorse.enable = true;
tracker.enable = true;
gnome-documents.enable = true;
evolution-data-server.enable = true;
};
services.udisks2.enable = true;
security.pam.enableEcryptfs = true;
services.openssh.enable = true;
hardware.cpu.amd.updateMicrocode = true;
boot.kernelPackages = pkgs.linuxPackages_4_14;
systemd.services.gdrive = {
enable = true;
requires = ["network-online.target"];
wantedBy = ["multi-user.target"];
path = with pkgs; [ sudo ];
script = ''
sudo -u balsoft ${pkgs.google-drive-ocamlfuse}/bin/google-drive-ocamlfuse -debug /home/balsoft/Google\ Drive/
'';
};
nixpkgs.config.allowUnfree = true;
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "17.09";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment