Merge branch 'master' of prism:stockholm
This commit is contained in:
commit
6c15e8fe7b
|
@ -1,7 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
# bln config file
|
||||
{
|
||||
imports = [
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
<stockholm/jeschli>
|
||||
<stockholm/jeschli/2configs/virtualbox.nix>
|
||||
|
@ -106,6 +106,8 @@
|
|||
services.printing.enable = true;
|
||||
services.printing.drivers = [ pkgs.postscript-lexmark ];
|
||||
|
||||
services.redis.enable = true;
|
||||
|
||||
services.xserver = {
|
||||
|
||||
desktopManager.session = lib.mkForce [];
|
||||
|
|
|
@ -30,7 +30,7 @@ in {
|
|||
jeschli-bln.pubkey
|
||||
jeschli-brauerei.pubkey
|
||||
];
|
||||
packages = [ tmux ];
|
||||
packages = [ tmux ];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -29,11 +29,11 @@ with import <stockholm/lib>;
|
|||
*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=${toString config.jeschliFontSize}
|
||||
URXvt*faceSize: ${toString config.jeschliFontSize}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ with import <stockholm/lib>;
|
|||
|
||||
pkgs.writeText "Xresources" /* xdefaults */ ''
|
||||
Xcursor.theme: aero-large-drop
|
||||
Xcursor.size: 128
|
||||
Xcursor.size: 128
|
||||
Xft.dpi: 144
|
||||
|
||||
URxvt*cutchars: "\\`\"'&()*,;<=>?@[]^{|}‘’"
|
||||
|
|
|
@ -90,7 +90,7 @@ mainNoArgs = do
|
|||
, startupHook = do
|
||||
setWMName "LG3D"
|
||||
whenJustM (liftIO (lookupEnv "XMONAD_STARTUP_HOOK"))
|
||||
(\path -> forkFile path [] Nothing) <+> setWMName "LG3D"
|
||||
(\path -> forkFile path [] Nothing) <+> setWMName "LG3D"
|
||||
, normalBorderColor = "#1c1c1c"
|
||||
, focusedBorderColor = "#f000b0"
|
||||
, handleEventHook = handleShutdownEvent
|
||||
|
@ -150,7 +150,7 @@ myKeys conf = Map.fromList $
|
|||
, ((_S , xK_Print ), gets windowset >>= allWorkspaceNames >>= pager pagerConfig (windows . W.shift) )
|
||||
, ((_C , xK_Print ), toggleWS)
|
||||
, ((_4 , xK_Print ), rhombus horseConfig (liftIO . hPutStrLn stderr) ["Correct", "Horse", "Battery", "Staple", "Stuhl", "Tisch"] )
|
||||
|
||||
|
||||
-- %! Rotate through the available layout algorithms
|
||||
, ((_4 , xK_space ), sendMessage NextLayout)
|
||||
, ((_4S , xK_space ), setLayout $ XMonad.layoutHook conf) -- reset layout
|
||||
|
@ -222,7 +222,7 @@ myKeys conf = Map.fromList $
|
|||
pagerConfig :: PagerConfig
|
||||
pagerConfig = def
|
||||
{ pc_font = myFont
|
||||
, pc_cellwidth = 256
|
||||
, pc_cellwidth = 256
|
||||
--, pc_cellheight = 36 -- TODO automatically keep screen aspect
|
||||
--, pc_borderwidth = 1
|
||||
--, pc_matchcolor = "#f0b000"
|
||||
|
|
|
@ -13,6 +13,9 @@ with import <stockholm/lib>;
|
|||
};
|
||||
plugins = with pkgs.ReaktorPlugins; [
|
||||
sed-plugin
|
||||
task-add
|
||||
task-delete
|
||||
task-list
|
||||
] ++
|
||||
(attrValues (todo "agenda"))
|
||||
;
|
||||
|
|
|
@ -10,6 +10,9 @@ with import <stockholm/lib>;
|
|||
};
|
||||
plugins = with pkgs.ReaktorPlugins; [
|
||||
sed-plugin
|
||||
task-add
|
||||
task-delete
|
||||
task-list
|
||||
] ++
|
||||
(attrValues (todo "agenda"))
|
||||
;
|
||||
|
|
|
@ -121,26 +121,56 @@ rec {
|
|||
pattern = "^.*(?P<args>http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$";
|
||||
path = with pkgs; [ curl perl ];
|
||||
script = pkgs.writePython3 "url-title" [ "beautifulsoup4" "lxml" ] ''
|
||||
import cgi
|
||||
import sys
|
||||
import urllib.request
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
try:
|
||||
soup = BeautifulSoup(urllib.request.urlopen(sys.argv[1]), "lxml")
|
||||
title = soup.find('title').string
|
||||
req = urllib.request.Request(sys.argv[1])
|
||||
req.add_header('user-agent', 'Reaktor-url-title')
|
||||
resp = urllib.request.urlopen(req)
|
||||
if resp.headers['content-type'].find('text/html') >= 0:
|
||||
soup = BeautifulSoup(resp.read(16000), "lxml")
|
||||
title = soup.find('title').string
|
||||
|
||||
if title:
|
||||
if len(title) > 512:
|
||||
print('message to long, skipped')
|
||||
elif len(title.split('\n')) > 5:
|
||||
print('to many lines, skipped')
|
||||
else:
|
||||
print(title)
|
||||
if len(title.split('\n')) > 5:
|
||||
title = '\n'.join(title.split('\n')[:5])
|
||||
|
||||
print(title[:450])
|
||||
else:
|
||||
cd_header = resp.headers['content-disposition']
|
||||
print(cgi.parse_header(cd_header)[1]['filename'])
|
||||
except: # noqa: E722
|
||||
pass
|
||||
'';
|
||||
});
|
||||
|
||||
taskrcFile = builtins.toFile "taskrc" ''
|
||||
confirmation=no
|
||||
'';
|
||||
|
||||
task-add = buildSimpleReaktorPlugin "task-add" {
|
||||
pattern = "^task-add: (?P<args>.*)$$";
|
||||
script = pkgs.writeDash "task-add" ''
|
||||
${pkgs.taskwarrior}/bin/task rc:${taskrcFile} add "$*"
|
||||
'';
|
||||
};
|
||||
|
||||
task-list = buildSimpleReaktorPlugin "task-list" {
|
||||
pattern = "^task-list";
|
||||
script = pkgs.writeDash "task-list" ''
|
||||
${pkgs.taskwarrior}/bin/task rc:${taskrcFile} list
|
||||
'';
|
||||
};
|
||||
|
||||
task-delete = buildSimpleReaktorPlugin "task-delete" {
|
||||
pattern = "^task-remove: (?P<args>.*)$$";
|
||||
script = pkgs.writeDash "task-delete" ''
|
||||
${pkgs.taskwarrior}/bin/task rc:${taskrcFile} delete "$*"
|
||||
'';
|
||||
};
|
||||
|
||||
todo = name: {
|
||||
add = buildSimpleReaktorPlugin "${name}-add" {
|
||||
pattern = "^${name}-add: (?P<args>.*)$$";
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
fetchgit {
|
||||
url = https://cgit.krebsco.de/krops;
|
||||
rev = "refs/tags/v1.0.0";
|
||||
sha256 = "0ahp3fxb3l1vcjylxw0cd0f4hfp98bxskkf3z9d37hl3m7v4pcb4";
|
||||
rev = "refs/tags/v1.1.0";
|
||||
sha256 = "19z5385rdci2bj0l7ksjbgyj84vsb29kz87j9x6vj5vv16y7y4ll";
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
krebs-source = {
|
||||
nixpkgs.git = {
|
||||
ref = "91b286c8935b8c5df4a99302715200d3bd561977";
|
||||
ref = "56fad146a12a6f934d1d5ef875eb729be1b19129";
|
||||
url = https://github.com/NixOS/nixpkgs;
|
||||
};
|
||||
stockholm.file = toString ../.;
|
||||
|
|
|
@ -71,6 +71,9 @@ with import <stockholm/lib>;
|
|||
hashPassword
|
||||
thunderbird
|
||||
dpass
|
||||
|
||||
# we want tensorflow! (with GPU acceleration)
|
||||
python3Packages.tensorflowWithCuda
|
||||
];
|
||||
|
||||
users.users = {
|
||||
|
|
|
@ -55,6 +55,7 @@ with import <stockholm/lib>;
|
|||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts.default = {
|
||||
default = true;
|
||||
serverAliases = [
|
||||
"localhost"
|
||||
"${config.krebs.build.host.name}"
|
||||
|
@ -80,9 +81,6 @@ with import <stockholm/lib>;
|
|||
client.enable = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
services.mongodb.enable = true;
|
||||
}
|
||||
];
|
||||
|
||||
krebs.build.host = config.krebs.hosts.mors;
|
||||
|
@ -180,4 +178,9 @@ with import <stockholm/lib>;
|
|||
};
|
||||
});
|
||||
virtualisation.libvirtd.enable = true;
|
||||
|
||||
services.earlyoom = {
|
||||
enable = true;
|
||||
freeMemThreshold = 5;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -315,21 +315,6 @@ with import <stockholm/lib>;
|
|||
};
|
||||
};
|
||||
}
|
||||
{ #weechat port forwarding to blue
|
||||
krebs.iptables.tables.filter.INPUT.rules = [
|
||||
{ predicate = "-p tcp --dport 9998"; target = "ACCEPT";}
|
||||
];
|
||||
krebs.iptables.tables.nat.PREROUTING.rules = [
|
||||
{ v6 = false; precedence = 1000; predicate = "-d ${config.krebs.hosts.prism.nets.internet.ip4.addr} -p tcp --dport 9998"; target = "DNAT --to-destination ${config.krebs.hosts.blue.nets.retiolum.ip4.addr}:9999"; }
|
||||
];
|
||||
krebs.iptables.tables.filter.FORWARD.rules = [
|
||||
{ v6 = false; precedence = 1000; predicate = "-d ${config.krebs.hosts.blue.nets.retiolum.ip4.addr} -p tcp --dport 9999"; target = "ACCEPT"; }
|
||||
{ v6 = false; precedence = 1000; predicate = "-s ${config.krebs.hosts.blue.nets.retiolum.ip4.addr}"; target = "ACCEPT"; }
|
||||
];
|
||||
krebs.iptables.tables.nat.POSTROUTING.rules = [
|
||||
{ v6 = false; predicate = "-d ${config.krebs.hosts.blue.nets.retiolum.ip4.addr} -p tcp --dport 9999"; target = "MASQUERADE"; }
|
||||
];
|
||||
}
|
||||
{
|
||||
krebs.iptables.tables.filter.INPUT.rules = [
|
||||
{ predicate = "-p udp --dport 51820"; target = "ACCEPT"; }
|
||||
|
@ -376,4 +361,8 @@ with import <stockholm/lib>;
|
|||
krebs.build.host = config.krebs.hosts.prism;
|
||||
# workaround because grub store paths are broken
|
||||
boot.copyKernels = true;
|
||||
services.earlyoom = {
|
||||
enable = true;
|
||||
freeMemThreshold = 5;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ in {
|
|||
}
|
||||
( createQuteUser "qb" [ "audio" ] 20 )
|
||||
( createFirefoxUser "ff" [ "audio" ] 10 )
|
||||
( createChromiumUser "cr" [ "audio" ] 9 )
|
||||
( createChromiumUser "cr" [ "audio" "video" ] 9 )
|
||||
( createChromiumUser "gm" [ "video" "audio" ] 8 )
|
||||
( createChromiumUser "wk" [ "audio" ] 0 )
|
||||
( createChromiumUser "fb" [ "audio" ] 0 )
|
||||
|
|
|
@ -9,7 +9,7 @@ in {
|
|||
dev = {
|
||||
name = "dev";
|
||||
uid = genid "dev";
|
||||
extraGroups = [ "docker" ];
|
||||
extraGroups = [ "docker" "vboxusers" ];
|
||||
description = "user for collaborative development";
|
||||
home = "/home/dev";
|
||||
useDefaultShell = true;
|
||||
|
@ -17,6 +17,7 @@ in {
|
|||
openssh.authorizedKeys.keys = [
|
||||
config.krebs.users.lass.pubkey
|
||||
config.krebs.users.lass-android.pubkey
|
||||
config.krebs.users.lass-mors.pubkey
|
||||
config.krebs.users.jeschli-bln.pubkey
|
||||
config.krebs.users.jeschli-brauerei.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"
|
||||
|
@ -60,8 +61,15 @@ in {
|
|||
${mainUser.name} ALL=(dev) NOPASSWD: ALL
|
||||
'';
|
||||
|
||||
services.rabbitmq.enable = true;
|
||||
networking.interfaces.et0.ipv4.addresses = [
|
||||
{ address = "10.99.23.1"; prefixLength = 24; }
|
||||
];
|
||||
virtualisation.docker.enable = true;
|
||||
environment.etc."docker/daemon.json".source = pkgs.writeText "daemon.json" ''
|
||||
{
|
||||
"bip": "172.25.0.1/16"
|
||||
}
|
||||
'';
|
||||
services.rabbitmq.enable = true;
|
||||
services.postgresql.enable = true;
|
||||
}
|
||||
|
|
|
@ -83,6 +83,7 @@ with import <stockholm/lib>;
|
|||
{ from = "elitedangerous@lassul.us"; to = lass.mail; }
|
||||
{ from = "boardgamegeek@lassul.us"; to = lass.mail; }
|
||||
{ from = "qwertee@lassul.us"; to = lass.mail; }
|
||||
{ from = "zazzle@lassul.us"; to = lass.mail; }
|
||||
];
|
||||
system-aliases = [
|
||||
{ from = "mailer-daemon"; to = "postmaster"; }
|
||||
|
|
|
@ -30,6 +30,14 @@ let
|
|||
rules = concatMap make-rules (attrValues repos);
|
||||
|
||||
public-repos = mapAttrs make-public-repo {
|
||||
cholerab = {
|
||||
cgit.desc = "krebs thesauron & enterprise-patterns";
|
||||
cgit.section = "documentation";
|
||||
};
|
||||
disko = {
|
||||
cgit.desc = "take a description of your disk layout and produce a format script";
|
||||
cgit.section = "software";
|
||||
};
|
||||
news = {
|
||||
cgit.desc = "take a rss feed and a timeout and print it to stdout";
|
||||
cgit.section = "software";
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
with import <stockholm/lib>;
|
||||
let
|
||||
unstable_nixpkgs = import (pkgs.fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs";
|
||||
rev = "a8c71037e041725d40fbf2f3047347b6833b1703";
|
||||
sha256 = "1z4cchcw7qgjhy0x6mnz7iqvpswc2nfjpdynxc54zpm66khfrjqw";
|
||||
}) {};
|
||||
out = {
|
||||
environment.systemPackages = [
|
||||
(hiPrio vim)
|
||||
|
@ -9,6 +15,10 @@ let
|
|||
(pkgs.writeDashBin "govet" ''
|
||||
go vet "$@"
|
||||
'')
|
||||
(hiPrio (unstable_nixpkgs.python3.withPackages (ps: [
|
||||
ps.python-language-server
|
||||
ps.pyls-isort
|
||||
])))
|
||||
];
|
||||
|
||||
environment.etc.vimrc.source = vimrc;
|
||||
|
@ -68,11 +78,17 @@ let
|
|||
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'
|
||||
"let g:syntastic_python_checkers=['flake8']
|
||||
"let g:syntastic_python_flake8_post_args='--ignore=E501'
|
||||
|
||||
let g:go_metalinter_autosave = 1
|
||||
let g:go_metalinter_deadline = "10s"
|
||||
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
|
||||
set hidden
|
||||
let g:LanguageClient_serverCommands = {
|
||||
\ 'python': ['pyls'],
|
||||
\ 'go': ['~/go/bin/go-langserver']
|
||||
\ }
|
||||
|
||||
let g:LanguageClient_diagnosticsDisplay = { 2: { "signText": "W" } }
|
||||
|
||||
nmap <esc>q :buffer
|
||||
nmap <M-q> :buffer
|
||||
|
@ -115,9 +131,11 @@ let
|
|||
extra-runtimepath = concatMapStringsSep "," (pkg: "${pkg.rtp}") [
|
||||
pkgs.vimPlugins.ack-vim
|
||||
pkgs.vimPlugins.Gundo
|
||||
pkgs.vimPlugins.Syntastic
|
||||
#pkgs.vimPlugins.Syntastic
|
||||
pkgs.vimPlugins.undotree
|
||||
pkgs.vimPlugins.vim-go
|
||||
pkgs.vimPlugins.fzf-vim
|
||||
unstable_nixpkgs.vimPlugins.LanguageClient-neovim
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "file-line-1.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
|
|
|
@ -119,6 +119,7 @@ in {
|
|||
{ from = "ms@ubikmedia.eu"; to = "ms"; }
|
||||
{ from = "ubik@ubikmedia.eu"; to = "domsen, jms, ms"; }
|
||||
{ from = "akayguen@freemonkey.art"; to ="akayguen"; }
|
||||
{ from = "bui@freemonkey.art"; to ="bui"; }
|
||||
|
||||
{ from = "testuser@lassul.us"; to = "testuser"; }
|
||||
{ from = "testuser@ubikmedia.eu"; to = "testuser"; }
|
||||
|
@ -183,5 +184,12 @@ in {
|
|||
createHome = true;
|
||||
};
|
||||
|
||||
users.users.bui = {
|
||||
uid = genid_signed "bui";
|
||||
home = "/home/bui";
|
||||
useDefaultShell = true;
|
||||
createHome = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -66,6 +66,22 @@ in {
|
|||
locations."/tinc".extraConfig = ''
|
||||
alias ${config.krebs.tinc_graphs.workingDir}/external;
|
||||
'';
|
||||
locations."/urlaubyay2018".extraConfig = ''
|
||||
autoindex on;
|
||||
alias /srv/http/lassul.us-media/india2018;
|
||||
auth_basic "Restricted Content";
|
||||
auth_basic_user_file ${pkgs.writeText "pics-user-pass" ''
|
||||
paolo:$apr1$aQ6mYNR3$ho.aJ7icqSO.y.xKo3GQf0
|
||||
''};
|
||||
'';
|
||||
locations."/heilstadt".extraConfig = ''
|
||||
autoindex on;
|
||||
alias /srv/http/lassul.us-media/grabowsee2018;
|
||||
auth_basic "Restricted Content";
|
||||
auth_basic_user_file ${pkgs.writeText "pics-user-pass" ''
|
||||
c-base:$apr1$aQ6mYNR3$ho.aJ7icqSO.y.xKo3GQf0
|
||||
''};
|
||||
'';
|
||||
# TODO make this work!
|
||||
locations."= /ddate".extraConfig = let
|
||||
script = pkgs.writeBash "test" ''
|
||||
|
|
|
@ -26,18 +26,15 @@ with import <stockholm/lib>;
|
|||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/mapper/wuvga-root";
|
||||
fsType = "btrfs";
|
||||
options = ["defaults" "noatime" "ssd" "compress=lzo"];
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/bku" = {
|
||||
device = "/dev/mapper/wuvga-bku";
|
||||
fsType = "btrfs";
|
||||
options = ["defaults" "noatime" "ssd" "compress=lzo"];
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/home" = {
|
||||
device = "/dev/mapper/wuvga-home";
|
||||
fsType = "btrfs";
|
||||
options = ["defaults" "noatime" "ssd" "compress=lzo"];
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/sda1";
|
||||
|
|
|
@ -32,6 +32,9 @@ let {
|
|||
dic = {
|
||||
cgit.desc = "dict.leo.org command line interface";
|
||||
};
|
||||
disko = {
|
||||
cgit.desc = "declarative partitioning and formatting tool";
|
||||
};
|
||||
get = {};
|
||||
hstool = {
|
||||
cgit.desc = "Haskell Development Environment ^_^";
|
||||
|
|
Loading…
Reference in a new issue