Files
linux-configs/nixos/configuration.nix
Pavel Kachalouski 259ef2642e New configs
2019-06-16 19:07:40 +02:00

255 lines
5.3 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
./security.nix
./monitor-hotplug.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
hostName = "lenovo";
#wireless.enable = true;
useDHCP = false;
#wicd.enable = true;
networkmanager.enable = true;
};
# Select internationalisation properties.
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
# Set your time zone.
time.timeZone = "Europe/Prague";
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
wget
bind
vim
firefox
ranger
keepass
tdesktop
kitty
fish
transmission_gtk
wireshark
vlc
mpv
moc
libmtp
go-mtpfs
usbutils
binutils-unwrapped
patchelf
file
highlight
mediainfo
breeze-icons.out
gnome3.adwaita-icon-theme
hicolor_icon_theme
#libreoffice-fresh
xfontsel
xorg.xbacklight
xorg.xev
volumeicon
ntfs3g
htop
git
lm_sensors
pavucontrol
openjdk8
openjdk11
#graalvm8
visualvm
scala
dotty
sbt
jetbrains.idea-community
docker
protobuf3_5
openssl
openssl.dev
pv
#virtualbox
graphviz
wirelesstools
mattermost-desktop
openfortivpn
simplenote
i3lock
i3blocks
scrot
imagemagick
xautolock
squashfsTools
#skypeforlinux
vscode
rpm
unzip
chromium
#masterpdfeditor
telnet
geteltorito
#gradle
nix-index
zoom-us
krita
maven
nodejs
#jmeter
mongodb-tools
screen
p7zip
zlib.static
zlib.dev
llvm
clang
gcc
libunwind.out
libunwind.dev
re2
robo3t
nextcloud-client
cmake
gnumake
gperf
#calibre
netcat-gnu
smartmontools
teamviewer
unrar
docker_compose
#androidenv.androidPkgs_9_0.platform-tools
python3
sysstat
yad
xdotool
breeze-icons
okular
dolphin
kcalc
kate
okteta
spectacle
ark
filelight
thunderbird
ffmpeg
];
fonts = {
enableFontDir = true;
fonts = with pkgs; [
source-code-pro
liberation_ttf
font-awesome-ttf
];
};
nixpkgs.config = {
allowUnfree = true;
android_sdk.accept_license = true;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.bash.enableCompletion = true;
# programs.mtr.enable = true;
# programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
services.teamviewer.enable = true;
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 88 8443 111 2049 ];
networking.firewall.allowedUDPPorts = [ 111 2049 ];
# Or disable the firewall altogether.
#networking.firewall.enable = false;
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [ pkgs.splix ];
services.mongodb.enable = true;
services.postgresql = {
enable = true;
ensureUsers = [
{
name = "nnm";
}
];
};
# keyring
#services.gnome3.gnome-keyring.enable = true;
#services.gnome3.seahorse.enable = true;
#services.gnome3.at-spi2-core.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us,ru";
services.xserver.xkbOptions = "grp:caps_toggle";
# Enable touchpad support.
services.xserver.libinput.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.windowManager.i3.enable = true;
virtualisation.docker.enable = true;
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "nnm" ];
sound.enable = true;
hardware.pulseaudio.enable = true;
environment.pathsToLink = [ "/share" ];
# Define a user account. Don't forget to set a password with passwd.
users.extraUsers.nnm = {
isNormalUser = true;
uid = 1000;
shell = pkgs.fish;
extraGroups = ["audio" "networkmanager" "wireshark" "wheel" "docker"];
};
fileSystems."/mnt/pkcloud-export" = {
device = "192.168.1.5:/";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" "user" ];
};
security.wrappers = {
"mount.nfs".source = "${pkgs.nfs-utils.out}/bin/mount.nfs";
"umount.nfs".source = "${pkgs.nfs-utils.out}/bin/umount.nfs";
};
#virtualisation.virtualbox.host.enable = true;
#virtualisation.virtualbox.host.enableExtensionPack = true;
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "19.09"; # Did you read the comment?
}