stockholm/jeschli/1systems/brauerei/config.nix

211 lines
8.9 KiB
Nix
Raw Normal View History

2018-06-27 15:01:04 +00:00
{ config, pkgs, lib, ... }:
let
xmonad-jeschli = pkgs.callPackage <stockholm/jeschli/5pkgs/simple/xmonad-jeschli> { inherit config; };
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; }; };
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>
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;
} ];
networking.networkmanager.enable = true;
2017-12-15 19:43:04 +00:00
time.timeZone = "Europe/Amsterdam";
2017-12-15 19:43:04 +00:00
nixpkgs.config.allowUnfree = true;
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";
# 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
aspell
ispell
2019-05-04 05:35:46 +00:00
rofi
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
exercism
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
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
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-05-18 16:22:50 +00:00
home-manager.useUserPackages = true;
home-manager.users.jeschli = {
home.stateVersion = "19.03";
};
# home-manager.enable = true;
home-manager.users.jeschli.home.file = {
".emacs.d" = {
source = pkgs.fetchFromGitHub {
owner = "jeschli";
repo = "emacs.d";
rev = "8ed6c40";
sha256 = "1q2y478srwp9f58l8cixnd2wj51909gp1z68k8pjlbjy2mrvibs0";
};
recursive = true;
};
};
2017-12-15 17:27:00 +00:00
# List services that you want to enable:
# Enable the OpenSSH daemon.
services.openssh.enable = true;
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
desktopManager = {
xfce.enable = true;
gnome3.enable = true;
};
2018-06-27 15:01:37 +00:00
windowManager = {
session = [{
name = "xmonad";
start = ''
${xmonad-jeschli}/bin/xmonad &
waitPID=$!
'';
}
];
2019-02-05 18:19:09 +00:00
};
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;
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
};
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"
"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"
"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"
];
};
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
hardware.trackpoint = {
enable = true;
sensitivity = 220;
speed = 0;
emulateWheel = true;
};
2017-12-15 17:27:00 +00:00
}