Merge remote-tracking branch 'prism/staging/test'
This commit is contained in:
commit
6ed214fc77
189
jeschli/1systems/bln/config.nix
Normal file
189
jeschli/1systems/bln/config.nix
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
# 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, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
<stockholm/jeschli>
|
||||||
|
./hardware-configuration.nix
|
||||||
|
# ./dcso-vpn.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Use the GRUB 2 boot loader.
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.version = 2;
|
||||||
|
# boot.loader.grub.efiSupport = true;
|
||||||
|
# boot.loader.grub.efiInstallAsRemovable = true;
|
||||||
|
# boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
# Define on which hard drive you want to install Grub.
|
||||||
|
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
|
||||||
|
boot.loader.grub.extraEntries = ''
|
||||||
|
menuentry "Debian GNU/Linux, kernel 4.9.0-4-amd64" {
|
||||||
|
search --set=drive1 --fs-uuid f169fd32-bf96-4da0-bc34-294249ffa606
|
||||||
|
linux ($drive1)/vmlinuz-4.9.0-4-amd64 root=/dev/mapper/pool-debian ro
|
||||||
|
initrd ($drive1)/initrd.img-4.9.0-4-amd64
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
boot.initrd.luks.devices = [
|
||||||
|
{
|
||||||
|
name = "root";
|
||||||
|
device = "/dev/disk/by-uuid/cba5d550-c3c8-423e-a913-14b5210bdd32";
|
||||||
|
preLVM = true;
|
||||||
|
allowDiscards = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "BLN02NB0154"; # Define your hostname.
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
#networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
# i18n = {
|
||||||
|
# consoleFont = "Lat2-Terminus16";
|
||||||
|
# consoleKeyMap = "us";
|
||||||
|
# defaultLocale = "en_US.UTF-8";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search by name, run:
|
||||||
|
# $ nix-env -qaP | grep wget
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
environment.shellAliases = { n = "nix-shell"; };
|
||||||
|
environment.variables = { GOROOT= [ "${pkgs.go.out}/share/go" ]; };
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# system helper
|
||||||
|
ag
|
||||||
|
copyq
|
||||||
|
dmenu
|
||||||
|
git
|
||||||
|
i3lock
|
||||||
|
keepass
|
||||||
|
networkmanagerapplet
|
||||||
|
rsync
|
||||||
|
terminator
|
||||||
|
tmux
|
||||||
|
wget
|
||||||
|
rxvt_unicode
|
||||||
|
# editors
|
||||||
|
emacs
|
||||||
|
# internet
|
||||||
|
thunderbird
|
||||||
|
hipchat
|
||||||
|
chromium
|
||||||
|
google-chrome
|
||||||
|
# programming languages
|
||||||
|
go
|
||||||
|
gcc
|
||||||
|
ghc
|
||||||
|
python35
|
||||||
|
python35Packages.pip
|
||||||
|
# go tools
|
||||||
|
golint
|
||||||
|
gotools
|
||||||
|
# dev tools
|
||||||
|
gnumake
|
||||||
|
jetbrains.pycharm-professional
|
||||||
|
jetbrains.webstorm
|
||||||
|
jetbrains.goland
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
pandoc
|
||||||
|
redis
|
||||||
|
# document viewer
|
||||||
|
zathura
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
programs.bash.enableCompletion = true;
|
||||||
|
programs.vim.defaultEditor = 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;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.printing.drivers = [ pkgs.postscript-lexmark ];
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
# services.xserver.xrandrHeads = [
|
||||||
|
# { output = "eDP1"; }
|
||||||
|
# { output = "DP-2-2-8"; primary = true; }
|
||||||
|
# { output = "DP-2-1-8"; monitorConfig = ''Option "Rotate" "left"''; }
|
||||||
|
# ];
|
||||||
|
# services.xserver.layout = "us";
|
||||||
|
# services.xserver.xkbOptions = "eurosign:e";
|
||||||
|
|
||||||
|
# Enable touchpad support.
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Desktop Environment.
|
||||||
|
# services.xserver.displayManager.lightdm.enable = true;
|
||||||
|
services.xserver.windowManager.xmonad.enable = true;
|
||||||
|
services.xserver.windowManager.xmonad.enableContribAndExtras = true;
|
||||||
|
# services.xserver.desktopManager.gnome3.enable = true;
|
||||||
|
# services.xserver.displayManager.gdm.enable = true;
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
#services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
# services.xserver.displayManager.sessionCommands = ''
|
||||||
|
# (sleep 1 && ${pkgs.xorg.xrandr}/bin/xrandr --output VIRTUAL1 --off --output eDP1 --mode 1920x1080 --pos 5120x688 --rotate normal --output DP1 --off --output DP2-1 --mode 2560x1440 --pos 2560x328 --rotate normal --output DP2-2 --primary --mode 2560x1440 --pos 0x328 --rotate normal --output DP2-3 --off --output HDMI2 --off --output HDMI1 --off --output DP2 --off
|
||||||
|
#'';
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.extraUsers.markus = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["docker"];
|
||||||
|
uid = 1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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 = "17.09"; # Did you read the comment?
|
||||||
|
|
||||||
|
# Gogland Debugger workaround
|
||||||
|
# nixpkgs.config.packageOverrides = super: {
|
||||||
|
# idea.gogland = lib.overrideDerivation super.idea.gogland (attrs: {
|
||||||
|
# postFixup = ''
|
||||||
|
# interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
||||||
|
# patchelf --set-interpreter $interp $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
|
||||||
|
# chmod +x $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
|
||||||
|
# '';
|
||||||
|
# });
|
||||||
|
# };
|
||||||
|
|
||||||
|
# virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
# DCSO Certificates
|
||||||
|
security.pki.certificateFiles = [
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCAROOTC1G1.pem"; sha256 = "14vz9c0fk6li0a26vx0s5ha6y3yivnshx9pjlh9vmnpkbph5a7rh"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCAROOTC2G1.pem"; sha256 = "0r1dd48a850cv7whk4g2maik550rd0vsrsl73r6x0ivzz7ap1xz5"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCAROOTC3G1.pem"; sha256 = "0b5cdchdkvllnr0kz35d8jrmrf9cjw0kd98mmvzr0x6nkc8hwpdy"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCACOMPC2G1.pem"; sha256 = "0rn57zv1ry9vj4p2248mxmafmqqmdhbrfx1plszrxsphshbk2hfz"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCACOMPC3G1.pem"; sha256 = "0w88qaqhwxzvdkx40kzj2gka1yi85ipppjdkxah4mscwfhlryrnk"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCAIDENC2G1.pem"; sha256 = "1z2qkyhgjvri13bvi06ynkb7mjmpcznmc9yw8chx1lnwc3cxa7kf"; })
|
||||||
|
(pkgs.fetchurl { url = "http://pki.dcso.de/ca/PEM/DCSOCAIDENC3G1.pem"; sha256 = "0smdjjvz95n652cb45yhzdb2lr83zg52najgbzf6lm3w71f8mv7f"; })
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
krebs.build.host = config.krebs.hosts.bln;
|
||||||
|
}
|
34
jeschli/1systems/bln/hardware-configuration.nix
Normal file
34
jeschli/1systems/bln/hardware-configuration.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/02144ea4-947d-440e-bbf9-99cab0dccf05";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/f169fd32-bf96-4da0-bc34-294249ffa606";
|
||||||
|
fsType = "ext2";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/68ef2163-7b3d-4dbb-add9-d3543ad7c738";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
nix.maxJobs = lib.mkDefault 4;
|
||||||
|
powerManagement.cpuFreqGovernor = "powersave";
|
||||||
|
}
|
4
jeschli/1systems/bln/source.nix
Normal file
4
jeschli/1systems/bln/source.nix
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import <stockholm/jeschli/source.nix> {
|
||||||
|
name = "bln";
|
||||||
|
secure = true;
|
||||||
|
}
|
132
jeschli/1systems/brauerei/config.nix
Normal file
132
jeschli/1systems/brauerei/config.nix
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
# 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 = [
|
||||||
|
<stockholm/jeschli>
|
||||||
|
./hardware-configuration.nix
|
||||||
|
<stockholm/jeschli/2configs/urxvt.nix>
|
||||||
|
];
|
||||||
|
|
||||||
|
krebs.build.host = config.krebs.hosts.brauerei;
|
||||||
|
# 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.
|
||||||
|
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.hostName = "nixos";
|
||||||
|
# Define your hostname.
|
||||||
|
networking.wireless.enable = true;
|
||||||
|
# Enables wireless support via wpa_supplicant.
|
||||||
|
# Select internationalisation properties.
|
||||||
|
# i18n = {
|
||||||
|
# consoleFont = "Lat2-Terminus16";
|
||||||
|
# consoleKeyMap = "us";
|
||||||
|
# defaultLocale = "en_US.UTF-8";
|
||||||
|
# };
|
||||||
|
# Set your time zone. #
|
||||||
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
# List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# system helper
|
||||||
|
ag
|
||||||
|
curl
|
||||||
|
copyq
|
||||||
|
dmenu
|
||||||
|
git
|
||||||
|
i3lock
|
||||||
|
keepass
|
||||||
|
networkmanagerapplet
|
||||||
|
rsync
|
||||||
|
terminator
|
||||||
|
tmux
|
||||||
|
wget
|
||||||
|
# rxvt_unicode
|
||||||
|
# editors
|
||||||
|
emacs
|
||||||
|
# internet
|
||||||
|
thunderbird
|
||||||
|
chromium
|
||||||
|
google-chrome
|
||||||
|
# programming languages
|
||||||
|
go
|
||||||
|
gcc
|
||||||
|
ghc
|
||||||
|
python35
|
||||||
|
python35Packages.pip
|
||||||
|
# go tools
|
||||||
|
golint
|
||||||
|
gotools
|
||||||
|
# dev tools
|
||||||
|
gnumake
|
||||||
|
jetbrains.pycharm-professional
|
||||||
|
jetbrains.webstorm
|
||||||
|
jetbrains.goland
|
||||||
|
# document viewer
|
||||||
|
zathura
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
# services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
# services.xserver.layout = "us";
|
||||||
|
# services.xserver.xkbOptions = "eurosign:e";
|
||||||
|
|
||||||
|
# Enable touchpad support.
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Desktop Environment.
|
||||||
|
# services.xserver.displayManager.sddm.enable = true;
|
||||||
|
# services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
|
services.xserver.windowManager.xmonad.enable = true;
|
||||||
|
services.xserver.windowManager.xmonad.enableContribAndExtras = true;
|
||||||
|
#
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.extraUsers.jeschli = {
|
||||||
|
isNormalUser = true;
|
||||||
|
uid = 1000;
|
||||||
|
};
|
||||||
|
users.extraUsers.jamie = {
|
||||||
|
isNormalUser = true;
|
||||||
|
uid = 1001;
|
||||||
|
};
|
||||||
|
|
||||||
|
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.
|
||||||
|
system.stateVersion = "17.09"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
33
jeschli/1systems/brauerei/hardware-configuration.nix
Normal file
33
jeschli/1systems/brauerei/hardware-configuration.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e264fc21-45bb-4224-93fc-b0e19c2c3478";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/bd0846ce-7d39-4329-bcb4-7c76becd6ab1";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/42BF-0795";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
nix.maxJobs = lib.mkDefault 4;
|
||||||
|
}
|
4
jeschli/1systems/brauerei/source.nix
Normal file
4
jeschli/1systems/brauerei/source.nix
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import <stockholm/jeschli/source.nix> {
|
||||||
|
name = "brauerei";
|
||||||
|
secure = true;
|
||||||
|
}
|
@ -1,102 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
|
|
||||||
# let
|
|
||||||
# customPlugins.ultisnips = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
# name = "ultisnips";
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
|
||||||
# owner = "SirVer";
|
|
||||||
# repo = "ultisnips";
|
|
||||||
# rev = "3.1";
|
|
||||||
# sha256 = "0p9d91h9pm0nx0d77lqsgv6158q052cyj4nm1rd6zvbay9bkkf8b";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
let
|
|
||||||
customPlugins.vim-javascript = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "vim-javascript";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "pangloss";
|
|
||||||
repo = "vim-javascript";
|
|
||||||
rev = "1.2.5.1";
|
|
||||||
sha256 = "08l7ricd3j5h2bj9i566byh39v9n5wj5mj75f2c8a5dsc732b2k7";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
customPlugins.vim-jsx = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "vim-jsx";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "mxw";
|
|
||||||
repo = "vim-jsx";
|
|
||||||
rev = "5b968dfa512c57c38ad7fe420f3e8ab75a73949a";
|
|
||||||
sha256 = "1z3yhhbmbzfw68qjzyvpbmlyv2a1p814sy5q2knn04kcl30vx94a";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
# {
|
|
||||||
environment.systemPackages = [
|
|
||||||
(pkgs.vim_configurable.customize {
|
|
||||||
name = "vim";
|
|
||||||
|
|
||||||
vimrcConfig.customRC = ''
|
|
||||||
:imap jk <Esc>
|
|
||||||
:vmap v v
|
|
||||||
:map gr :GoRun<Enter>
|
|
||||||
:nnoremap <S-TAB> :bnext<CR>
|
|
||||||
:nnoremap <C-TAB> <c-w><c-w>
|
|
||||||
set autowrite
|
|
||||||
set number
|
|
||||||
set ruler
|
|
||||||
|
|
||||||
noremap x "_x
|
|
||||||
set clipboard=unnamedplus
|
|
||||||
|
|
||||||
let g:jsx_ext_required = 0
|
|
||||||
|
|
||||||
let g:go_list_type = "quickfix"
|
|
||||||
let g:go_test_timeout = '10s'
|
|
||||||
let g:go_fmt_command = "goimports"
|
|
||||||
let g:go_snippet_case_type = "camelcase"
|
|
||||||
let g:go_highlight_types = 1
|
|
||||||
let g:go_highlight_fields = 1
|
|
||||||
let g:go_highlight_functions = 1
|
|
||||||
let g:go_highlight_methods = 1
|
|
||||||
let g:go_highlight_extra_types = 1
|
|
||||||
autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4
|
|
||||||
let g:rehash256 = 1
|
|
||||||
let g:molokai_original = 1
|
|
||||||
colorscheme molokai
|
|
||||||
let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck']
|
|
||||||
let g:go_metalinter_autosave = 1
|
|
||||||
" let g:go_metalinter_autosave_enabled = ['vet', 'golint']
|
|
||||||
" let g:go_def_mode = 'godef'
|
|
||||||
" let g:go_decls_includes = "func,type"
|
|
||||||
|
|
||||||
|
|
||||||
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
|
|
||||||
let g:UltiSnipsExpandTrigger="<c-e>"
|
|
||||||
let g:UltiSnipsJumpForwardTrigger="<c-t>"
|
|
||||||
let g:UltiSnipsJumpBackwardTrigger="<c-q>"
|
|
||||||
|
|
||||||
" If you want :UltiSnipsEdit to split your window.
|
|
||||||
let g:UltiSnipsEditSplit="vertical"
|
|
||||||
|
|
||||||
if has('persistent_undo') "check if your vim version supports it
|
|
||||||
set undofile "turn on the feature
|
|
||||||
set undodir=$HOME/.vim/undo "directory where the undo files will be stored
|
|
||||||
endif
|
|
||||||
'';
|
|
||||||
|
|
||||||
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins;
|
|
||||||
vimrcConfig.vam.pluginDictionaries = [
|
|
||||||
{ names = [ "undotree" "molokai" ]; } # wanted: fatih/molokai
|
|
||||||
# vim-nix handles indentation better but does not perform sanity
|
|
||||||
{ names = [ "vim-addon-nix" ]; ft_regex = "^nix\$"; }
|
|
||||||
{ names = [ "vim-go" ]; ft_regex = "^go\$"; } # wanted: nsf/gocode
|
|
||||||
{ names = [ "vim-javascript" ]; ft_regex = "^js\$"; }
|
|
||||||
{ names = [ "vim-jsx" ]; ft_regex = "^js\$"; }
|
|
||||||
{ names = [ "UltiSnips" ]; ft_regex = "^go\$"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
0
jeschli/2configs/tests/dummy-secrets/empty
Normal file
0
jeschli/2configs/tests/dummy-secrets/empty
Normal file
34
jeschli/2configs/urxvt.nix
Normal file
34
jeschli/2configs/urxvt.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
with import <stockholm/lib>;
|
||||||
|
|
||||||
|
{
|
||||||
|
services.urxvtd.enable = true;
|
||||||
|
krebs.xresources.enable = true;
|
||||||
|
krebs.xresources.resources.urxvt = ''
|
||||||
|
*foreground: rgb:a8/a8/a8
|
||||||
|
*background: rgb:00/00/00
|
||||||
|
*faceName: DejaVu Sans Mono
|
||||||
|
*faceSize: 12
|
||||||
|
*color0: rgb:00/00/00
|
||||||
|
*color1: rgb:a8/00/00
|
||||||
|
*color2: rgb:00/a8/00
|
||||||
|
*color3: rgb:a8/54/00
|
||||||
|
*color4: rgb:00/00/a8
|
||||||
|
*color5: rgb:a8/00/a8
|
||||||
|
*color6: rgb:00/a8/a8
|
||||||
|
*color7: rgb:a8/a8/a8
|
||||||
|
*color8: rgb:54/54/54
|
||||||
|
*color9: rgb:fc/54/54
|
||||||
|
*color10: rgb:54/fc/54
|
||||||
|
*color11: rgb:fc/fc/54
|
||||||
|
*color12: rgb:54/54/fc
|
||||||
|
*color13: rgb:fc/54/fc
|
||||||
|
*color14: rgb:54/fc/fc
|
||||||
|
*color15: rgb:fc/fc/fc
|
||||||
|
|
||||||
|
URxvt*scrollBar: false
|
||||||
|
URxvt*urgentOnBell: true
|
||||||
|
URxvt*font: xft:DejaVu Sans Mono:pixelsize=20
|
||||||
|
URXvt*faceSize: 12
|
||||||
|
'';
|
||||||
|
}
|
@ -1,373 +1,92 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
with import <stockholm/lib>;
|
|
||||||
let
|
let
|
||||||
out = {
|
customPlugins.vim-javascript = pkgs.vimUtils.buildVimPlugin {
|
||||||
environment.systemPackages = [
|
name = "vim-javascript";
|
||||||
(hiPrio vim)
|
src = pkgs.fetchFromGitHub {
|
||||||
pkgs.python35Packages.flake8
|
owner = "pangloss";
|
||||||
];
|
repo = "vim-javascript";
|
||||||
|
rev = "1.2.5.1";
|
||||||
environment.etc.vimrc.source = vimrc;
|
sha256 = "08l7ricd3j5h2bj9i566byh39v9n5wj5mj75f2c8a5dsc732b2k7";
|
||||||
|
};
|
||||||
environment.variables.EDITOR = mkForce "vim";
|
|
||||||
environment.variables.VIMINIT = ":so /etc/vimrc";
|
|
||||||
};
|
};
|
||||||
|
customPlugins.vim-jsx = pkgs.vimUtils.buildVimPlugin {
|
||||||
vimrc = pkgs.writeText "vimrc" ''
|
name = "vim-jsx";
|
||||||
set nocompatible
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "mxw";
|
||||||
set autoindent
|
repo = "vim-jsx";
|
||||||
set backspace=indent,eol,start
|
rev = "5b968dfa512c57c38ad7fe420f3e8ab75a73949a";
|
||||||
set backup
|
sha256 = "1z3yhhbmbzfw68qjzyvpbmlyv2a1p814sy5q2knn04kcl30vx94a";
|
||||||
set backupdir=${dirs.backupdir}/
|
};
|
||||||
set directory=${dirs.swapdir}//
|
};
|
||||||
set hlsearch
|
in {
|
||||||
set incsearch
|
# {
|
||||||
set mouse=a
|
environment.systemPackages = [
|
||||||
set ruler
|
(pkgs.vim_configurable.customize {
|
||||||
set pastetoggle=<INS>
|
|
||||||
set runtimepath=${extra-runtimepath},$VIMRUNTIME
|
|
||||||
set shortmess+=I
|
|
||||||
set showcmd
|
|
||||||
set showmatch
|
|
||||||
set ttimeoutlen=0
|
|
||||||
set undodir=${dirs.undodir}
|
|
||||||
set undofile
|
|
||||||
set undolevels=1000000
|
|
||||||
set undoreload=1000000
|
|
||||||
set viminfo='20,<1000,s100,h,n${files.viminfo}
|
|
||||||
set visualbell
|
|
||||||
set wildignore+=*.o,*.class,*.hi,*.dyn_hi,*.dyn_o
|
|
||||||
set wildmenu
|
|
||||||
set wildmode=longest,full
|
|
||||||
|
|
||||||
set title
|
|
||||||
set titleold=
|
|
||||||
set titlestring=(vim)\ %t%(\ %M%)%(\ (%{expand(\"%:p:h\")})%)%(\ %a%)\ -\ %{v:servername}
|
|
||||||
|
|
||||||
set et ts=2 sts=2 sw=2
|
|
||||||
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
set t_Co=256
|
|
||||||
colorscheme hack
|
|
||||||
syntax on
|
|
||||||
|
|
||||||
au Syntax * syn match Garbage containedin=ALL /\s\+$/
|
|
||||||
\ | syn match TabStop containedin=ALL /\t\+/
|
|
||||||
\ | syn keyword Todo containedin=ALL TODO
|
|
||||||
|
|
||||||
au BufRead,BufNewFile *.hs so ${hs.vim}
|
|
||||||
|
|
||||||
au BufRead,BufNewFile *.nix so ${nix.vim}
|
|
||||||
|
|
||||||
au BufRead,BufNewFile /dev/shm/* set nobackup nowritebackup noswapfile
|
|
||||||
|
|
||||||
"Syntastic config
|
|
||||||
let g:syntastic_python_checkers=['flake8']
|
|
||||||
let g:syntastic_python_flake8_post_args='--ignore=E501'
|
|
||||||
|
|
||||||
nmap <esc>q :buffer
|
|
||||||
nmap <M-q> :buffer
|
|
||||||
|
|
||||||
cnoremap <C-A> <Home>
|
|
||||||
|
|
||||||
noremap <C-c> :q<cr>
|
|
||||||
vnoremap < <gv
|
|
||||||
vnoremap > >gv
|
|
||||||
|
|
||||||
nnoremap <esc>[5^ :tabp<cr>
|
|
||||||
nnoremap <esc>[6^ :tabn<cr>
|
|
||||||
nnoremap <esc>[5@ :tabm -1<cr>
|
|
||||||
nnoremap <esc>[6@ :tabm +1<cr>
|
|
||||||
|
|
||||||
nnoremap <f1> :tabp<cr>
|
|
||||||
nnoremap <f2> :tabn<cr>
|
|
||||||
inoremap <f1> <esc>:tabp<cr>
|
|
||||||
inoremap <f2> <esc>:tabn<cr>
|
|
||||||
|
|
||||||
" <C-{Up,Down,Right,Left>
|
|
||||||
noremap <esc>Oa <nop> | noremap! <esc>Oa <nop>
|
|
||||||
noremap <esc>Ob <nop> | noremap! <esc>Ob <nop>
|
|
||||||
noremap <esc>Oc <nop> | noremap! <esc>Oc <nop>
|
|
||||||
noremap <esc>Od <nop> | noremap! <esc>Od <nop>
|
|
||||||
" <[C]S-{Up,Down,Right,Left>
|
|
||||||
noremap <esc>[a <nop> | noremap! <esc>[a <nop>
|
|
||||||
noremap <esc>[b <nop> | noremap! <esc>[b <nop>
|
|
||||||
noremap <esc>[c <nop> | noremap! <esc>[c <nop>
|
|
||||||
noremap <esc>[d <nop> | noremap! <esc>[d <nop>
|
|
||||||
|
|
||||||
" search with ack
|
|
||||||
let g:ackprg = 'ag --vimgrep'
|
|
||||||
cnoreabbrev Ack Ack!
|
|
||||||
|
|
||||||
" copy/paste from/to xclipboard
|
|
||||||
noremap x "_x
|
|
||||||
set clipboard=unnamedplus
|
|
||||||
'';
|
|
||||||
|
|
||||||
extra-runtimepath = concatMapStringsSep "," (pkg: "${pkg.rtp}") [
|
|
||||||
pkgs.vimPlugins.ack-vim
|
|
||||||
pkgs.vimPlugins.Gundo
|
|
||||||
pkgs.vimPlugins.Syntastic
|
|
||||||
pkgs.vimPlugins.undotree
|
|
||||||
pkgs.vimPlugins.vim-go
|
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
|
||||||
name = "file-line-1.0";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "bogado";
|
|
||||||
repo = "file-line";
|
|
||||||
rev = "1.0";
|
|
||||||
sha256 = "0z47zq9rqh06ny0q8lpcdsraf3lyzn9xvb59nywnarf3nxrk6hx0";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let
|
|
||||||
name = "hack";
|
|
||||||
in {
|
|
||||||
name = "vim-color-${name}-1.0.2";
|
|
||||||
destination = "/colors/${name}.vim";
|
|
||||||
text = /* vim */ ''
|
|
||||||
set background=dark
|
|
||||||
hi clear
|
|
||||||
if exists("syntax_on")
|
|
||||||
syntax clear
|
|
||||||
endif
|
|
||||||
|
|
||||||
let colors_name = ${toJSON name}
|
|
||||||
|
|
||||||
hi Normal ctermbg=235
|
|
||||||
hi Comment ctermfg=242
|
|
||||||
hi Constant ctermfg=062
|
|
||||||
hi Identifier ctermfg=068
|
|
||||||
hi Function ctermfg=041
|
|
||||||
hi Statement ctermfg=167
|
|
||||||
hi PreProc ctermfg=167
|
|
||||||
hi Type ctermfg=041
|
|
||||||
hi Delimiter ctermfg=251
|
|
||||||
hi Special ctermfg=062
|
|
||||||
|
|
||||||
hi Garbage ctermbg=088
|
|
||||||
hi TabStop ctermbg=016
|
|
||||||
hi Todo ctermfg=174 ctermbg=NONE
|
|
||||||
|
|
||||||
hi NixCode ctermfg=148
|
|
||||||
hi NixData ctermfg=149
|
|
||||||
hi NixQuote ctermfg=150
|
|
||||||
|
|
||||||
hi diffNewFile ctermfg=207
|
|
||||||
hi diffFile ctermfg=207
|
|
||||||
hi diffLine ctermfg=207
|
|
||||||
hi diffSubname ctermfg=207
|
|
||||||
hi diffAdded ctermfg=010
|
|
||||||
hi diffRemoved ctermfg=009
|
|
||||||
'';
|
|
||||||
})))
|
|
||||||
((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let
|
|
||||||
name = "vim";
|
name = "vim";
|
||||||
in {
|
|
||||||
name = "vim-syntax-${name}-1.0.0";
|
|
||||||
destination = "/syntax/${name}.vim";
|
|
||||||
text = /* vim */ ''
|
|
||||||
${concatMapStringsSep "\n" (s: /* vim */ ''
|
|
||||||
syn keyword vimColor${s} ${s}
|
|
||||||
\ containedin=ALLBUT,vimComment,vimLineComment
|
|
||||||
hi vimColor${s} ctermfg=${s}
|
|
||||||
'') (map (i: lpad 3 "0" (toString i)) (range 0 255))}
|
|
||||||
'';
|
|
||||||
})))
|
|
||||||
((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let
|
|
||||||
name = "showsyntax";
|
|
||||||
in {
|
|
||||||
name = "vim-plugin-${name}-1.0.0";
|
|
||||||
destination = "/plugin/${name}.vim";
|
|
||||||
text = /* vim */ ''
|
|
||||||
if exists('g:loaded_showsyntax')
|
|
||||||
finish
|
|
||||||
endif
|
|
||||||
let g:loaded_showsyntax = 0
|
|
||||||
|
|
||||||
fu! ShowSyntax()
|
vimrcConfig.customRC = ''
|
||||||
let id = synID(line("."), col("."), 1)
|
set nocompatible
|
||||||
let name = synIDattr(id, "name")
|
|
||||||
let transName = synIDattr(synIDtrans(id),"name")
|
|
||||||
if name != transName
|
|
||||||
let name .= " (" . transName . ")"
|
|
||||||
endif
|
|
||||||
echo "Syntax: " . name
|
|
||||||
endfu
|
|
||||||
|
|
||||||
command! -n=0 -bar ShowSyntax :call ShowSyntax()
|
:imap jk <Esc>
|
||||||
'';
|
:vmap v v
|
||||||
})))
|
:map gr :GoRun<Enter>
|
||||||
|
:nnoremap <S-TAB> :bnext<CR>
|
||||||
|
:nnoremap <C-TAB> <c-w><c-w>
|
||||||
|
:map nf :NERDTreeToggle<CR>
|
||||||
|
set autowrite
|
||||||
|
set number
|
||||||
|
set ruler
|
||||||
|
set path+=**
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
noremap x "_x
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
|
||||||
|
let g:jsx_ext_required = 0
|
||||||
|
|
||||||
|
let g:go_list_type = "quickfix"
|
||||||
|
let g:go_test_timeout = '10s'
|
||||||
|
let g:go_fmt_command = "goimports"
|
||||||
|
let g:go_snippet_case_type = "camelcase"
|
||||||
|
let g:go_highlight_types = 1
|
||||||
|
let g:go_highlight_fields = 1
|
||||||
|
let g:go_highlight_functions = 1
|
||||||
|
let g:go_highlight_methods = 1
|
||||||
|
let g:go_highlight_extra_types = 1
|
||||||
|
autocmd BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4
|
||||||
|
let g:rehash256 = 1
|
||||||
|
let g:molokai_original = 1
|
||||||
|
colorscheme molokai
|
||||||
|
let g:go_metalinter_enabled = ['vet', 'golint', 'errcheck']
|
||||||
|
let g:go_metalinter_autosave = 1
|
||||||
|
" let g:go_metalinter_autosave_enabled = ['vet', 'golint']
|
||||||
|
" let g:go_def_mode = 'godef'
|
||||||
|
" let g:go_decls_includes = "func,type"
|
||||||
|
|
||||||
|
|
||||||
|
" Trigger configuration. Do not use <tab> if you use https://github.com/Valloric/YouCompleteMe.
|
||||||
|
let g:UltiSnipsExpandTrigger="<c-e>"
|
||||||
|
let g:UltiSnipsJumpForwardTrigger="<c-t>"
|
||||||
|
let g:UltiSnipsJumpBackwardTrigger="<c-q>"
|
||||||
|
|
||||||
|
" If you want :UltiSnipsEdit to split your window.
|
||||||
|
let g:UltiSnipsEditSplit="vertical"
|
||||||
|
|
||||||
|
if has('persistent_undo') "check if your vim version supports it
|
||||||
|
set undofile "turn on the feature
|
||||||
|
set undodir=$HOME/.vim/undo "directory where the undo files will be stored
|
||||||
|
endif
|
||||||
|
'';
|
||||||
|
|
||||||
|
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins;
|
||||||
|
vimrcConfig.vam.pluginDictionaries = [
|
||||||
|
{ names = [ "undotree" "molokai" "Syntastic" "ctrlp" "surround" "snipmate" "nerdtree" "easymotion"]; }
|
||||||
|
{ names = [ "vim-addon-nix" ]; ft_regex = "^nix\$"; }
|
||||||
|
{ names = [ "vim-go" ]; ft_regex = "^go\$"; } # wanted: nsf/gocode
|
||||||
|
{ names = [ "vim-javascript" ]; ft_regex = "^js\$"; }
|
||||||
|
{ names = [ "vim-jsx" ]; ft_regex = "^js\$"; }
|
||||||
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
}
|
||||||
dirs = {
|
|
||||||
backupdir = "$HOME/.cache/vim/backup";
|
|
||||||
swapdir = "$HOME/.cache/vim/swap";
|
|
||||||
undodir = "$HOME/.cache/vim/undo";
|
|
||||||
};
|
|
||||||
files = {
|
|
||||||
viminfo = "$HOME/.cache/vim/info";
|
|
||||||
};
|
|
||||||
|
|
||||||
mkdirs = let
|
|
||||||
dirOf = s: let out = concatStringsSep "/" (init (splitString "/" s));
|
|
||||||
in assert out != ""; out;
|
|
||||||
alldirs = attrValues dirs ++ map dirOf (attrValues files);
|
|
||||||
in unique (sort lessThan alldirs);
|
|
||||||
|
|
||||||
vim = pkgs.symlinkJoin {
|
|
||||||
name = "vim";
|
|
||||||
paths = [
|
|
||||||
(pkgs.writeDashBin "vim" ''
|
|
||||||
set -efu
|
|
||||||
(umask 0077; exec ${pkgs.coreutils}/bin/mkdir -p ${toString mkdirs})
|
|
||||||
exec ${pkgs.vim}/bin/vim "$@"
|
|
||||||
'')
|
|
||||||
pkgs.vim
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
hs.vim = pkgs.writeText "hs.vim" ''
|
|
||||||
syn region String start=+\[[[:alnum:]]*|+ end=+|]+
|
|
||||||
|
|
||||||
hi link ConId Identifier
|
|
||||||
hi link VarId Identifier
|
|
||||||
hi link hsDelimiter Delimiter
|
|
||||||
'';
|
|
||||||
|
|
||||||
nix.vim = pkgs.writeText "nix.vim" ''
|
|
||||||
setf nix
|
|
||||||
|
|
||||||
" Ref <nix/src/libexpr/lexer.l>
|
|
||||||
syn match NixID /[a-zA-Z\_][a-zA-Z0-9\_\'\-]*/
|
|
||||||
syn match NixINT /\<[0-9]\+\>/
|
|
||||||
syn match NixPATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/
|
|
||||||
syn match NixHPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/
|
|
||||||
syn match NixSPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/
|
|
||||||
syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/
|
|
||||||
syn region NixSTRING
|
|
||||||
\ matchgroup=NixSTRING
|
|
||||||
\ start='"'
|
|
||||||
\ skip='\\"'
|
|
||||||
\ end='"'
|
|
||||||
syn region NixIND_STRING
|
|
||||||
\ matchgroup=NixIND_STRING
|
|
||||||
\ start="'''"
|
|
||||||
\ skip="'''\('\|[$]\|\\[nrt]\)"
|
|
||||||
\ end="'''"
|
|
||||||
|
|
||||||
syn match NixOther /[():/;=.,?\[\]]/
|
|
||||||
|
|
||||||
syn match NixCommentMatch /\(^\|\s\)#.*/
|
|
||||||
syn region NixCommentRegion start="/\*" end="\*/"
|
|
||||||
|
|
||||||
hi link NixCode Statement
|
|
||||||
hi link NixData Constant
|
|
||||||
hi link NixComment Comment
|
|
||||||
|
|
||||||
hi link NixCommentMatch NixComment
|
|
||||||
hi link NixCommentRegion NixComment
|
|
||||||
hi link NixID NixCode
|
|
||||||
hi link NixINT NixData
|
|
||||||
hi link NixPATH NixData
|
|
||||||
hi link NixHPATH NixData
|
|
||||||
hi link NixSPATH NixData
|
|
||||||
hi link NixURI NixData
|
|
||||||
hi link NixSTRING NixData
|
|
||||||
hi link NixIND_STRING NixData
|
|
||||||
|
|
||||||
hi link NixEnter NixCode
|
|
||||||
hi link NixOther NixCode
|
|
||||||
hi link NixQuote NixData
|
|
||||||
|
|
||||||
syn cluster nix_has_dollar_curly contains=@nix_ind_strings,@nix_strings
|
|
||||||
syn cluster nix_ind_strings contains=NixIND_STRING
|
|
||||||
syn cluster nix_strings contains=NixSTRING
|
|
||||||
|
|
||||||
${concatStringsSep "\n" (mapAttrsToList (lang: { extraStart ? null }: let
|
|
||||||
startAlts = filter isString [
|
|
||||||
''/\* ${lang} \*/''
|
|
||||||
extraStart
|
|
||||||
];
|
|
||||||
sigil = ''\(${concatStringsSep ''\|'' startAlts}\)[ \t\r\n]*'';
|
|
||||||
in /* vim */ ''
|
|
||||||
syn include @nix_${lang}_syntax syntax/${lang}.vim
|
|
||||||
unlet b:current_syntax
|
|
||||||
|
|
||||||
syn match nix_${lang}_sigil
|
|
||||||
\ X${replaceStrings ["X"] ["\\X"] sigil}\ze\('''\|"\)X
|
|
||||||
\ nextgroup=nix_${lang}_region_IND_STRING,nix_${lang}_region_STRING
|
|
||||||
\ transparent
|
|
||||||
|
|
||||||
syn region nix_${lang}_region_STRING
|
|
||||||
\ matchgroup=NixSTRING
|
|
||||||
\ start='"'
|
|
||||||
\ skip='\\"'
|
|
||||||
\ end='"'
|
|
||||||
\ contained
|
|
||||||
\ contains=@nix_${lang}_syntax
|
|
||||||
\ transparent
|
|
||||||
|
|
||||||
syn region nix_${lang}_region_IND_STRING
|
|
||||||
\ matchgroup=NixIND_STRING
|
|
||||||
\ start="'''"
|
|
||||||
\ skip="'''\('\|[$]\|\\[nrt]\)"
|
|
||||||
\ end="'''"
|
|
||||||
\ contained
|
|
||||||
\ contains=@nix_${lang}_syntax
|
|
||||||
\ transparent
|
|
||||||
|
|
||||||
syn cluster nix_ind_strings
|
|
||||||
\ add=nix_${lang}_region_IND_STRING
|
|
||||||
|
|
||||||
syn cluster nix_strings
|
|
||||||
\ add=nix_${lang}_region_STRING
|
|
||||||
|
|
||||||
syn cluster nix_has_dollar_curly
|
|
||||||
\ add=@nix_${lang}_syntax
|
|
||||||
'') {
|
|
||||||
c = {};
|
|
||||||
cabal = {};
|
|
||||||
haskell = {};
|
|
||||||
sh.extraStart = ''write\(Ba\|Da\)sh[^ \t\r\n]*[ \t\r\n]*"[^"]*"'';
|
|
||||||
vim.extraStart =
|
|
||||||
''write[^ \t\r\n]*[ \t\r\n]*"\(\([^"]*\.\)\?vimrc\|[^"]*\.vim\)"'';
|
|
||||||
})}
|
|
||||||
|
|
||||||
" Clear syntax that interferes with nixINSIDE_DOLLAR_CURLY.
|
|
||||||
syn clear shVarAssign
|
|
||||||
|
|
||||||
syn region nixINSIDE_DOLLAR_CURLY
|
|
||||||
\ matchgroup=NixEnter
|
|
||||||
\ start="[$]{"
|
|
||||||
\ end="}"
|
|
||||||
\ contains=TOP
|
|
||||||
\ containedin=@nix_has_dollar_curly
|
|
||||||
\ transparent
|
|
||||||
|
|
||||||
syn region nix_inside_curly
|
|
||||||
\ matchgroup=NixEnter
|
|
||||||
\ start="{"
|
|
||||||
\ end="}"
|
|
||||||
\ contains=TOP
|
|
||||||
\ containedin=nixINSIDE_DOLLAR_CURLY,nix_inside_curly
|
|
||||||
\ transparent
|
|
||||||
|
|
||||||
syn match NixQuote /'''\([''$']\|\\.\)/he=s+2
|
|
||||||
\ containedin=@nix_ind_strings
|
|
||||||
\ contained
|
|
||||||
|
|
||||||
syn match NixQuote /\\./he=s+1
|
|
||||||
\ containedin=@nix_strings
|
|
||||||
\ contained
|
|
||||||
|
|
||||||
syn sync fromstart
|
|
||||||
|
|
||||||
let b:current_syntax = "nix"
|
|
||||||
|
|
||||||
set isk=@,48-57,_,192-255,-,'
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
out
|
|
||||||
|
@ -14,7 +14,7 @@ in
|
|||||||
};
|
};
|
||||||
secrets.file = getAttr builder {
|
secrets.file = getAttr builder {
|
||||||
buildbot = toString <stockholm/jeschli/2configs/tests/dummy-secrets>;
|
buildbot = toString <stockholm/jeschli/2configs/tests/dummy-secrets>;
|
||||||
jeschli = "/home/jeschli/secrets/${name}";
|
jeschli = "${getEnv "HOME"}/secrets/${name}";
|
||||||
};
|
};
|
||||||
stockholm.file = toString <stockholm>;
|
stockholm.file = toString <stockholm>;
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ let
|
|||||||
./tinc_graphs.nix
|
./tinc_graphs.nix
|
||||||
./urlwatch.nix
|
./urlwatch.nix
|
||||||
./repo-sync.nix
|
./repo-sync.nix
|
||||||
|
./xresources.nix
|
||||||
./zones.nix
|
./zones.nix
|
||||||
];
|
];
|
||||||
options.krebs = api;
|
options.krebs = api;
|
||||||
@ -104,8 +105,9 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
imp = lib.mkMerge [
|
imp = lib.mkMerge [
|
||||||
{ krebs = import ./lass { inherit config; }; }
|
{ krebs = import ./jeschli { inherit config; }; }
|
||||||
{ krebs = import ./krebs { inherit config; }; }
|
{ krebs = import ./krebs { inherit config; }; }
|
||||||
|
{ krebs = import ./lass { inherit config; }; }
|
||||||
{ krebs = import ./makefu { inherit config; }; }
|
{ krebs = import ./makefu { inherit config; }; }
|
||||||
{ krebs = import ./mv { inherit config; }; }
|
{ krebs = import ./mv { inherit config; }; }
|
||||||
{ krebs = import ./nin { inherit config; }; }
|
{ krebs = import ./nin { inherit config; }; }
|
||||||
|
134
krebs/3modules/jeschli/default.nix
Normal file
134
krebs/3modules/jeschli/default.nix
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
with import <stockholm/lib>;
|
||||||
|
|
||||||
|
{
|
||||||
|
hosts = mapAttrs (_: recursiveUpdate {
|
||||||
|
owner = config.krebs.users.jeschli;
|
||||||
|
ci = true;
|
||||||
|
}) {
|
||||||
|
bln = {
|
||||||
|
nets = {
|
||||||
|
retiolum = {
|
||||||
|
ip4.addr = "10.243.27.28";
|
||||||
|
ip6.addr = "42::28";
|
||||||
|
aliases = [
|
||||||
|
"bln.r"
|
||||||
|
];
|
||||||
|
tinc.pubkey = ''
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIECgKCBAEAwoN2f6iyQ1Wnk4rZVqhovny8VpwWvC9buE+NoedRaxmWmA5QIP02
|
||||||
|
BLwTWFKnbiKOQiYN+a4m/JKs0fFOjYCa2EKhqWWKwdEIN4wJTq8zrjzIaa2rdz+8
|
||||||
|
tamE+8rSYDE+RbJ6Gs3SUDfwcxJT6FXCi3JYoirdhAssLSwTf9d5IsfXvkKMabky
|
||||||
|
FpY9Im51utmIR8UmYL4Ti7dEaOxif+5Hgl1LuitC8e2IIZJhXJprK9tJk9J0LRWt
|
||||||
|
PUM31IG1+A2hNBzs5hferLmmwFvYF1sJ22NtFepxVyOLaLcLEFKWHyU+14qEMSgL
|
||||||
|
acsu0lgVZ4A1TY6vVBmawfVCzUzRfalNIty1x+qDA4MB1RQ4W7ivWCjd/+wirSyc
|
||||||
|
BLxCvriXRdUwPIRoHy0kNMmS83HGm2iv2IrHUrcH8lyJvMys216J2lCF2arRVnBn
|
||||||
|
lArObfR3mXgd/YoANmZ4cinLAjLCjCjXfOe39+pvTFph6WnDt4gOO+tQlnCk19Fa
|
||||||
|
NoiK1THcuZiFVE+4CAXVmstNqYKSMgw+Upw7/t6iUzur98iwKpcicomhJjGVVtbg
|
||||||
|
2iDf4lYVrUyb7iPns2T4EzAuHk7iESktEASU5creSbWYRu/4uyhuNlUoiCpVOEKg
|
||||||
|
H9jkrLlCpQGv/GmgdH9oj35Dsv5TINauCT2jjWV65wcKAlvyafy5UtLyF4HBRHaM
|
||||||
|
2xyxC9gxr8bmeOFyOnHVJQvpkeLxyaRp/VppjCTzr82TQvpZd5a+tISIbDGfqX1o
|
||||||
|
cEyPsowb3KHNtW9DqRBp+80fPGnQHsNjVXbJb37wjpnR/ePg/XyENbZF/OQEsjqt
|
||||||
|
bki8hZQXKJAFyx1bq/2A1q4ocx7JlJKynL4szG1unHbSPKNH2OOVvoezuP7e+lXU
|
||||||
|
gnzrSbe9lPIOp4Vu1HjWOi6tNWZFoZrSHVIK+VGxm+wm/HoS+Enj4Yq+vRvU3luv
|
||||||
|
UllR5KHHK2970RbFEUE0zaVMZjQn5KgJjFXfqfrCztp0wZ5CQo+tRFPq35llaIQ2
|
||||||
|
0WyT2IZlxt1Xr2IpOM0DpO4SJnivZT/wdZN7upzsUPf4a9suztpA3KcKAKqH0OM5
|
||||||
|
fv2/LXspc73vACAOZ9qDJnwp8bFrMOaQdAL1oPpOLB3yYTDA3E20IAQ6OKoSy1Nl
|
||||||
|
B4coqo1gBCcMrWwVFYAuc5J4itXJ0SSj67+WUnuDzPm88LI3g+AO0r1m6k6YdA58
|
||||||
|
SeNxYPMLYNLRg86rsjKjXu+QyvBsd04O/QvIxpTFCtdjbUXNS1H4++/inYZSwWPp
|
||||||
|
U0lN9erLJbwr4WqU/Mn6J+jKijXwmCSiF5if5baszMsOL/0u9yFt6OcaLyehE3sJ
|
||||||
|
eAo00n9phSna0lxtbtRnh/Gd4D7rFcX33wIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
brauerei = {
|
||||||
|
nets = {
|
||||||
|
retiolum = {
|
||||||
|
ip4.addr = "10.243.27.29";
|
||||||
|
ip6.addr = "42::29";
|
||||||
|
aliases = [
|
||||||
|
"brauerei.r"
|
||||||
|
];
|
||||||
|
tinc.pubkey = ''
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIECgKCBAEAvC4AjkAoH01sKDXE3xVM2YUpPQ9iewIPQCCCSWYZQh2BWOfl+FFs
|
||||||
|
pW3ix5FjAzTxzkIf5NxW0usff8UTkFHB+sGZLZ9DPqvb8AM4GJsvXR06LORHtBlo
|
||||||
|
Vt/g1sndD3i3NXn5IJ2G4mZDImQjI3vuTkPyFQsR5LRAaPQgIORHBtN/X1UEVMRq
|
||||||
|
gThUeMb1kZ/y4AmUx0pepQYmAcYf0cN/7r9n68dWJCZ7DWX3q49bIz4TPG519IQp
|
||||||
|
KzoCtdXImKl6cFDepa2pRmIW4SPaDXztHDmXoJA1NBfdDOMOW67FUjzhcwZS9usM
|
||||||
|
q9x/1Tph63PJy4Vc0jsJnY29WrInx/nVAb22QuTOXQ9SfBNoOATYoFoVmY+yw1FX
|
||||||
|
67y3bRbq8lQk1y3F2vZVYxQ52WiYLmtNtuzUMZHErL7VgFIEfQKoO2Oa/WZXdgSJ
|
||||||
|
Asmn67NSicc5QNI4rBUthju1JDuM/3ja0yCXh7trDCmPxKd94KzxMlq9VA6S2f/Q
|
||||||
|
uke3VnXEDqOWOZdcon5DnRTT1y4xjk1XHuO/9tVDcrL7x1unkdGL9BNMU6opJiLm
|
||||||
|
batAtKQ/7EJrlgIxYpEQyCNAjj0dEn0BgNZNqQSKkeGe6giVMuHtnXeTYMEraDas
|
||||||
|
DWxHmGOvYWrs3tZdELkB/h/y7DdijOabS4AlLOljKHiacw8e0D7p9qeIU2EwRaXD
|
||||||
|
ebPYaAIIWn1FU1aCYpvF4YJYbdNJZg6aKpoWNz86ZjO9t3GBkf612xB7fRO9mbTg
|
||||||
|
Ww2Hl6lir0rnlo7P9M1xhQqmZ0phaUjkqYRCaTOW1kC5ACpJJ/Jrq0oyplHVBY8Y
|
||||||
|
IvzPDA4nu/YOpyhQjlQwcVt62NgW0CZdwp3ZnMMoy7akgEo71bjoHbRxAeWy5oRB
|
||||||
|
5CgGvQAB+qdf97XjZ5RggWQ2rglkCn49X4fXN6r4zuaIji1VVFTEZGRNsi0vt1YC
|
||||||
|
Eedz68auu1ZDO1qwNcX00n94E09B05DQBjE/6SAX6wBCY/BwUtzdQ9JnyfHNSl8i
|
||||||
|
dmHBPLssB9Dku4U0mo+LLer+bf6fiR7r5gp/KRuY/tMGFahprZRfWFtyO2Pg1cYI
|
||||||
|
HCdmDmSlbFq3EJmBl0egbU8Ym1m6t4EvPcoTxwy3ljZWybHlhm4wvhGcA/2bDRZA
|
||||||
|
jcXSL3G7buBOf8WJNYnMXCtPEyIYUdRyNvz3EUfvmbzZDhHd/bc0pJRrrtI7HqoF
|
||||||
|
+g67gCrtXx6i9PD0LSDJ1jExMZcmU1+DPg0dzDEmLHvW+HW538/HXGJ8FsunWBwD
|
||||||
|
/8wsQfoqAwlBSucLHDDrYVvfSp0+TLzg/HDMhNkcN7d5hm3syrI+IN4gEEjYeZIO
|
||||||
|
g7fjR1X7g5FGCDQnRA/dzNsZVnk6UFpCRwIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
reagenzglas = {
|
||||||
|
nets = {
|
||||||
|
retiolum = {
|
||||||
|
ip4.addr = "10.243.27.27";
|
||||||
|
ip6.addr = "42::27";
|
||||||
|
aliases = [
|
||||||
|
"reagenzglas.r"
|
||||||
|
];
|
||||||
|
tinc.pubkey = ''
|
||||||
|
-----BEGIN RSA PUBLIC KEY-----
|
||||||
|
MIIECgKCBAEA4Tbq6aiMhPz55Of/WDEmESGmScRJedQSJoyRuDEDabEktdbP/m7P
|
||||||
|
bwpLp0lGYphx42+lutFcYOGoH/Lglfj39yhDcrpkYfTnzcGOWutXGuZ+iR5vmGj0
|
||||||
|
utJRf/4+a4sB5NboBVZ9Ke/RTjDNSov00C2hFCYTXz89Gd2ap1nDPQpnejOS+9aO
|
||||||
|
2W6P/WIKhRH7TfW6M7mUCrjVxWXZgdfSCQYxAXU/+1uAGmJ9qlGlQUIGUGv9Znv5
|
||||||
|
hurqwAHzSgEkKc2iUumosz6a8W9Oo3TAEC+jMEO2l/+GJ/8VysG1wtLWDX03GU3u
|
||||||
|
mBAtrJppEw4QNPTeFg6XSFIwV8Z0fWZ4lGsPJLbAkLUMxtKVWKbdrdpnmiQpLfBW
|
||||||
|
8BRbT1pjwEdw0hefA6NwCO3/Y5piEaUEz/gYz9xHFMDXUj9stHtaF0HaqonWyb06
|
||||||
|
aX3EEqRBxVsj6/Sgd33b77xqY4WBoOlbhfWj+EAD1Ova26lHELpAg0Z4AncpyOzw
|
||||||
|
pJcX81U8GgQp899YAc3EAldFfiu094CvM2NKd110K90VlTpos+sqFfNE87vpprMu
|
||||||
|
3d1NsYzf+FUM/aXASlqTNL+i8qBDAlODkLdj4+VZ2BjkSH+p2BLZouizSzu4X3I/
|
||||||
|
lfy554Dbb/98zlwmX9JrWzBRs2GxxFdIDZ1jK+Ci5qM7oTfujBwiE4jZA6wlK8u5
|
||||||
|
+IenSBdaJb0J8nS0Bziz/BLkuBCrl/YFelpZlY0pw6WYlraKbf/nsOpumOYh6zdz
|
||||||
|
9jiIPElGvso9FhwigX7xWCiYMK3ryAqm8CL0cTscQW3Yy2JKm1tNIQtAacwnNVli
|
||||||
|
PqdnPJSo942I+Fl6ZPjZ19ivJIqC+2TjGEY2Et8DkiL6YZfy4bM1zhoWMlXBIil0
|
||||||
|
ynnKR/h/CC67cq94JCbtRWKiYXIYtfHPQkS7S1Lk6aSYbIch/wROyh7XJ7EGE7nn
|
||||||
|
GAVMqI/P/qbW3rwEJGXzI4eJAHa2hwpP2Slimf6uUD/6L2bAnduhYoTsnNSjJmNE
|
||||||
|
hCC+MHohzk7+isZl0jwIEcMpsohMAwoa5BEhbuYJWeUesT/4PeddLIGYubTZAXp2
|
||||||
|
ZdYRepSNUEhSZV0H99MhlqeooDJxnWpsiba5Gb0s6p4gTReGy0jMtWnxI2P5RUFX
|
||||||
|
vEGt77v4MGrWYTzAL/ZRmESsOj7TXqpSK5YcMC2nr8PcV66LuMjOkRrGoVOV3fBe
|
||||||
|
G/9pNVb68SRwfPoGa5nGe6C7GPcgko9rgGLLcU1r/4L2bqFhdIQdSfaUX2Hscm44
|
||||||
|
5GdN2UvuwwVxOyU1uPqJcBNnr2yt3x3kw5+zDQ00z/pFntTXWm19m6BUtbkdwN2x
|
||||||
|
Bn1P3P/mRTEaHxQr9RGg8Zjnix/Q6G7I5QIDAQAB
|
||||||
|
-----END RSA PUBLIC KEY-----
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
jeschli = {
|
||||||
|
mail = "jeschli@gmail.com";
|
||||||
|
pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMPuFzd6p3zZETIjoV5mRxCTQgeZk9s/P374mEDbj58wDTT0uGWu2JRf7cL1QRTvd5238tYl0eSHXH65+oaFB/mIvmiRnuw6qQODOMHlSbJN5/J2hEw/3v5gveiP1xNLfKlFhj6mmMRF7Etvzns/kLGLCSjj1UTlfo4iHmtinPmU+iQ8J4foS4cZj4oZesF8gndkc2EFMfL6en7EuU8GK6U9GtwKNL9N4UoUZXu8Nf00pkn/jrpmsDdI4zdVVAxWeu/Lo4li43EVixLcfwQiwzf6S9FvYIv30xPdy92GJSJwxm/QkYuc48VZWUoE+qThf3IEPETtX+MRZrM8RTtY01";
|
||||||
|
};
|
||||||
|
jeschli-bln = {
|
||||||
|
pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhQdDQFMxXOjbC+Avx3mlcFHqQpFUk/q9sO6ATA65jCV3YzN11vhZDDv54hABVS2h8TPXs7Lu3PCvK9qouASd2h4Ie9cExUmn50G/iwgFIODsCugVYBzVt1iwaAdwz1Hb9DKYXbVXanzVJjimmrrlQNvsyZg85lcnfyedpPX5ad+4FdSP68LHqEHC18LTitldR6V4P1omaKHlOtVpDgR/72tDgbtNZDBn3EU+TPk9OLTzjc6PinPw4iIvjEfiu14APwXpFDIqT7P7SjOEFpa0v/1z7dhxIy/Z9XbqyEdUfhv3PjZR5K2C+VzR7g6jVEVR2xFId51MpLv/Un4/lalbphBEw3I90Rr8tatOJiFhyrXbaKTcLqp1sIu05OxdPkm3hzfmLIhoKxhaIlXH7WQ9sAqxL1NAQ7O+J6yT4DMnwKzvpkkJjBaGtV84Pp1cccfNRH8XXID3FkWkrUpdgXWBpyLnRq4ilUJTajkU0GSdXkq8kLL3mWg9LPRTg3dmDj61ZB/qhjM61ppwHJvDRN9WI5HruXIU6nOQjh5yE2C/JZfLcsZD4Y1UDBy5/JSZrCVT2sQjFopkkYEkRCbX7oITHOH4iyRdxZkKWLUPboFrcmBpXO+owCEhO4JZrtfFWMC6qM++nrmiZWOrdIOIvdYHWluhKR2shlkisEKQP5pUqkw== markus.hihn@dcso.de";
|
||||||
|
};
|
||||||
|
jeschli-brauerei = {
|
||||||
|
pubkey = "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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -44,7 +44,7 @@ with import <stockholm/lib>;
|
|||||||
cores = 2;
|
cores = 2;
|
||||||
nets = rec {
|
nets = rec {
|
||||||
internet = {
|
internet = {
|
||||||
ip4.addr = "45.62.226.163";
|
ip4.addr = "64.137.242.41";
|
||||||
aliases = [
|
aliases = [
|
||||||
"echelon.i"
|
"echelon.i"
|
||||||
];
|
];
|
||||||
@ -535,45 +535,6 @@ with import <stockholm/lib>;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
reagenzglas = {
|
|
||||||
ci = false;
|
|
||||||
external = true;
|
|
||||||
nets = {
|
|
||||||
retiolum = {
|
|
||||||
ip4.addr = "10.243.27.27";
|
|
||||||
ip6.addr = "42::27";
|
|
||||||
aliases = [
|
|
||||||
"reagenzglas.r"
|
|
||||||
];
|
|
||||||
tinc.pubkey = ''
|
|
||||||
-----BEGIN RSA PUBLIC KEY-----
|
|
||||||
MIIECgKCBAEA4Tbq6aiMhPz55Of/WDEmESGmScRJedQSJoyRuDEDabEktdbP/m7P
|
|
||||||
bwpLp0lGYphx42+lutFcYOGoH/Lglfj39yhDcrpkYfTnzcGOWutXGuZ+iR5vmGj0
|
|
||||||
utJRf/4+a4sB5NboBVZ9Ke/RTjDNSov00C2hFCYTXz89Gd2ap1nDPQpnejOS+9aO
|
|
||||||
2W6P/WIKhRH7TfW6M7mUCrjVxWXZgdfSCQYxAXU/+1uAGmJ9qlGlQUIGUGv9Znv5
|
|
||||||
hurqwAHzSgEkKc2iUumosz6a8W9Oo3TAEC+jMEO2l/+GJ/8VysG1wtLWDX03GU3u
|
|
||||||
mBAtrJppEw4QNPTeFg6XSFIwV8Z0fWZ4lGsPJLbAkLUMxtKVWKbdrdpnmiQpLfBW
|
|
||||||
8BRbT1pjwEdw0hefA6NwCO3/Y5piEaUEz/gYz9xHFMDXUj9stHtaF0HaqonWyb06
|
|
||||||
aX3EEqRBxVsj6/Sgd33b77xqY4WBoOlbhfWj+EAD1Ova26lHELpAg0Z4AncpyOzw
|
|
||||||
pJcX81U8GgQp899YAc3EAldFfiu094CvM2NKd110K90VlTpos+sqFfNE87vpprMu
|
|
||||||
3d1NsYzf+FUM/aXASlqTNL+i8qBDAlODkLdj4+VZ2BjkSH+p2BLZouizSzu4X3I/
|
|
||||||
lfy554Dbb/98zlwmX9JrWzBRs2GxxFdIDZ1jK+Ci5qM7oTfujBwiE4jZA6wlK8u5
|
|
||||||
+IenSBdaJb0J8nS0Bziz/BLkuBCrl/YFelpZlY0pw6WYlraKbf/nsOpumOYh6zdz
|
|
||||||
9jiIPElGvso9FhwigX7xWCiYMK3ryAqm8CL0cTscQW3Yy2JKm1tNIQtAacwnNVli
|
|
||||||
PqdnPJSo942I+Fl6ZPjZ19ivJIqC+2TjGEY2Et8DkiL6YZfy4bM1zhoWMlXBIil0
|
|
||||||
ynnKR/h/CC67cq94JCbtRWKiYXIYtfHPQkS7S1Lk6aSYbIch/wROyh7XJ7EGE7nn
|
|
||||||
GAVMqI/P/qbW3rwEJGXzI4eJAHa2hwpP2Slimf6uUD/6L2bAnduhYoTsnNSjJmNE
|
|
||||||
hCC+MHohzk7+isZl0jwIEcMpsohMAwoa5BEhbuYJWeUesT/4PeddLIGYubTZAXp2
|
|
||||||
ZdYRepSNUEhSZV0H99MhlqeooDJxnWpsiba5Gb0s6p4gTReGy0jMtWnxI2P5RUFX
|
|
||||||
vEGt77v4MGrWYTzAL/ZRmESsOj7TXqpSK5YcMC2nr8PcV66LuMjOkRrGoVOV3fBe
|
|
||||||
G/9pNVb68SRwfPoGa5nGe6C7GPcgko9rgGLLcU1r/4L2bqFhdIQdSfaUX2Hscm44
|
|
||||||
5GdN2UvuwwVxOyU1uPqJcBNnr2yt3x3kw5+zDQ00z/pFntTXWm19m6BUtbkdwN2x
|
|
||||||
Bn1P3P/mRTEaHxQr9RGg8Zjnix/Q6G7I5QIDAQAB
|
|
||||||
-----END RSA PUBLIC KEY-----
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xerxes = {
|
xerxes = {
|
||||||
cores = 2;
|
cores = 2;
|
||||||
nets = rec {
|
nets = rec {
|
||||||
@ -667,8 +628,5 @@ with import <stockholm/lib>;
|
|||||||
pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbBp2dH2X3dcU1zh+xW3ZsdYROKpJd3n13ssOP092qE";
|
pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbBp2dH2X3dcU1zh+xW3ZsdYROKpJd3n13ssOP092qE";
|
||||||
mail = "joerg@higgsboson.tk";
|
mail = "joerg@higgsboson.tk";
|
||||||
};
|
};
|
||||||
jeschli = {
|
|
||||||
pubkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMPuFzd6p3zZETIjoV5mRxCTQgeZk9s/P374mEDbj58wDTT0uGWu2JRf7cL1QRTvd5238tYl0eSHXH65+oaFB/mIvmiRnuw6qQODOMHlSbJN5/J2hEw/3v5gveiP1xNLfKlFhj6mmMRF7Etvzns/kLGLCSjj1UTlfo4iHmtinPmU+iQ8J4foS4cZj4oZesF8gndkc2EFMfL6en7EuU8GK6U9GtwKNL9N4UoUZXu8Nf00pkn/jrpmsDdI4zdVVAxWeu/Lo4li43EVixLcfwQiwzf6S9FvYIv30xPdy92GJSJwxm/QkYuc48VZWUoE+qThf3IEPETtX+MRZrM8RTtY01";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ in
|
|||||||
{
|
{
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
services.xresources.enable = mkOption {
|
krebs.xresources.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
@ -25,7 +25,7 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xresources.resources = mkOption {
|
krebs.xresources.resources = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
example = {
|
example = {
|
||||||
@ -42,7 +42,7 @@ in
|
|||||||
|
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
cfg = config.services.xresources;
|
cfg = config.krebs.xresources;
|
||||||
xres = writeText "xresources" (concatStringsSep "\n" (attrValues cfg.resources));
|
xres = writeText "xresources" (concatStringsSep "\n" (attrValues cfg.resources));
|
||||||
|
|
||||||
in mkIf cfg.enable {
|
in mkIf cfg.enable {
|
22
krebs/6tests/data/test-config.nix
Normal file
22
krebs/6tests/data/test-config.nix
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
<stockholm/krebs>
|
||||||
|
<nixpkgs/nixos/modules/virtualisation/qemu-vm.nix>
|
||||||
|
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
|
||||||
|
];
|
||||||
|
|
||||||
|
krebs.hosts.minimal = {
|
||||||
|
cores = 1;
|
||||||
|
secure = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader.grub.enable = false;
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
||||||
|
krebs.build = {
|
||||||
|
host = config.krebs.hosts.minimal;
|
||||||
|
user = config.krebs.users.krebs;
|
||||||
|
};
|
||||||
|
}
|
12
krebs/6tests/data/test-source.nix
Normal file
12
krebs/6tests/data/test-source.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
with import <stockholm/lib>;
|
||||||
|
evalSource "" [{
|
||||||
|
nixos-config = {
|
||||||
|
symlink.target = toString ./test-config;
|
||||||
|
};
|
||||||
|
nixpkgs = {
|
||||||
|
symlink.target = toString <nixpkgs>;
|
||||||
|
};
|
||||||
|
stockholm = {
|
||||||
|
symlink.target = toString <stockholm>;
|
||||||
|
};
|
||||||
|
}]
|
110
krebs/6tests/deploy.nix
Normal file
110
krebs/6tests/deploy.nix
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
with import <stockholm/lib>;
|
||||||
|
import <nixpkgs/nixos/tests/make-test.nix> ({ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
test-config = <stockholm/krebs/6tests/data/test-config.nix>;
|
||||||
|
privKey = ''
|
||||||
|
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACD1tYD8r6Fcd7bq3Z0nvo5483nXQ8c4LFh0fcw8rOCQtQAAAJBTNHK6UzRy
|
||||||
|
ugAAAAtzc2gtZWQyNTUxOQAAACD1tYD8r6Fcd7bq3Z0nvo5483nXQ8c4LFh0fcw8rOCQtQ
|
||||||
|
AAAECK2ZlEIofZyGbh7rXlUq5lUsUyotamtp9QrlvoS3qgePW1gPyvoVx3turdnSe+jnjz
|
||||||
|
eddDxzgsWHR9zDys4JC1AAAACWxhc3NAbW9ycwECAwQ=
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
'';
|
||||||
|
pubKey = ''
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPW1gPyvoVx3turdnSe+jnjzeddDxzgsWHR9zDys4JC1
|
||||||
|
'';
|
||||||
|
|
||||||
|
ssh-config = pkgs.writeText "ssh-config" ''
|
||||||
|
Host server
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile=/dev/null
|
||||||
|
'';
|
||||||
|
|
||||||
|
populate-source = {
|
||||||
|
nixos-config = {
|
||||||
|
symlink.target = test-config;
|
||||||
|
type = "symlink";
|
||||||
|
};
|
||||||
|
nixpkgs = {
|
||||||
|
symlink.target = <nixpkgs>;
|
||||||
|
type = "symlink";
|
||||||
|
};
|
||||||
|
stockholm = {
|
||||||
|
symlink.target = <stockholm>;
|
||||||
|
type = "symlink";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
test-deploy = pkgs.writeDash "test-deploy" ''
|
||||||
|
cd ${<stockholm>}
|
||||||
|
export NIX_PATH=stockholm=${<stockholm>}:nixpkgs=${<nixpkgs>}:$NIX_PATH
|
||||||
|
exec >&2
|
||||||
|
: ${minimalSystem}
|
||||||
|
source=${pkgs.writeJSON "source.json" populate-source}
|
||||||
|
cat > /tmp/derp <<EOF
|
||||||
|
builtins.fromJSON (builtins.readFile "$source")
|
||||||
|
EOF
|
||||||
|
LOGNAME=krebs ${pkgs.populate}/bin/populate --force root@server:22/var/src/ < "$source"
|
||||||
|
#LOGNAME=krebs ${pkgs.stockholm}/bin/deploy \
|
||||||
|
# --force-populate \
|
||||||
|
# --source=/tmp/derp \
|
||||||
|
# --system=server \
|
||||||
|
'';
|
||||||
|
minimalSystem = (import <nixpkgs/nixos/lib/eval-config.nix> {
|
||||||
|
modules = [
|
||||||
|
test-config
|
||||||
|
];
|
||||||
|
}).config.system.build.toplevel;
|
||||||
|
|
||||||
|
in {
|
||||||
|
name = "deploy";
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
|
||||||
|
server =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ test-config ];
|
||||||
|
environment.variables = {
|
||||||
|
NIX_PATH = mkForce "nixpkgs=${<nixpkgs>}";
|
||||||
|
#LOL = minimalSystem;
|
||||||
|
};
|
||||||
|
services.openssh.enable = true;
|
||||||
|
users.extraUsers.root.openssh.authorizedKeys.keys = [
|
||||||
|
pubKey
|
||||||
|
];
|
||||||
|
#virtualisation.writableStore = true;
|
||||||
|
virtualisation.pathsInNixDB = [
|
||||||
|
minimalSystem
|
||||||
|
pkgs.stockholm
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
client =
|
||||||
|
{ config, pkgs, ... }: { };
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$server->waitForUnit("sshd");
|
||||||
|
|
||||||
|
$client->succeed("mkdir -p -m 700 /root/.ssh");
|
||||||
|
$client->succeed("echo '${privKey}' > /root/.ssh/id_ed25519");
|
||||||
|
$client->succeed("cp ${ssh-config} /root/.ssh/config");
|
||||||
|
$client->succeed("chmod 600 /root/.ssh/id_ed25519");
|
||||||
|
|
||||||
|
$server->waitForUnit("network.target");
|
||||||
|
$server->succeed("ip route show 1>&2");
|
||||||
|
$client->waitForUnit("network.target");
|
||||||
|
$client->succeed("${test-deploy}");
|
||||||
|
$server->succeed("nixos-rebuild -I /var/src switch");
|
||||||
|
|
||||||
|
$client->shutdown;
|
||||||
|
$server->shutdown;
|
||||||
|
'';
|
||||||
|
})
|
@ -20,20 +20,26 @@ with import <stockholm/lib>;
|
|||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/pool/root";
|
device = "/dev/pool/root";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/1F60-17C6";
|
device = "/dev/disk/by-uuid/1F60-17C6";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" = {
|
||||||
{ device = "/dev/pool/home";
|
device = "/dev/pool/home";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/tmp" = {
|
||||||
|
device = "tmpfs";
|
||||||
|
fsType = "tmpfs";
|
||||||
|
options = ["nosuid" "nodev" "noatime"];
|
||||||
|
};
|
||||||
|
|
||||||
nix.maxJobs = lib.mkDefault 8;
|
nix.maxJobs = lib.mkDefault 8;
|
||||||
}
|
}
|
||||||
@ -150,4 +156,7 @@ with import <stockholm/lib>;
|
|||||||
|
|
||||||
services.printing.drivers = [ pkgs.postscript-lexmark ];
|
services.printing.drivers = [ pkgs.postscript-lexmark ];
|
||||||
|
|
||||||
|
services.logind.extraConfig = ''
|
||||||
|
HandleLidSwitch=ignore
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
@ -186,6 +186,7 @@ in {
|
|||||||
#hotdog
|
#hotdog
|
||||||
containers.hotdog = {
|
containers.hotdog = {
|
||||||
config = { ... }: {
|
config = { ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.git ];
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
config.krebs.users.lass.pubkey
|
config.krebs.users.lass.pubkey
|
||||||
@ -201,6 +202,7 @@ in {
|
|||||||
#kaepsele
|
#kaepsele
|
||||||
containers.kaepsele = {
|
containers.kaepsele = {
|
||||||
config = { ... }: {
|
config = { ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.git ];
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
users.users.root.openssh.authorizedKeys.keys = with config.krebs.users; [
|
users.users.root.openssh.authorizedKeys.keys = with config.krebs.users; [
|
||||||
lass.pubkey
|
lass.pubkey
|
||||||
@ -217,6 +219,7 @@ in {
|
|||||||
#onondaga
|
#onondaga
|
||||||
containers.onondaga = {
|
containers.onondaga = {
|
||||||
config = { ... }: {
|
config = { ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.git ];
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
users.users.root.openssh.authorizedKeys.keys = [
|
users.users.root.openssh.authorizedKeys.keys = [
|
||||||
config.krebs.users.lass.pubkey
|
config.krebs.users.lass.pubkey
|
||||||
@ -290,7 +293,11 @@ in {
|
|||||||
{
|
{
|
||||||
krebs.git.rules = [
|
krebs.git.rules = [
|
||||||
{
|
{
|
||||||
user = [ config.krebs.users.jeschli ];
|
user = with config.krebs.users; [
|
||||||
|
jeschli
|
||||||
|
jeschli-bln
|
||||||
|
jeschli-brauerei
|
||||||
|
];
|
||||||
repo = [ config.krebs.git.repos.stockholm ];
|
repo = [ config.krebs.git.repos.stockholm ];
|
||||||
perm = with git; push "refs/heads/staging/jeschli" [ fast-forward non-fast-forward create delete merge ];
|
perm = with git; push "refs/heads/staging/jeschli" [ fast-forward non-fast-forward create delete merge ];
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ in {
|
|||||||
default = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
|
default = "-*-clean-*-*-*-*-*-*-*-*-*-*-iso10646-1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config.services.xresources.resources.X = ''
|
config.krebs.xresources.resources.X = ''
|
||||||
*.font: ${config.lass.fonts.regular}
|
*.font: ${config.lass.fonts.regular}
|
||||||
*.boldFont: ${config.lass.fonts.bold}
|
*.boldFont: ${config.lass.fonts.bold}
|
||||||
*.italicFont: ${config.lass.fonts.italic}
|
*.italicFont: ${config.lass.fonts.italic}
|
||||||
@ -66,12 +66,12 @@ in {
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
acpi
|
acpi
|
||||||
|
bank
|
||||||
dic
|
dic
|
||||||
dmenu
|
dmenu
|
||||||
gi
|
gi
|
||||||
git-preview
|
git-preview
|
||||||
gitAndTools.qgit
|
gitAndTools.qgit
|
||||||
haskellPackages.hledger
|
|
||||||
lm_sensors
|
lm_sensors
|
||||||
mpv-poll
|
mpv-poll
|
||||||
much
|
much
|
||||||
@ -113,6 +113,6 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
services.urxvtd.enable = true;
|
services.urxvtd.enable = true;
|
||||||
services.xresources.enable = true;
|
krebs.xresources.enable = true;
|
||||||
lass.screenlock.enable = true;
|
lass.screenlock.enable = true;
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,9 @@ in {
|
|||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
config.krebs.users.lass.pubkey
|
config.krebs.users.lass.pubkey
|
||||||
config.krebs.users.lass-android.pubkey
|
config.krebs.users.lass-android.pubkey
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhQdDQFMxXOjbC+Avx3mlcFHqQpFUk/q9sO6ATA65jCV3YzN11vhZDDv54hABVS2h8TPXs7Lu3PCvK9qouASd2h4Ie9cExUmn50G/iwgFIODsCugVYBzVt1iwaAdwz1Hb9DKYXbVXanzVJjimmrrlQNvsyZg85lcnfyedpPX5ad+4FdSP68LHqEHC18LTitldR6V4P1omaKHlOtVpDgR/72tDgbtNZDBn3EU+TPk9OLTzjc6PinPw4iIvjEfiu14APwXpFDIqT7P7SjOEFpa0v/1z7dhxIy/Z9XbqyEdUfhv3PjZR5K2C+VzR7g6jVEVR2xFId51MpLv/Un4/lalbphBEw3I90Rr8tatOJiFhyrXbaKTcLqp1sIu05OxdPkm3hzfmLIhoKxhaIlXH7WQ9sAqxL1NAQ7O+J6yT4DMnwKzvpkkJjBaGtV84Pp1cccfNRH8XXID3FkWkrUpdgXWBpyLnRq4ilUJTajkU0GSdXkq8kLL3mWg9LPRTg3dmDj61ZB/qhjM61ppwHJvDRN9WI5HruXIU6nOQjh5yE2C/JZfLcsZD4Y1UDBy5/JSZrCVT2sQjFopkkYEkRCbX7oITHOH4iyRdxZkKWLUPboFrcmBpXO+owCEhO4JZrtfFWMC6qM++nrmiZWOrdIOIvdYHWluhKR2shlkisEKQP5pUqkw== markus.hihn@dcso.de"
|
config.krebs.users.jeschli-bln.pubkey
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1T5+2epslFARSnETdr4wdolA6ocJaD4H9tmz6BZFQKXlwIq+OMp+sSEdwYwW3Lu9+mNbBHPxVVJDWg/We9DXB0ezXPM5Bs1+FcehmkoGwkmgKaFCDt0sL+CfSnog/3wEkN21O/rQxVFqMmiJ7WUDGci6IKCFZ5ZjOsmmfHg5p3LYxU9xv33fNr2v+XauhrGbFtQ7eDz4kSywxN/aw73LN4d8em0V0UV8VPI3Qkw7MamDFwefA+K1TfK8pBzMeruU6N7HLuNkpkAp7kS+K4Zzd72aQtR37a5qMiFUbOxQ9B7iFypuPx0iu6ZwY1s/sM8t3kLmcDJ9O4FOTzlbpneet3as6iJ+Ckr/TlfKor2Tl5pWcXh2FXHoG8VUu5bYmIViJBrKihAlAQfQN0mJ9fdFTnCXVTtbYTy11s4eEVHgUlb7oSpgBnx5bnBONgApbsOX9zyoo8wz8KkZBcf1SQpkV5br8uUAHCcZtHuY6I3kKlv+8lJmgUipiYzMdTi7+dHa49gVEcEKL4ZnJ0msQkl4XT7JjKETLvumC4/TIqVuRu48wuYalkCR9OzxCsTXQ/msBJBztPdYLrEOXVb2HfzuCT+43UuMQ5rP/EoPy0TWQO9BaqfEXqvbOvWjVxj/GMvglQ2ChZTwHxwwTKB8qRVvJLnbZQwizQiSrkzjb6hRJfQ== u0_a165@localhost"
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1T5+2epslFARSnETdr4wdolA6ocJaD4H9tmz6BZFQKXlwIq+OMp+sSEdwYwW3Lu9+mNbBHPxVVJDWg/We9DXB0ezXPM5Bs1+FcehmkoGwkmgKaFCDt0sL+CfSnog/3wEkN21O/rQxVFqMmiJ7WUDGci6IKCFZ5ZjOsmmfHg5p3LYxU9xv33fNr2v+XauhrGbFtQ7eDz4kSywxN/aw73LN4d8em0V0UV8VPI3Qkw7MamDFwefA+K1TfK8pBzMeruU6N7HLuNkpkAp7kS+K4Zzd72aQtR37a5qMiFUbOxQ9B7iFypuPx0iu6ZwY1s/sM8t3kLmcDJ9O4FOTzlbpneet3as6iJ+Ckr/TlfKor2Tl5pWcXh2FXHoG8VUu5bYmIViJBrKihAlAQfQN0mJ9fdFTnCXVTtbYTy11s4eEVHgUlb7oSpgBnx5bnBONgApbsOX9zyoo8wz8KkZBcf1SQpkV5br8uUAHCcZtHuY6I3kKlv+8lJmgUipiYzMdTi7+dHa49gVEcEKL4ZnJ0msQkl4XT7JjKETLvumC4/TIqVuRu48wuYalkCR9OzxCsTXQ/msBJBztPdYLrEOXVb2HfzuCT+43UuMQ5rP/EoPy0TWQO9BaqfEXqvbOvWjVxj/GMvglQ2ChZTwHxwwTKB8qRVvJLnbZQwizQiSrkzjb6hRJfQ== u0_a165@localhost"
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCjtdqRxD0+UU7O8xogSqAQYd/Hrc79CTTKnvbhKy7jp2TVfxQpl81ndSH6DN6Cz90mu65C+DFGq43YtKTPqXmTn1+2wru71C2UOl6ZR0tmU7UELkRt4SJuFQLEgQCt3BWvXJPye6cKRRIlb+XZHWyVyCDxHo9EYO2GWI1wIP8mHMltKj65mobHY+R0CJNhhwlFURzTto8C30ejfVg2OW81qkNWqYtpdC9txLUlQ9/LBVKrafHGprmcBEp9qtecVgx8kxHpS7cuQNYoFcfljug4IyFO+uBfdbKqnGM5mra3huNhX3+AcQxKbLMlRgZD+jc47Xs+s5qSvWBou2ygd5T413k/SDOTCxDjidA+dcwzRo0qUWcGL201a5g+F0EvWv8rjre9m0lii6QKEoPyj60y3yfaIHeafels1Ia1FItjkBe8XydiXf7rKq8nmVRlpo8vl+vKwVuJY783tObHjUgBtXJdmnyYGiXxkxSrXa2mQhPz3KodK/QrnqCP27dURcMlp1hFF3LxFz7WtMCLW0yvDuUsuI2pdq0+zdt702wuwXVNIvbq/ssvX/CL8ryBLAogaxN9DN0vpjk+aXQLn11Zt99MgmnnqUgvOKQi1Quog/SxnSBiloKqB6aA10a28Uxoxkr0KAfhWhX3XPpfGMlbVj4GJuevLp0sGDVQT2biUQ== rhaist@RH-NB"
|
||||||
];
|
];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
emacs25-nox
|
emacs25-nox
|
||||||
|
125
lass/2configs/hw/brcmfmac4356-pcie.txt
Normal file
125
lass/2configs/hw/brcmfmac4356-pcie.txt
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# Sample variables file for BCM94356Z NGFF 22x30mm iPA, iLNA board with PCIe for production package
|
||||||
|
NVRAMRev=$Rev: 492104 $
|
||||||
|
#4356 chip = 4354 A2 chip
|
||||||
|
sromrev=11
|
||||||
|
boardrev=0x1102
|
||||||
|
boardtype=0x073e
|
||||||
|
boardflags=0x02400201
|
||||||
|
#0x2000 enable 2G spur WAR
|
||||||
|
boardflags2=0x00802000
|
||||||
|
boardflags3=0x0000000a
|
||||||
|
#boardflags3 0x00000100 /* to read swctrlmap from nvram*/
|
||||||
|
#define BFL3_5G_SPUR_WAR 0x00080000 /* enable spur WAR in 5G band */
|
||||||
|
#define BFL3_AvVim 0x40000000 /* load AvVim from nvram */
|
||||||
|
macaddr=00:90:4c:1a:10:01
|
||||||
|
ccode=0x5854
|
||||||
|
regrev=205
|
||||||
|
antswitch=0
|
||||||
|
pdgain5g=4
|
||||||
|
pdgain2g=4
|
||||||
|
tworangetssi2g=0
|
||||||
|
tworangetssi5g=0
|
||||||
|
paprdis=0
|
||||||
|
femctrl=10
|
||||||
|
vendid=0x14e4
|
||||||
|
devid=0x43ec
|
||||||
|
manfid=0x2d0
|
||||||
|
#prodid=0x052e
|
||||||
|
nocrc=1
|
||||||
|
otpimagesize=502
|
||||||
|
xtalfreq=37400
|
||||||
|
rxgains2gelnagaina0=0
|
||||||
|
rxgains2gtrisoa0=7
|
||||||
|
rxgains2gtrelnabypa0=0
|
||||||
|
rxgains5gelnagaina0=0
|
||||||
|
rxgains5gtrisoa0=11
|
||||||
|
rxgains5gtrelnabypa0=0
|
||||||
|
rxgains5gmelnagaina0=0
|
||||||
|
rxgains5gmtrisoa0=13
|
||||||
|
rxgains5gmtrelnabypa0=0
|
||||||
|
rxgains5ghelnagaina0=0
|
||||||
|
rxgains5ghtrisoa0=12
|
||||||
|
rxgains5ghtrelnabypa0=0
|
||||||
|
rxgains2gelnagaina1=0
|
||||||
|
rxgains2gtrisoa1=7
|
||||||
|
rxgains2gtrelnabypa1=0
|
||||||
|
rxgains5gelnagaina1=0
|
||||||
|
rxgains5gtrisoa1=10
|
||||||
|
rxgains5gtrelnabypa1=0
|
||||||
|
rxgains5gmelnagaina1=0
|
||||||
|
rxgains5gmtrisoa1=11
|
||||||
|
rxgains5gmtrelnabypa1=0
|
||||||
|
rxgains5ghelnagaina1=0
|
||||||
|
rxgains5ghtrisoa1=11
|
||||||
|
rxgains5ghtrelnabypa1=0
|
||||||
|
rxchain=3
|
||||||
|
txchain=3
|
||||||
|
aa2g=3
|
||||||
|
aa5g=3
|
||||||
|
agbg0=2
|
||||||
|
agbg1=2
|
||||||
|
aga0=2
|
||||||
|
aga1=2
|
||||||
|
tssipos2g=1
|
||||||
|
extpagain2g=2
|
||||||
|
tssipos5g=1
|
||||||
|
extpagain5g=2
|
||||||
|
tempthresh=255
|
||||||
|
tempoffset=255
|
||||||
|
rawtempsense=0x1ff
|
||||||
|
pa2ga0=-147,6192,-705
|
||||||
|
pa2ga1=-161,6041,-701
|
||||||
|
pa5ga0=-194,6069,-739,-188,6137,-743,-185,5931,-725,-171,5898,-715
|
||||||
|
pa5ga1=-190,6248,-757,-190,6275,-759,-190,6225,-757,-184,6131,-746
|
||||||
|
subband5gver=0x4
|
||||||
|
pdoffsetcckma0=0x4
|
||||||
|
pdoffsetcckma1=0x4
|
||||||
|
pdoffset40ma0=0x0000
|
||||||
|
pdoffset80ma0=0x0000
|
||||||
|
pdoffset40ma1=0x0000
|
||||||
|
pdoffset80ma1=0x0000
|
||||||
|
maxp2ga0=76
|
||||||
|
maxp5ga0=74,74,74,74
|
||||||
|
maxp2ga1=76
|
||||||
|
maxp5ga1=74,74,74,74
|
||||||
|
cckbw202gpo=0x0000
|
||||||
|
cckbw20ul2gpo=0x0000
|
||||||
|
mcsbw202gpo=0x99644422
|
||||||
|
mcsbw402gpo=0x99644422
|
||||||
|
dot11agofdmhrbw202gpo=0x6666
|
||||||
|
ofdmlrbw202gpo=0x0022
|
||||||
|
mcsbw205glpo=0x88766663
|
||||||
|
mcsbw405glpo=0x88666663
|
||||||
|
mcsbw805glpo=0xbb666665
|
||||||
|
mcsbw205gmpo=0xd8666663
|
||||||
|
mcsbw405gmpo=0x88666663
|
||||||
|
mcsbw805gmpo=0xcc666665
|
||||||
|
mcsbw205ghpo=0xdc666663
|
||||||
|
mcsbw405ghpo=0xaa666663
|
||||||
|
mcsbw805ghpo=0xdd666665
|
||||||
|
mcslr5glpo=0x0000
|
||||||
|
mcslr5gmpo=0x0000
|
||||||
|
mcslr5ghpo=0x0000
|
||||||
|
sb20in40hrpo=0x0
|
||||||
|
sb20in80and160hr5glpo=0x0
|
||||||
|
sb40and80hr5glpo=0x0
|
||||||
|
sb20in80and160hr5gmpo=0x0
|
||||||
|
sb40and80hr5gmpo=0x0
|
||||||
|
sb20in80and160hr5ghpo=0x0
|
||||||
|
sb40and80hr5ghpo=0x0
|
||||||
|
sb20in40lrpo=0x0
|
||||||
|
sb20in80and160lr5glpo=0x0
|
||||||
|
sb40and80lr5glpo=0x0
|
||||||
|
sb20in80and160lr5gmpo=0x0
|
||||||
|
sb40and80lr5gmpo=0x0
|
||||||
|
sb20in80and160lr5ghpo=0x0
|
||||||
|
sb40and80lr5ghpo=0x0
|
||||||
|
dot11agduphrpo=0x0
|
||||||
|
dot11agduplrpo=0x0
|
||||||
|
phycal_tempdelta=255
|
||||||
|
temps_period=15
|
||||||
|
temps_hysteresis=15
|
||||||
|
rssicorrnorm_c0=4,4
|
||||||
|
rssicorrnorm_c1=4,4
|
||||||
|
rssicorrnorm5g_c0=1,2,3,1,2,3,6,6,8,6,6,8
|
||||||
|
rssicorrnorm5g_c1=1,2,3,2,2,2,7,7,8,7,7,8
|
@ -4,7 +4,7 @@ with import <stockholm/lib>;
|
|||||||
{
|
{
|
||||||
services.urxvtd.enable = true;
|
services.urxvtd.enable = true;
|
||||||
|
|
||||||
services.xresources.resources.urxvt = ''
|
krebs.xresources.resources.urxvt = ''
|
||||||
URxvt*SaveLines: 4096
|
URxvt*SaveLines: 4096
|
||||||
URxvt*scrollBar: false
|
URxvt*scrollBar: false
|
||||||
URxvt*urgentOnBell: true
|
URxvt*urgentOnBell: true
|
||||||
|
@ -26,15 +26,6 @@ in {
|
|||||||
./default.nix
|
./default.nix
|
||||||
./sqlBackup.nix
|
./sqlBackup.nix
|
||||||
(servePage [ "reich-gebaeudereinigung.de" "www.reich-gebaeudereinigung.de" ])
|
(servePage [ "reich-gebaeudereinigung.de" "www.reich-gebaeudereinigung.de" ])
|
||||||
(servePage [
|
|
||||||
"karlaskop.de"
|
|
||||||
"www.karlaskop.de"
|
|
||||||
])
|
|
||||||
(servePage [ "makeup.apanowicz.de" ])
|
|
||||||
(servePage [
|
|
||||||
"pixelpocket.de"
|
|
||||||
"www.pixelpocket.de"
|
|
||||||
])
|
|
||||||
(servePage [
|
(servePage [
|
||||||
"habsys.de"
|
"habsys.de"
|
||||||
"habsys.eu"
|
"habsys.eu"
|
||||||
@ -48,22 +39,18 @@ in {
|
|||||||
"nirwanabluete.de"
|
"nirwanabluete.de"
|
||||||
"aldonasiech.com"
|
"aldonasiech.com"
|
||||||
"ubikmedia.eu"
|
"ubikmedia.eu"
|
||||||
"facts.cloud"
|
|
||||||
"youthtube.xyz"
|
"youthtube.xyz"
|
||||||
"illucloud.eu"
|
|
||||||
"illucloud.de"
|
|
||||||
"illucloud.com"
|
|
||||||
"joemisch.com"
|
"joemisch.com"
|
||||||
|
"weirdwednesday.de"
|
||||||
|
|
||||||
"www.apanowicz.de"
|
"www.apanowicz.de"
|
||||||
"www.nirwanabluete.de"
|
"www.nirwanabluete.de"
|
||||||
"www.aldonasiech.com"
|
"www.aldonasiech.com"
|
||||||
"www.ubikmedia.eu"
|
"www.ubikmedia.eu"
|
||||||
"www.facts.cloud"
|
|
||||||
"www.youthtube.xyz"
|
"www.youthtube.xyz"
|
||||||
"www.illucloud.eu"
|
|
||||||
"www.illucloud.de"
|
|
||||||
"www.illucloud.com"
|
|
||||||
"www.ubikmedia.de"
|
"www.ubikmedia.de"
|
||||||
|
"www.weirdwednesday.de"
|
||||||
|
|
||||||
"aldona2.ubikmedia.de"
|
"aldona2.ubikmedia.de"
|
||||||
"apanowicz.ubikmedia.de"
|
"apanowicz.ubikmedia.de"
|
||||||
"cinevita.ubikmedia.de"
|
"cinevita.ubikmedia.de"
|
||||||
@ -74,8 +61,6 @@ in {
|
|||||||
"nb.ubikmedia.de"
|
"nb.ubikmedia.de"
|
||||||
"youthtube.ubikmedia.de"
|
"youthtube.ubikmedia.de"
|
||||||
"weirdwednesday.ubikmedia.de"
|
"weirdwednesday.ubikmedia.de"
|
||||||
"weirdwednesday.de"
|
|
||||||
"www.weirdwednesday.de"
|
|
||||||
"freemonkey.ubikmedia.de"
|
"freemonkey.ubikmedia.de"
|
||||||
"jarugadesign.ubikmedia.de"
|
"jarugadesign.ubikmedia.de"
|
||||||
])
|
])
|
||||||
|
@ -12,6 +12,5 @@ _:
|
|||||||
./umts.nix
|
./umts.nix
|
||||||
./usershadow.nix
|
./usershadow.nix
|
||||||
./xserver
|
./xserver
|
||||||
./xresources.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,6 @@ let
|
|||||||
imp = {
|
imp = {
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
# Don't install feh into systemPackages
|
|
||||||
# refs <nixpkgs/nixos/modules/services/x11/desktop-managers>
|
|
||||||
desktopManager.session = mkForce [];
|
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
display = 11;
|
display = 11;
|
||||||
tty = 11;
|
tty = 11;
|
||||||
@ -80,7 +76,7 @@ let
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services.xresources.resources.dpi = ''
|
krebs.xresources.resources.dpi = ''
|
||||||
${optionalString (xcfg.dpi != null) "Xft.dpi: ${toString xcfg.dpi}"}
|
${optionalString (xcfg.dpi != null) "Xft.dpi: ${toString xcfg.dpi}"}
|
||||||
'';
|
'';
|
||||||
systemd.services.urxvtd = {
|
systemd.services.urxvtd = {
|
||||||
|
@ -21,6 +21,17 @@
|
|||||||
xmonad-lass = import ./xmonad-lass.nix { inherit config pkgs; };
|
xmonad-lass = import ./xmonad-lass.nix { inherit config pkgs; };
|
||||||
yt-next = pkgs.callPackage ./yt-next/default.nix {};
|
yt-next = pkgs.callPackage ./yt-next/default.nix {};
|
||||||
|
|
||||||
|
bank = pkgs.writeDashBin "bank" ''
|
||||||
|
tmp=$(mktemp)
|
||||||
|
${pkgs.pass}/bin/pass show hledger > $tmp
|
||||||
|
${pkgs.hledger}/bin/hledger --file=$tmp "$@"
|
||||||
|
${pkgs.pass}/bin/pass show hledger | if ${pkgs.diffutils}/bin/diff $tmp -; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
${pkgs.coreutils}/bin/cat $tmp | ${pkgs.pass}/bin/pass insert -m hledger
|
||||||
|
fi
|
||||||
|
${pkgs.coreutils}/bin/rm $tmp
|
||||||
|
'';
|
||||||
screengrab = pkgs.writeDashBin "screengrab" ''
|
screengrab = pkgs.writeDashBin "screengrab" ''
|
||||||
resolution="$(${pkgs.xorg.xrandr}/bin/xrandr | ${pkgs.gnugrep}/bin/grep '*' | ${pkgs.gawk}/bin/awk '{print $1}')"
|
resolution="$(${pkgs.xorg.xrandr}/bin/xrandr | ${pkgs.gnugrep}/bin/grep '*' | ${pkgs.gawk}/bin/awk '{print $1}')"
|
||||||
${pkgs.ffmpeg}/bin/ffmpeg -f x11grab -r 25 -i :${toString config.services.xserver.display} -s $resolution -c:v huffyuv $1
|
${pkgs.ffmpeg}/bin/ffmpeg -f x11grab -r 25 -i :${toString config.services.xserver.display} -s $resolution -c:v huffyuv $1
|
||||||
|
@ -10,11 +10,14 @@ in
|
|||||||
nixos-config.symlink = "stockholm/lass/1systems/${name}/config.nix";
|
nixos-config.symlink = "stockholm/lass/1systems/${name}/config.nix";
|
||||||
nixpkgs.git = {
|
nixpkgs.git = {
|
||||||
url = https://github.com/nixos/nixpkgs;
|
url = https://github.com/nixos/nixpkgs;
|
||||||
ref = "cb751f9";
|
ref = "53e6d67";
|
||||||
};
|
};
|
||||||
secrets.file = getAttr builder {
|
secrets = getAttr builder {
|
||||||
buildbot = toString <stockholm/lass/2configs/tests/dummy-secrets>;
|
buildbot.file = toString <stockholm/lass/2configs/tests/dummy-secrets>;
|
||||||
lass = "/home/lass/secrets/${name}";
|
lass.pass = {
|
||||||
|
dir = "${getEnv "HOME"}/.password-store";
|
||||||
|
name = "hosts/${name}";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
stockholm.file = toString <stockholm>;
|
stockholm.file = toString <stockholm>;
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@ with lib;
|
|||||||
<stockholm/nin/2configs/git.nix>
|
<stockholm/nin/2configs/git.nix>
|
||||||
<stockholm/nin/2configs/retiolum.nix>
|
<stockholm/nin/2configs/retiolum.nix>
|
||||||
<stockholm/nin/2configs/termite.nix>
|
<stockholm/nin/2configs/termite.nix>
|
||||||
<stockholm/nin/2configs/skype.nix>
|
|
||||||
];
|
];
|
||||||
|
|
||||||
krebs.build.host = config.krebs.hosts.hiawatha;
|
krebs.build.host = config.krebs.hosts.hiawatha;
|
||||||
@ -87,6 +86,7 @@ with lib;
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
git
|
git
|
||||||
|
lmms
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
python
|
python
|
||||||
steam
|
steam
|
||||||
|
@ -4,6 +4,7 @@ with import <stockholm/lib>;
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../2configs/vim.nix
|
../2configs/vim.nix
|
||||||
|
<stockholm/krebs/2configs/binary-cache/nixos.nix>
|
||||||
<stockholm/krebs/2configs/binary-cache/prism.nix>
|
<stockholm/krebs/2configs/binary-cache/prism.nix>
|
||||||
{
|
{
|
||||||
users.extraUsers =
|
users.extraUsers =
|
||||||
|
@ -40,8 +40,8 @@ let
|
|||||||
post-receive = pkgs.git-hooks.irc-announce {
|
post-receive = pkgs.git-hooks.irc-announce {
|
||||||
# TODO make nick = config.krebs.build.host.name the default
|
# TODO make nick = config.krebs.build.host.name the default
|
||||||
nick = config.krebs.build.host.name;
|
nick = config.krebs.build.host.name;
|
||||||
channel = "#retiolum";
|
channel = "#xxx";
|
||||||
server = "ni.r";
|
server = "irc.r";
|
||||||
verbose = config.krebs.build.host.name == "onondaga";
|
verbose = config.krebs.build.host.name == "onondaga";
|
||||||
# TODO define branches in some kind of option per repo
|
# TODO define branches in some kind of option per repo
|
||||||
branches = [ "master" ];
|
branches = [ "master" ];
|
||||||
|
@ -14,6 +14,6 @@ in
|
|||||||
stockholm.file = toString <stockholm>;
|
stockholm.file = toString <stockholm>;
|
||||||
nixpkgs.git = {
|
nixpkgs.git = {
|
||||||
url = https://github.com/nixos/nixpkgs;
|
url = https://github.com/nixos/nixpkgs;
|
||||||
ref = "c99239b";
|
ref = "afe9649";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user