You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
379 lines
15 KiB
Nix
379 lines
15 KiB
Nix
6 years ago
|
{ config, pkgs, ... }: let
|
||
|
packages = (import ../lib/packages.nix) { config = config.nixpkgs.config; };
|
||
|
callPackageFile = path: (import path) packages;
|
||
|
in {
|
||
|
imports = [
|
||
|
(callPackageFile ../profiles/system/base.nix)
|
||
|
|
||
|
(callPackageFile ../profiles/environment/graphical-environment.nix)
|
||
|
(callPackageFile ../profiles/environment/plasma5.nix)
|
||
|
(callPackageFile ../profiles/environment/common-software.nix)
|
||
|
|
||
|
(callPackageFile ../profiles/system/efi-boot.nix)
|
||
|
(callPackageFile ../profiles/system/networked.nix)
|
||
|
(callPackageFile ../profiles/system/printing.nix)
|
||
|
(callPackageFile ../profiles/system/scanning.nix)
|
||
|
(callPackageFile ../profiles/system/pulseaudio.nix)
|
||
|
(callPackageFile ../profiles/system/virtualization.nix)
|
||
|
|
||
|
(callPackageFile ../profiles/software/elasticsearch.nix)
|
||
|
|
||
|
(callPackageFile ../profiles/software/yakuake.nix)
|
||
|
(callPackageFile ../profiles/software/synergy.nix)
|
||
|
(callPackageFile ../profiles/software/workrave.nix)
|
||
|
];
|
||
|
|
||
|
networking = {
|
||
|
hostName = "x270";
|
||
|
|
||
|
firewall = {
|
||
|
allowedTCPPorts = [
|
||
|
4567
|
||
|
];
|
||
|
|
||
|
allowedUDPPorts = [
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
systemd.services.modem-manager.enable = false;
|
||
|
|
||
|
users.extraUsers.sven = {
|
||
|
isNormalUser = true;
|
||
|
uid = 1000;
|
||
|
extraGroups = ["libvirtd" "plugdev" "dialout"];
|
||
|
};
|
||
|
|
||
|
users.groups = {
|
||
|
davfs2 = {};
|
||
|
plugdev = {};
|
||
|
};
|
||
|
|
||
|
users.extraUsers.davfs2 = {
|
||
|
isNormalUser = true;
|
||
|
};
|
||
|
|
||
|
boot = {
|
||
|
kernelModules = [ "tun" "virtio" "nbd" ];
|
||
|
|
||
|
#loader.grub = {
|
||
|
# enable = true;
|
||
|
# version = 2;
|
||
|
# device = "/dev/nvme0n1";
|
||
|
#};
|
||
|
};
|
||
|
|
||
|
environment = {
|
||
|
pathsToLink = [
|
||
|
"/lib/rustlib/src"
|
||
|
"/etc/udev/rules.d/"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
hardware.bluetooth.enable = true;
|
||
|
/* hardware.pulseaudio.extraConfig = ''
|
||
|
load-module module-loopback
|
||
|
load-module module-combine-sink sink_name=all
|
||
|
''; */
|
||
|
/* hardware.bluetooth.extraConfig = "
|
||
|
[General]
|
||
|
Enable=Source,Sink,Media,Socket
|
||
|
"; */
|
||
|
|
||
|
services.xserver.synaptics = {
|
||
|
enable = false;
|
||
|
};
|
||
|
|
||
|
services.xserver.libinput = {
|
||
|
enable = true;
|
||
|
clickMethod = "clickfinger";
|
||
|
naturalScrolling = true;
|
||
|
tapping = false;
|
||
|
accelSpeed = "4";
|
||
|
};
|
||
|
|
||
|
services.fprintd.enable = true;
|
||
|
|
||
|
system.stateVersion = "17.09";
|
||
|
|
||
|
services.printing.drivers = [pkgs.gutenprint];
|
||
|
|
||
|
environment.systemPackages = [
|
||
|
pkgs.sshuttle
|
||
|
pkgs.ark
|
||
|
pkgs.okular
|
||
|
pkgs.kate
|
||
|
pkgs.cabextract
|
||
|
pkgs.glibcLocales
|
||
|
pkgs.rtl-sdr
|
||
|
pkgs.gqrx
|
||
|
/* packages.unstable.platformio */
|
||
|
pkgs.clang
|
||
|
pkgs.llvm
|
||
|
pkgs.gcc
|
||
|
pkgs.arduino
|
||
|
pkgs.gwenview
|
||
|
pkgs.fritzing
|
||
|
/* packages.unstable.gcc-arm-embedded
|
||
|
packages.unstable.openocd */
|
||
|
];
|
||
|
|
||
|
environment.etc."X11/xorg.conf.d/40-libinput.conf".text = ''
|
||
|
# Match on all types of devices but joysticks
|
||
|
Section "InputClass"
|
||
|
Identifier "libinput pointer catchall"
|
||
|
MatchIsPointer "on"
|
||
|
MatchDevicePath "/dev/input/event*"
|
||
|
Driver "libinput"
|
||
|
EndSection
|
||
|
|
||
|
Section "InputClass"
|
||
|
Identifier "libinput keyboard catchall"
|
||
|
MatchIsKeyboard "on"
|
||
|
MatchDevicePath "/dev/input/event*"
|
||
|
Driver "libinput"
|
||
|
EndSection
|
||
|
|
||
|
Section "InputClass"
|
||
|
Identifier "libinput touchpad catchall"
|
||
|
MatchIsTouchpad "on"
|
||
|
MatchDevicePath "/dev/input/event*"
|
||
|
Driver "libinput"
|
||
|
EndSection
|
||
|
|
||
|
Section "InputClass"
|
||
|
Identifier "libinput touchscreen catchall"
|
||
|
MatchIsTouchscreen "on"
|
||
|
MatchDevicePath "/dev/input/event*"
|
||
|
Driver "libinput"
|
||
|
EndSection
|
||
|
|
||
|
Section "InputClass"
|
||
|
Identifier "libinput tablet catchall"
|
||
|
MatchIsTablet "on"
|
||
|
MatchDevicePath "/dev/input/event*"
|
||
|
Driver "libinput"
|
||
|
EndSection
|
||
|
'';
|
||
|
|
||
|
environment.etc."X11/xorg.conf.d/40-libinput.conf".enable = true;
|
||
|
services.xserver.inputClassSections = [''
|
||
|
Identifier "Keyboard catchall"
|
||
|
MatchIsKeyboard "on"
|
||
|
Option "XkbRules" "evdev"
|
||
|
''];
|
||
|
|
||
|
services.udev.extraRules = ''
|
||
|
# Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
#####################################################################################
|
||
|
#
|
||
|
# INSTALLATION
|
||
|
#
|
||
|
# Please visit > http://docs.platformio.org/en/latest/faq.html#platformio-udev-rules
|
||
|
#
|
||
|
#####################################################################################
|
||
|
|
||
|
#
|
||
|
# Boards
|
||
|
#
|
||
|
|
||
|
# CP210X USB UART
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0666"
|
||
|
|
||
|
# FT232R USB UART
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
|
||
|
|
||
|
# Prolific Technology, Inc. PL2303 Serial Port
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666"
|
||
|
|
||
|
# QinHeng Electronics HL-340 USB-Serial adapter
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666"
|
||
|
|
||
|
# Arduino boards
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="[08][02]*", MODE:="0666"
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="[08][02]*", MODE:="0666"
|
||
|
|
||
|
# Arduino SAM-BA
|
||
|
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", ENV{MTP_NO_PROBE}="1"
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666"
|
||
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", MODE:="0666"
|
||
|
|
||
|
# Digistump boards
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
|
||
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
|
||
|
# STM32 discovery boards, with onboard st/linkv2
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374?", MODE:="0666"
|
||
|
|
||
|
# STM32 discovery boards, with Maple Leaf USB bootloader
|
||
|
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="000[34]", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="000[34]", ENV{MTP_NO_PROBE}="1"
|
||
|
ATTRS{idProduct}=="1001", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
||
|
ATTRS{idProduct}=="1002", ATTRS{idVendor}=="0110", MODE="664", GROUP="plugdev"
|
||
|
ATTRS{idProduct}=="0003", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
ATTRS{idProduct}=="0004", ATTRS{idVendor}=="1eaf", MODE="664", GROUP="plugdev" SYMLINK+="maple", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="000?", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="000?", ENV{MTP_NO_PROBE}="1"
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0004", MODE:="0664"
|
||
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0004", MODE:="0664"
|
||
|
|
||
|
# USBtiny
|
||
|
SUBSYSTEMS=="usb", ATTRS{idProduct}=="0c9f", ATTRS{idVendor}=="1781", MODE="0666"
|
||
|
|
||
|
# USBasp V2.0
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE:="0666"
|
||
|
|
||
|
# Teensy boards
|
||
|
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||
|
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", ENV{MTP_NO_PROBE}="1"
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666"
|
||
|
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", MODE:="0666"
|
||
|
|
||
|
#TI Stellaris Launchpad
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="0666"
|
||
|
|
||
|
#TI MSP430 Launchpad
|
||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666"
|
||
|
|
||
|
|
||
|
#
|
||
|
# Debuggers
|
||
|
#
|
||
|
|
||
|
# Black Magic Probe
|
||
|
SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic GDB Server"
|
||
|
SUBSYSTEM=="tty", ATTRS{interface}=="Black Magic UART Port"
|
||
|
|
||
|
# opendous and estick
|
||
|
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204f", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Original FT232/FT245 VID:PID
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Original FT2232 VID:PID
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Original FT4232 VID:PID
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Original FT232H VID:PID
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# DISTORTEC JTAG-lock-pick Tiny 2
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8220", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# TUMPA, TUMPA Lite
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a99", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# XDS100v2
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Xverve Signalyzer Tool (DT-USB-ST), Signalyzer LITE (DT-USB-SLITE)
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca0", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca1", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# TI/Luminary Stellaris Evaluation Board FTDI (several)
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# TI/Luminary Stellaris In-Circuit Debug Interface FTDI (ICDI) Board
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcda", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# egnite Turtelizer 2
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bdc8", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Section5 ICEbear
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c140", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c141", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Amontec JTAGkey and JTAGkey-tiny
|
||
|
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cff8", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# TI ICDI
|
||
|
ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# STLink v1
|
||
|
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# STLink v2
|
||
|
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# STLink v2-1
|
||
|
ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Hilscher NXHX Boards
|
||
|
ATTRS{idVendor}=="0640", ATTRS{idProduct}=="0028", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Hitex STR9-comStick
|
||
|
ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002c", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Hitex STM32-PerformanceStick
|
||
|
ATTRS{idVendor}=="0640", ATTRS{idProduct}=="002d", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Altera USB Blaster
|
||
|
ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Amontec JTAGkey-HiSpeed
|
||
|
ATTRS{idVendor}=="0fbb", ATTRS{idProduct}=="1000", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# SEGGER J-Link
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0101", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0102", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0103", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0104", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0105", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0107", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="0108", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1010", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1011", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1012", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1013", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1014", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1015", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1016", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1017", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
ATTRS{idVendor}=="1366", ATTRS{idProduct}=="1018", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Raisonance RLink
|
||
|
ATTRS{idVendor}=="138e", ATTRS{idProduct}=="9000", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Debug Board for Neo1973
|
||
|
ATTRS{idVendor}=="1457", ATTRS{idProduct}=="5118", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Olimex ARM-USB-OCD
|
||
|
ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0003", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Olimex ARM-USB-OCD-TINY
|
||
|
ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0004", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Olimex ARM-JTAG-EW
|
||
|
ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="001e", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Olimex ARM-USB-OCD-TINY-H
|
||
|
ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002a", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# Olimex ARM-USB-OCD-H
|
||
|
ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="002b", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# USBprog with OpenOCD firmware
|
||
|
ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c63", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
|
||
|
# TI/Luminary Stellaris In-Circuit Debug Interface (ICDI) Board
|
||
|
ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00fd", MODE="660", GROUP="plugdev", TAG+="uaccess"
|
||
|
'';
|
||
|
}
|