# 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? }