Skip to content

Instantly share code, notes, and snippets.

@manuelmazzuola
Last active October 16, 2019 04:23
Show Gist options
  • Save manuelmazzuola/4ffa90f5f5d0ddacda96 to your computer and use it in GitHub Desktop.
Save manuelmazzuola/4ffa90f5f5d0ddacda96 to your computer and use it in GitHub Desktop.
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./nixpkgs-configuration.nix
];
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/sda";
boot.cleanTmpDir = true;
boot.enableContainers = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [ "ipv6.disable=1" "video=eDP-1:1920x1200@60" ];
boot.kernel.sysctl = {
"kernel.sysrq" = 1;
"fs.inotify.max_user_watches" = 524288;
"vm.swappiness" = 1;
};
boot.extraModprobeConfig = ''
options snd_hda_intel power_save=1
'';
networking.hostName = "originof"; # Define your hostname.
# disable bluetooth
hardware.bluetooth.enable = false;
hardware.pulseaudio.enable = true;
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
fonts.enableFontDir = true;
fonts.enableCoreFonts = true;
fonts.enableGhostscriptFonts = true;
fonts.fonts = with pkgs; [
corefonts
inconsolata
liberation_ttf
dejavu_fonts
bakoma_ttf
gentium
ubuntu_font_family
terminus_font
];
nix.useChroot = true;
# Set your time zone.
time.timeZone = "Europe/Rome";
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
httpie
pciutils
ack
binutils
curl
htop
powertop
curl
zip
unzip
tcpdump
jq
gnupg
wget
ascii
filezilla
gnome3.dconf
hdparm
htop
iftop
ioping
iotop
linuxPackages.perf
lshw
lsof
ltrace
manpages
tmux
tcpdump
unrar
unzip
tmux
irssi
openssl_1_0_2
zlib
readline
autojump
file
glibc
#DE
#numix-gtk-theme
# power management
acpi
# web browsers
google-chrome
# security
googleAuthenticator
# dev
my_vim
gitAndTools.gitFull
idea.idea-ultimate
atom
gnumake
automake
cmake
gcc
openjdk
glibc
ruby
chefdk
];
powerManagement.enable = true;
programs.ssh.startAgent = true;
programs.ssh.agentTimeout = "24h";
services.nixosManual.showManual = true;
services.printing.enable = true;
services.upower.enable = true;
services.locate.enable = true;
services.openntpd.enable = true;
services.avahi = { enable = true; nssmdns = true; };
# Enable the X11 windowing system.
services.xserver = {
enable = true;
layout = "us";
xkbOptions = "eurosign:e";
desktopManager.gnome3.enable = true;
displayManager.gdm.enable = true;
#displayManager.desktopManagerHandlesLidAndPower = false;
synaptics.buttonsMap = [ 1 3 2 ];
synaptics.enable = true;
synaptics.tapButtons = false;
synaptics.fingersMap = [ 0 0 0 ];
synaptics.twoFingerScroll = true;
synaptics.vertEdgeScroll = false;
synaptics.maxSpeed = "2.0";
synaptics.minSpeed = "0.9";
synaptics.accelFactor = "0.005";
};
virtualisation.libvirtd.enable = true;
virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "overlay";
security.sudo.enable = true;
security.sudo.wheelNeedsPassword = false;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.extraUsers.manuel = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "docker" ];
uid = 1000;
};
users.defaultUserShell = "/run/current-system/sw/bin/zsh";
programs.zsh.enable = true;
nix.gc.automatic = true;
nix.gc.dates = "13:40";
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "16.03";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment