2018-06-27 15:01:04 +00:00
|
|
|
{ config, pkgs, lib, ... }:
|
2019-01-29 18:28:21 +00:00
|
|
|
let
|
2019-05-04 05:35:13 +00:00
|
|
|
mainUser = config.krebs.build.user.name;
|
2019-06-30 15:37:04 +00:00
|
|
|
unstable = import <nixpkgs-unstable> { config = { allowUnfree = true; }; };
|
2019-01-29 18:28:21 +00:00
|
|
|
in
|
2017-12-15 17:27:00 +00:00
|
|
|
{
|
2017-12-15 19:43:04 +00:00
|
|
|
imports = [
|
|
|
|
<stockholm/jeschli>
|
|
|
|
./hardware-configuration.nix
|
2019-05-18 16:22:50 +00:00
|
|
|
<home-manager/nixos>
|
2019-09-12 23:02:12 +00:00
|
|
|
<stockholm/jeschli/2configs/emacs.nix>
|
2017-12-15 19:43:04 +00:00
|
|
|
<stockholm/jeschli/2configs/urxvt.nix>
|
2019-05-04 05:35:13 +00:00
|
|
|
<stockholm/jeschli/2configs/steam.nix>
|
2018-06-19 07:33:26 +00:00
|
|
|
<stockholm/jeschli/2configs/virtualbox.nix>
|
2019-05-18 16:22:50 +00:00
|
|
|
];
|
2017-12-15 19:43:04 +00:00
|
|
|
krebs.build.host = config.krebs.hosts.brauerei;
|
2017-12-15 17:27:00 +00:00
|
|
|
# Use the GRUB 2 boot loader.
|
|
|
|
boot.loader.grub.enable = true;
|
|
|
|
boot.loader.grub.version = 2;
|
|
|
|
boot.loader.grub.efiSupport = true;
|
|
|
|
# Define on which hard drive you want to install Grub.
|
2017-12-15 19:43:04 +00:00
|
|
|
boot.loader.grub.device = "/dev/sda";
|
|
|
|
# or "nodev" for efi only
|
|
|
|
boot.initrd.luks.devices = [ {
|
|
|
|
name = "root";
|
|
|
|
device = "/dev/sda2";
|
|
|
|
preLVM = true;
|
|
|
|
allowDiscards = true;
|
|
|
|
} ];
|
2018-06-19 07:35:38 +00:00
|
|
|
networking.networkmanager.enable = true;
|
2017-12-15 19:43:04 +00:00
|
|
|
time.timeZone = "Europe/Amsterdam";
|
2018-07-31 17:19:32 +00:00
|
|
|
|
2017-12-15 19:43:04 +00:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
2018-07-31 17:19:32 +00:00
|
|
|
|
2018-01-23 18:40:10 +00:00
|
|
|
environment.shellAliases = {
|
2018-11-02 08:37:31 +00:00
|
|
|
# emacs aliases
|
|
|
|
ed = "emacsclient";
|
|
|
|
edc = "emacsclient --create-frame";
|
2018-10-26 10:03:18 +00:00
|
|
|
# nix aliases
|
|
|
|
ns = "nix-shell";
|
|
|
|
# krops
|
2018-09-25 17:45:44 +00:00
|
|
|
deploy = pkgs.writeDash "deploy" ''
|
|
|
|
set -eu
|
|
|
|
export SYSTEM="$1"
|
|
|
|
$(nix-build $HOME/stockholm/jeschli/krops.nix --no-out-link --argstr name "$SYSTEM" -A deploy)
|
|
|
|
'';
|
2019-01-29 18:31:09 +00:00
|
|
|
};
|
2018-07-31 17:19:55 +00:00
|
|
|
|
2017-12-15 17:27:00 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
2018-10-26 10:04:49 +00:00
|
|
|
# system helper
|
|
|
|
acpi
|
2017-12-15 19:43:04 +00:00
|
|
|
ag
|
|
|
|
copyq
|
2018-10-26 10:04:49 +00:00
|
|
|
curl
|
2017-12-15 19:43:04 +00:00
|
|
|
dmenu
|
2019-06-30 15:38:21 +00:00
|
|
|
aspell
|
|
|
|
ispell
|
2019-05-04 05:35:46 +00:00
|
|
|
rofi
|
2019-05-08 06:29:14 +00:00
|
|
|
xdotool
|
2017-12-15 17:27:00 +00:00
|
|
|
git
|
2019-04-25 09:47:24 +00:00
|
|
|
gnupg
|
2017-12-15 19:43:04 +00:00
|
|
|
i3lock
|
|
|
|
keepass
|
|
|
|
networkmanagerapplet
|
2018-10-26 10:04:49 +00:00
|
|
|
pavucontrol
|
2017-12-15 19:43:04 +00:00
|
|
|
rsync
|
|
|
|
terminator
|
|
|
|
tmux
|
|
|
|
wget
|
|
|
|
# editors
|
|
|
|
emacs
|
|
|
|
# internet
|
|
|
|
chromium
|
2018-10-26 10:04:49 +00:00
|
|
|
firefox
|
2017-12-15 19:43:04 +00:00
|
|
|
google-chrome
|
2018-10-26 10:04:49 +00:00
|
|
|
thunderbird
|
2017-12-15 19:43:04 +00:00
|
|
|
# programming languages
|
2018-06-19 07:36:56 +00:00
|
|
|
elixir
|
|
|
|
elmPackages.elm
|
2018-04-10 16:15:02 +00:00
|
|
|
exercism
|
2019-06-30 15:37:42 +00:00
|
|
|
gcc9
|
|
|
|
ccls
|
|
|
|
unstable.clang_8
|
2017-12-15 19:43:04 +00:00
|
|
|
ghc
|
2018-10-26 10:04:49 +00:00
|
|
|
go
|
2019-06-10 16:56:19 +00:00
|
|
|
python37
|
|
|
|
python37Packages.pip
|
|
|
|
pipenv
|
2017-12-15 19:43:04 +00:00
|
|
|
# dev tools
|
|
|
|
gnumake
|
2019-04-09 18:08:44 +00:00
|
|
|
jetbrains.clion
|
2018-10-26 10:04:49 +00:00
|
|
|
jetbrains.goland
|
2017-12-16 14:58:35 +00:00
|
|
|
jetbrains.pycharm-professional
|
|
|
|
jetbrains.webstorm
|
2019-04-09 18:08:44 +00:00
|
|
|
vscode
|
2017-12-15 19:43:04 +00:00
|
|
|
# document viewer
|
2018-06-19 07:47:43 +00:00
|
|
|
evince
|
2017-12-15 19:43:04 +00:00
|
|
|
zathura
|
2018-10-26 10:04:49 +00:00
|
|
|
# go tools
|
|
|
|
golint
|
|
|
|
gotools
|
|
|
|
# rust
|
|
|
|
cargo
|
2019-02-26 20:48:20 +00:00
|
|
|
rustracer
|
|
|
|
rustup
|
2018-10-26 10:04:49 +00:00
|
|
|
# orga tools
|
|
|
|
taskwarrior
|
2018-02-18 09:41:57 +00:00
|
|
|
# xorg
|
|
|
|
xorg.xbacklight
|
2019-01-29 18:31:42 +00:00
|
|
|
# tokei
|
2019-02-05 18:19:29 +00:00
|
|
|
tokei
|
2017-12-15 17:27:00 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
# Some programs need SUID wrappers, can be configured further or are
|
|
|
|
# started in user sessions.
|
|
|
|
# programs.bash.enableCompletion = true;
|
|
|
|
# programs.mtr.enable = true;
|
2017-12-15 19:43:04 +00:00
|
|
|
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
|
2017-12-15 17:27:00 +00:00
|
|
|
|
2019-09-12 23:02:12 +00:00
|
|
|
# home-manager.useUserPackages = true;
|
|
|
|
# home-manager.users.jeschli = {
|
|
|
|
# home.stateVersion = "19.03";
|
|
|
|
# };
|
2019-05-18 16:22:50 +00:00
|
|
|
# home-manager.enable = true;
|
|
|
|
|
2019-09-12 23:02:12 +00:00
|
|
|
# home-manager.users.jeschli.home.file = {
|
|
|
|
# ".emacs.d" = {
|
|
|
|
# source = pkgs.fetchFromGitHub {
|
|
|
|
# owner = "jeschli";
|
|
|
|
# repo = "emacs.d";
|
|
|
|
# rev = "8ed6c40";
|
|
|
|
# sha256 = "1q2y478srwp9f58l8cixnd2wj51909gp1z68k8pjlbjy2mrvibs0";
|
|
|
|
# };
|
|
|
|
# recursive = true;
|
|
|
|
# };
|
|
|
|
# };
|
2019-05-18 16:22:50 +00:00
|
|
|
|
2017-12-15 17:27:00 +00:00
|
|
|
# List services that you want to enable:
|
|
|
|
|
|
|
|
# Enable the OpenSSH daemon.
|
|
|
|
services.openssh.enable = true;
|
2019-09-12 23:02:12 +00:00
|
|
|
# services.emacs.enable = true;
|
2018-10-26 10:05:30 +00:00
|
|
|
|
|
|
|
virtualisation.docker.enable = true;
|
2017-12-15 17:27:00 +00:00
|
|
|
|
2018-06-27 15:01:37 +00:00
|
|
|
services.xserver = {
|
|
|
|
enable = true;
|
2017-12-15 17:27:00 +00:00
|
|
|
|
2019-01-29 18:28:21 +00:00
|
|
|
desktopManager = {
|
|
|
|
xfce.enable = true;
|
|
|
|
gnome3.enable = true;
|
|
|
|
};
|
2018-06-27 15:01:37 +00:00
|
|
|
|
|
|
|
};
|
2017-12-15 17:27:00 +00:00
|
|
|
|
2019-03-21 19:08:41 +00:00
|
|
|
services.xserver.windowManager.i3.enable = true;
|
|
|
|
|
2018-04-17 18:20:09 +00:00
|
|
|
users.extraUsers.jeschli = { # TODO: define as krebs.users
|
2017-12-15 17:27:00 +00:00
|
|
|
isNormalUser = true;
|
2018-07-31 17:21:30 +00:00
|
|
|
extraGroups = ["docker" "vboxusers" "audio"];
|
2017-12-15 17:27:00 +00:00
|
|
|
uid = 1000;
|
|
|
|
};
|
2019-04-27 15:05:31 +00:00
|
|
|
users.extraUsers.blafoo = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = ["audio"];
|
|
|
|
uid = 1002;
|
|
|
|
};
|
2017-12-16 15:55:53 +00:00
|
|
|
users.extraUsers.jamie = {
|
|
|
|
isNormalUser = true;
|
2018-04-17 18:20:09 +00:00
|
|
|
uid = 1001; # TODO genid
|
2017-12-16 15:55:53 +00:00
|
|
|
};
|
2018-09-25 17:48:29 +00:00
|
|
|
users.users.dev = {
|
|
|
|
isNormalUser = true;
|
|
|
|
openssh.authorizedKeys.keys = [
|
|
|
|
config.krebs.users.lass.pubkey
|
2018-10-05 12:04:27 +00:00
|
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDB0d0JA20Vqn7I4lCte6Ne2EOmLZyMJyS9yIKJYXNLjbLwkQ4AYoQKantPBkTxR75M09E7d3j5heuWnCjWH45TrfQfe1EOSSC3ppCI6C6aIVlaNs+KhAYZS0m2Y8WkKn+TT5JLEa8yybYVN/RlZPOilpj/1QgjU6CQK+eJ1k/kK+QFXcwN82GDVh5kbTVcKUNp2tiyxFA+z9LY0xFDg/JHif2ROpjJVLQBJ+YPuOXZN5LDnVcuyLWKThjxy5srQ8iDjoxBg7dwLHjby5Mv41K4W61Gq6xM53gDEgfXk4cQhJnmx7jA/pUnsn2ZQDeww3hcc7vRf8soogXXz2KC9maiq0M/svaATsa9Ul4hrKnqPZP9Q8ScSEAUX+VI+x54iWrnW0p/yqBiRAzwsczdPzaQroUFTBxrq8R/n5TFdSHRMX7fYNOeVMjhfNca/gtfw9dYBVquCvuqUuFiRc0I7yK44rrMjjVQRcAbw6F8O7+04qWCmaJ8MPlmApwu2c05VMv9hiJo5p6PnzterRSLCqF6rIdhSnuOwrUIt1s/V+EEZXHCwSaNLaQJnYL0H9YjaIuGz4c8kVzxw4c0B6nl+hqW5y5/B2cuHiumnlRIDKOIzlv8ufhh21iN7QpIsPizahPezGoT1XqvzeXfH4qryo8O4yTN/PWoA+f7o9POU7L6hQ== lhebendanz@nixos"
|
2018-09-25 17:48:29 +00:00
|
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEZgHR1ZPDBMUjGWar/QmI2GiUkZM8pAXRyBDh8j3hGlxlS+0lsBV6bTAI5F13iyzTC4pCuEuDO2OlFB0scwjcOATci8phd8jTjOIDodqDaeQZXbshyuUBfyiAV6q0Sc+cUDV3D6GhzigH3t8EiQmvXmUGm916yFotT12o0dm83SCOh1nAf9ZveC1Hz/eEUTvgWvIb58OdUR5F/S5OVBnIIJZ8tcp0BP9lyjjJCcANWkYJlwaVcNNb0UarCRhvRtptFj+e/EPqQxSCaS2QcxW4zBsQ6C81TFf7WrdH+pwtFg0owlWsxv547sRLLiPf2h2YuQgSoAaW24N0SHhUqvOXd+JyaYw7MAF8Qh3jHm2iJQRgXNuIN0msFi1alwAevilL2mnfAt2biQ9sS9g+CVvQCwX3mg09E4Y3UmFLzvsJafD9meKVrjnDCcXySeAfts59eFmwKtMQ0qrEWaclzUiA6Ay3uD1zma8x1XELGTf8nxnXCGl8s2i2APn7y1Tcwep69DlENWSaReF5zBLIkCtIUDd+8xBFTF3yu5CpyRrRMKGa0QX/MtsQl4SGJWadOTwpM8joIbrIVfKkTNB2McxAjvo0iaRoBDm409gi2Ycy+NSoUV/KAIUG7OysAQZ62hr+E/Kw1ocJCIVI+9vzKx/EnEIHkCSwhYKl5393W7CShVJjJUcKcZddqX2smSShXq8rXPzhIHk1dAVn5Ff/vGZT9z9R0QN3z6Oa9QN5t5TjTdUDToqHTudqOpDxPl2c2yXK9wV+aoHFoML9AmbzTT1U1mKU7GXSoFACiKNzhDzkovyJGpWRyvisX5t75IfuVqvGGI8n3u8OhPMdyyOHRylVaciDzBMZ00xnIHB+dJG9IeYaMm9bW1Li4Jo0CWnogo2+olfHPMLijBuu+bsa5Kp6kFkccJYR/xqcSq0lVXkpGm692JI4dnMGjchipXEGh1gXof9jXHemMMBwjpLFGty+D0r5KdA33m+mIqc9hi0ShquA9nA7E1IxDlgE0gQg+P5ZOeeIN7q54AQmT8iCCCRyne2Kw57XxaGgZoLfj7VjjaeRlzBUglmtyq8B7/c0J3y41vt9Hxhj4sKD+vufZu+M9E6E936KsJlIi+3U0PtopM/b8L4jcH1JYpPljapsys8wkJZ1ymHf6Kj/0FHyi1V+GvquiVrlFN+aHECIzNlCiSMO4MqfPUO1A+s9zkG2ZgPNNv+LoZqnokjbmKM4kdxexMxaL/Eo9Nd/bzdYiFYXlllEL7Uox+yV0N3loQ2juh4zn+ctCnwHi+V9X4l4rB8amW96WrXiJ/WqEK2UO8St8dcQWhCsUUm2OawSrbYYZw5HhJwz/Rhz2UsdSc56s5OUiQLJqpILYvCnqSLlF4iZdRSdDQNpKn+le3CeGUl5UUuvK2BpKGrbPKx0i/2ZSEMxNA5GnDMx/NyiNyDBcoPu/XOlNi8VWsEbCtoTQRamvqHjOmNcPrxCxds+TaF8c0wMR720yj5sWq8= jeschli@nixos"
|
2018-10-26 10:06:31 +00:00
|
|
|
"ssh-rsa AAAAB4NzaC1yc2EAAAADAQABAAACAQC1x9+OtNfwv6LxblnLHeBElxoxLfaYUyvqMrBgnrlkaPjylPv711bvPslnt+YgdPsZQLCoQ2t5f0x0j7ZOMYE9eyRrnr67ITO+Od05u3eCypWOZulekkDL0ZDeYdvoZKOWnbKWnQVRfYuLOEL/g5/9E7MLtIdID8e98b/qHzs/+wmuuDR3zHCNic0BKixgET/EgFvLWezWxJ6D/TTv/5sDAfrC+RUN8ad14sxjKIkS3nkAlm8bhrCxQKaHLUcCJWiweW0gPWYSlp64VHS5lchvqCJlPYQdx0XbwolvlLYru0w74ljLbi3eL35GFFyHSeEjQ73EtVwo53uVKTy7SAORU7JNg6xL9H3ChOLOknN9oHs1K7t/maMsATle0HAFcTuaOhELUmHM8dCJh3nPVWIkzHQ4o3fyaogrpt7/V5j6R1/Ozn7P9n4OdqrjiaWqHlz/XHeYNNWte+a0EW+NubC83yS0Cu3uhZ36C3RET2vNM25CyYOBn4ccClAozayQIb6Cif0tCafMRPgkSlogQd8+SqNZpTnmtllIT3VnT5smgrufy6HETDkrHjApDrsqLtMCFY83RFwt4QLv/L93O7IsGifzmEfD9qD7YBSMNs8ihBIUXPk9doHXvYS506YroxWOxe/C0rzzbaogxQT6JMd1ozfXitRD9v7iBIFAT4Kzjw== christopher.kilian@dcso.de"
|
2018-09-25 17:48:29 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2017-12-15 17:27:00 +00:00
|
|
|
|
|
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEZgHR1ZPDBMUjGWar/QmI2GiUkZM8pAXRyBDh8j3hGlxlS+0lsBV6bTAI5F13iyzTC4pCuEuDO2OlFB0scwjcOATci8phd8jTjOIDodqDaeQZXbshyuUBfyiAV6q0Sc+cUDV3D6GhzigH3t8EiQmvXmUGm916yFotT12o0dm83SCOh1nAf9ZveC1Hz/eEUTvgWvIb58OdUR5F/S5OVBnIIJZ8tcp0BP9lyjjJCcANWkYJlwaVcNNb0UarCRhvRtptFj+e/EPqQxSCaS2QcxW4zBsQ6C81TFf7WrdH+pwtFg0owlWsxv547sRLLiPf2h2YuQgSoAaW24N0SHhUqvOXd+JyaYw7MAF8Qh3jHm2iJQRgXNuIN0msFi1alwAevilL2mnfAt2biQ9sS9g+CVvQCwX3mg09E4Y3UmFLzvsJafD9meKVrjnDCcXySeAfts59eFmwKtMQ0qrEWaclzUiA6Ay3uD1zma8x1XELGTf8nxnXCGl8s2i2APn7y1Tcwep69DlENWSaReF5zBLIkCtIUDd+8xBFTF3yu5CpyRrRMKGa0QX/MtsQl4SGJWadOTwpM8joIbrIVfKkTNB2McxAjvo0iaRoBDm409gi2Ycy+NSoUV/KAIUG7OysAQZ62hr+E/Kw1ocJCIVI+9vzKx/EnEIHkCSwhYKl5393W7CShVJjJUcKcZddqX2smSShXq8rXPzhIHk1dAVn5Ff/vGZT9z9R0QN3z6Oa9QN5t5TjTdUDToqHTudqOpDxPl2c2yXK9wV+aoHFoML9AmbzTT1U1mKU7GXSoFACiKNzhDzkovyJGpWRyvisX5t75IfuVqvGGI8n3u8OhPMdyyOHRylVaciDzBMZ00xnIHB+dJG9IeYaMm9bW1Li4Jo0CWnogo2+olfHPMLijBuu+bsa5Kp6kFkccJYR/xqcSq0lVXkpGm692JI4dnMGjchipXEGh1gXof9jXHemMMBwjpLFGty+D0r5KdA33m+mIqc9hi0ShquA9nA7E1IxDlgE0gQg+P5ZOeeIN7q54AQmT8iCCCRyne2Kw57XxaGgZoLfj7VjjaeRlzBUglmtyq8B7/c0J3y41vt9Hxhj4sKD+vufZu+M9E6E936KsJlIi+3U0PtopM/b8L4jcH1JYpPljapsys8wkJZ1ymHf6Kj/0FHyi1V+GvquiVrlFN+aHECIzNlCiSMO4MqfPUO1A+s9zkG2ZgPNNv+LoZqnokjbmKM4kdxexMxaL/Eo9Nd/bzdYiFYXlllEL7Uox+yV0N3loQ2juh4zn+ctCnwHi+V9X4l4rB8amW96WrXiJ/WqEK2UO8St8dcQWhCsUUm2OawSrbYYZw5HhJwz/Rhz2UsdSc56s5OUiQLJqpILYvCnqSLlF4iZdRSdDQNpKn+le3CeGUl5UUuvK2BpKGrbPKx0i/2ZSEMxNA5GnDMx/NyiNyDBcoPu/XOlNi8VWsEbCtoTQRamvqHjOmNcPrxCxds+TaF8c0wMR720yj5sWq8= jeschli@nixos"
|
|
|
|
];
|
|
|
|
|
|
|
|
# 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.
|
2017-12-15 19:43:04 +00:00
|
|
|
system.stateVersion = "17.09"; # Did you read the comment?
|
2017-12-15 17:27:00 +00:00
|
|
|
|
2018-04-17 16:42:47 +00:00
|
|
|
hardware.trackpoint = {
|
|
|
|
enable = true;
|
|
|
|
sensitivity = 220;
|
|
|
|
speed = 0;
|
|
|
|
emulateWheel = true;
|
|
|
|
};
|
|
|
|
|
2017-12-15 17:27:00 +00:00
|
|
|
}
|