Merge branch 'master' of prism.r:stockholm
This commit is contained in:
commit
9bb628406d
@ -5,6 +5,5 @@ with import <stockholm/lib>;
|
||||
krebs.ci.enable = true;
|
||||
krebs.ci.treeStableTimer = 1;
|
||||
krebs.ci.hosts = filter (getAttr "ci") (attrValues config.krebs.hosts);
|
||||
krebs.ci.tests = [ "deploy" ];
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ with import <stockholm/lib>;
|
||||
60 IN NS ns16.ovh.net.
|
||||
60 IN NS dns16.ovh.net.
|
||||
60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
|
||||
60 IN TXT v=spf1 mx -all
|
||||
60 IN TXT v=spf1 mx a:lassul.us -all
|
||||
cgit 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
|
||||
io 60 IN NS ions.lassul.us.
|
||||
ions 60 IN A ${config.krebs.hosts.prism.nets.internet.ip4.addr}
|
||||
@ -618,6 +618,47 @@ with import <stockholm/lib>;
|
||||
ssh.privkey.path = <secrets/ssh.id_ed25519>;
|
||||
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE5HyLyaIvVH0qHIQ4ciKhDiElhSqsK+uXcA6lTvL+5n";
|
||||
};
|
||||
cabal = {
|
||||
cores = 2;
|
||||
nets = rec {
|
||||
retiolum = {
|
||||
ip4.addr = "10.243.1.4";
|
||||
ip6.addr = "42::1:4";
|
||||
aliases = [
|
||||
"cabal.r"
|
||||
];
|
||||
tinc.pubkey = ''
|
||||
-----BEGIN RSA PUBLIC KEY-----
|
||||
MIIECgKCBAEAukXm8xPpC6/F+wssYqQbqt1QDwsPrF3TJ9ToLFcN1WgDlhDhjM3A
|
||||
SuRDMNjRT1fvVTuXyplH5g16eokW/yLOpNnznMS3/VR372pLPEOqfuRf7wAy18jj
|
||||
rZkW3EO7nyZ8KMb+SXA8Q0KIpHY50Ezh+tqGoTZDICwoK6N5dKLgAZShS55JXwwK
|
||||
qRG3vyzV3mDjgVyT0FNfyL1/BN1qvJ+tQQ40lEbkcQauMunMzNbH058kAd6H2/0e
|
||||
LK4JkxI9XpZHE6Pf1epXyClHW7vT7APFRp9gL9tZS/XMC18+aEMFfQrNW9jb3FIq
|
||||
rU5MfJ7aubboe7dT6CRaRSWpduiKLVzY/JCoGvUziyvmR7qHsQWTEjtNuQX9joc3
|
||||
6iq1o+gmLV0G8Xwq8cEcg5USlLxNsGBQPwYnTG6iTPPHqOv7BKucekE/opnVZseE
|
||||
fSNCGl1+tGwa3soSMI97LkpQTZxdeqf+jWZve0RbSa2Ihyod91ldFCqi1+PZx68v
|
||||
yBI0PJamlt+dBx6WQKbPngWYeD8hXo7tg0XVRVa3ZQyX+Mq6uCCb2GM8ewMUPl+A
|
||||
kcY1osFt6+sdkFGdiv3FMyijAiZumPoPprXC/4SGIsMnkoI4JfSAbTpHi2QuesqR
|
||||
KMeairdB7XGUYlMvWpDLKN2dbMdRc+l3kDUKT7hALjKeyWS/27WYeK/STxvZXEXi
|
||||
TZGHopvOFv6wcrb6nI49vIJo5mDLFamAPN3ZjeR20wP95UP7cUUSaTYX49M4lX6U
|
||||
oL5BaFrcLn2PTvS84pUxcXKAp70FgTpvGJbaWwETgDjW+H+qlGmI/BTejpL7flVs
|
||||
TOtaP/uCMxhVZSFv9bzo0ih10o+4gtU8lqxfJsVxlf2K7LVZ++LQba/u+XxRY+xw
|
||||
3IFBfg34tnO6zYlV8XgAiJ6IUOHUZANsuBD4iMoFSVOig6t5eIOkgXR6GEkP8FBD
|
||||
rkroRMmxcu4lTCOzWIuAVOxCd4XXguoGQ4HAzpGd5ccdcb8Ev4RYEvNJY7B5tIQZ
|
||||
4J0F9ECzJuSu1HvWTL+T6a36d2MDTkXU2IJ2tSHciXqiP+QMMF7p9Ux0tiAq4mtf
|
||||
luA94uKWg3cSyTyEM/jF66CgO6Ts3AivNE0MRNupV6AbUdr+TjzotGn9rxi168py
|
||||
w/49OVbpR9EIGC2wxx7qcSEk5chFOcgvNQMRqgIx51bbOL7JYb0f4XuA38GUqLkG
|
||||
09PXmPeyqGzR9HsV2XZDprZdD3Dy4ojdexw0+YILg9bHaAxLHYs6WFZvzfaLLsf1
|
||||
K2I39vvrEEOy8tHi4jvMk7oVX6RWG+DOZMeXTvyUCaBHyYkA0eDlC6NeKOHxnW/g
|
||||
ZtN1W93UdklEqc5okM0/ZIke1HDRt3ZLdQIDAQAB
|
||||
-----END RSA PUBLIC KEY-----
|
||||
'';
|
||||
};
|
||||
};
|
||||
secure = true;
|
||||
ssh.privkey.path = <secrets/ssh.id_ed25519>;
|
||||
ssh.pubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPsTeSAedrbp7/KmZX8Mvka702fIUy77Mvqo9HwzCbym";
|
||||
};
|
||||
};
|
||||
users = {
|
||||
lass = {
|
||||
|
@ -1,64 +0,0 @@
|
||||
{ stdenv, fetchFromGitHub, python2Packages }:
|
||||
|
||||
python2Packages.buildPythonApplication rec {
|
||||
name = "electron-cash-${src.rev}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fyookball";
|
||||
repo = "electrum";
|
||||
rev = "a2245ea";
|
||||
sha256 = "1a0ym94azfd1yn97n2jcky344ajbj2amr9l6jpx30pqxndffpbgv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
dns
|
||||
ecdsa
|
||||
jsonrpclib
|
||||
pbkdf2
|
||||
pyaes
|
||||
pycrypto
|
||||
pyqt4
|
||||
pysocks
|
||||
qrcode
|
||||
requests
|
||||
tlslite
|
||||
|
||||
# plugins
|
||||
keepkey
|
||||
trezor
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
|
||||
pyrcc4 icons.qrc -o gui/qt/icons_rc.py
|
||||
# Recording the creation timestamps introduces indeterminism to the build
|
||||
sed -i '/Created: .*/d' gui/qt/icons_rc.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Despite setting usr_share above, these files are installed under
|
||||
# $out/nix ...
|
||||
mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out
|
||||
rm -rf $out/lib/python2.7/site-packages/nix
|
||||
|
||||
substituteInPlace $out/share/applications/electron.desktop \
|
||||
--replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/electrum help >/dev/null
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A lightweight Bitcoin wallet";
|
||||
longDescription = ''
|
||||
An easy-to-use Bitcoin client featuring wallets generated from
|
||||
mnemonic seeds (in addition to other, more advanced, wallet options)
|
||||
and the ability to perform transactions without downloading a copy
|
||||
of the blockchain.
|
||||
'';
|
||||
homepage = https://electrum.org/;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
@ -24,7 +24,7 @@ in
|
||||
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
|
||||
nixpkgs.git = {
|
||||
url = https://github.com/NixOS/nixpkgs;
|
||||
ref = "c5bc83b503dfb29eb27c1deb0268f15c1858e7ce"; # nixos-17.09 @ 2018-02-27
|
||||
ref = "c665fcca9e7be8cd06c1f3c5bbe2b00d4c8f2a92"; # nixos-17.09 @ 2018-03-18
|
||||
};
|
||||
}
|
||||
override
|
||||
|
35
lass/1systems/cabal/config.nix
Normal file
35
lass/1systems/cabal/config.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
<stockholm/lass>
|
||||
<stockholm/lass/2configs/hw/x220.nix>
|
||||
<stockholm/lass/2configs/boot/stock-x220.nix>
|
||||
|
||||
<stockholm/lass/2configs/mouse.nix>
|
||||
<stockholm/lass/2configs/retiolum.nix>
|
||||
<stockholm/lass/2configs/exim-retiolum.nix>
|
||||
<stockholm/lass/2configs/baseX.nix>
|
||||
<stockholm/lass/2configs/browsers.nix>
|
||||
<stockholm/lass/2configs/programs.nix>
|
||||
<stockholm/lass/2configs/fetchWallpaper.nix>
|
||||
<stockholm/lass/2configs/backups.nix>
|
||||
<stockholm/lass/2configs/games.nix>
|
||||
<stockholm/lass/2configs/bitcoin.nix>
|
||||
];
|
||||
|
||||
krebs.build.host = config.krebs.hosts.cabal;
|
||||
|
||||
#fileSystems = {
|
||||
# "/bku" = {
|
||||
# device = "/dev/mapper/pool-bku";
|
||||
# fsType = "btrfs";
|
||||
# options = ["defaults" "noatime" "ssd" "compress=lzo"];
|
||||
# };
|
||||
#};
|
||||
|
||||
#services.udev.extraRules = ''
|
||||
# SUBSYSTEM=="net", ATTR{address}=="00:24:d7:f0:a0:0c", NAME="wl0"
|
||||
# SUBSYSTEM=="net", ATTR{address}=="f0:de:f1:71:cb:35", NAME="et0"
|
||||
#'';
|
||||
}
|
4
lass/1systems/cabal/source.nix
Normal file
4
lass/1systems/cabal/source.nix
Normal file
@ -0,0 +1,4 @@
|
||||
import <stockholm/lass/source.nix> {
|
||||
name = "cabal";
|
||||
secure = true;
|
||||
}
|
@ -131,7 +131,7 @@ with import <stockholm/lib>;
|
||||
];
|
||||
|
||||
services.xserver.displayManager.sessionCommands = ''
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-6 --off --output DP-5 --off --output DP-4 --mode 2560x1440 --pos 3840x0 --rotate left --output DP-3 --off --output DP-2 --primary --mode 3840x2160 --pos 0x400 --rotate normal --output DP-1 --off --output DP-0 --mode 2560x1440 --pos 5280x1120 --rotate normal
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-6 --off --output DP-5 --off --output DP-4 --mode 2560x1440 --pos 3840x0 --rotate left --output DP-3 --off --output DP-2 --primary --mode 3840x2160 --scale 0.5x0.5 --pos 0x400 --rotate normal --output DP-1 --off --output DP-0 --mode 2560x1440 --pos 5280x1120 --rotate normal
|
||||
'';
|
||||
|
||||
networking.hostName = lib.mkForce "BLN02NB0162";
|
||||
@ -168,8 +168,6 @@ with import <stockholm/lib>;
|
||||
'')
|
||||
];
|
||||
|
||||
lass.screenlock.command = "${pkgs.i3lock}/bin/i3lock -i /home/lass/lock.png -t -f";
|
||||
|
||||
programs.adb.enable = true;
|
||||
users.users.mainUser.extraGroups = [ "adbusers" "docker" ];
|
||||
|
||||
|
@ -170,31 +170,11 @@ with import <stockholm/lib>;
|
||||
export PATH=${makeBinPath [
|
||||
pkgs.bash
|
||||
pkgs.coreutils
|
||||
pkgs.nix
|
||||
(pkgs.writeDashBin "is-git-crypt-locked" ''
|
||||
magic=$(dd status=none if="$1" skip=1 bs=1 count=8)
|
||||
test "$magic" = GITCRYPT
|
||||
'')
|
||||
pkgs.nixUnstable
|
||||
]}
|
||||
cd ~/stockholm
|
||||
export SYSTEM="$1"
|
||||
if is-git-crypt-locked ~/secrets/ready; then
|
||||
echo 'secrets are crypted' >&2
|
||||
exit 23
|
||||
else
|
||||
exec nix-shell -I stockholm="$PWD" --run 'deploy --system="$SYSTEM"'
|
||||
fi
|
||||
'';
|
||||
predeploy = pkgs.writeDash "predeploy" ''
|
||||
set -eu
|
||||
export PATH=${makeBinPath [
|
||||
pkgs.bash
|
||||
pkgs.coreutils
|
||||
pkgs.nix
|
||||
]}
|
||||
cd ~/stockholm
|
||||
export SYSTEM="$1"
|
||||
exec nix-shell -I stockholm="$PWD" --run 'test --system="$SYSTEM" --target="$SYSTEM/var/test/" --force-populate'
|
||||
exec nix-shell -I stockholm="$PWD" --run 'deploy --system="$SYSTEM"'
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -78,6 +78,7 @@ with import <stockholm/lib>;
|
||||
{ from = "github@lassul.us"; to = lass.mail; }
|
||||
{ from = "ovh@lassul.us"; to = lass.mail; }
|
||||
{ from = "hetzner@lassul.us"; to = lass.mail; }
|
||||
{ from = "allygator@lassul.us"; to = lass.mail; }
|
||||
];
|
||||
system-aliases = [
|
||||
{ from = "mailer-daemon"; to = "postmaster"; }
|
||||
|
@ -8,6 +8,16 @@ let
|
||||
logfile ~/.msmtp.log
|
||||
account prism
|
||||
host prism.r
|
||||
account c-base
|
||||
from lassulus@c-base.org
|
||||
host c-mail.c-base.org
|
||||
port 465
|
||||
tls on
|
||||
tls_starttls off
|
||||
tls_fingerprint 8C:10:A6:AB:1F:82:C4:8F:B1:B4:22:D5:8B:8B:49:9B:59:0B:22:A4
|
||||
auth on
|
||||
user lassulus
|
||||
passwordeval pass show c-base/pass
|
||||
account default: prism
|
||||
'';
|
||||
|
||||
@ -36,9 +46,11 @@ let
|
||||
];
|
||||
dezentrale = [ "to:dezentrale.space" ];
|
||||
dhl = [ "to:dhl@lassul.us" ];
|
||||
eloop = [ "to:eloop.org" ];
|
||||
github = [ "to:github@lassul.us" ];
|
||||
gmail = [ "to:gmail@lassul.us" "to:lassulus@gmail.com" "lassulus@googlemail.com" ];
|
||||
kaosstuff = [ "to:gearbest@lassul.us" "to:banggood@lassul.us" "to:tomtop@lassul.us" ];
|
||||
lugs = [ "to:lugs@lug-s.org" ];
|
||||
nix-devel = [ "to:nix-devel@googlegroups.com" ];
|
||||
patreon = [ "to:patreon@lassul.us" ];
|
||||
paypal = [ "to:paypal@lassul.us" ];
|
||||
@ -65,7 +77,7 @@ let
|
||||
# gpg
|
||||
source ${pkgs.neomutt}/share/doc/mutt/samples/gpg.rc
|
||||
set pgp_use_gpg_agent = yes
|
||||
set pgp_sign_as = 0x976A7E4D
|
||||
set pgp_sign_as = 0xDC2A43EF4F11E854B44D599A89E82952976A7E4D
|
||||
set crypt_autosign = yes
|
||||
set crypt_replyencrypt = yes
|
||||
set crypt_verify_sig = yes
|
||||
|
@ -5,6 +5,4 @@ with import <stockholm/lib>;
|
||||
boot.extraModprobeConfig = ''
|
||||
install dccp /run/current-system/sw/bin/false
|
||||
'';
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ in {
|
||||
"www.ubikmedia.eu"
|
||||
"www.youthtube.xyz"
|
||||
"www.ubikmedia.de"
|
||||
"www.joemisch.com"
|
||||
"www.weirdwednesday.de"
|
||||
|
||||
"aldona2.ubikmedia.de"
|
||||
@ -63,6 +64,7 @@ in {
|
||||
"weirdwednesday.ubikmedia.de"
|
||||
"freemonkey.ubikmedia.de"
|
||||
"jarugadesign.ubikmedia.de"
|
||||
"crypto4art.ubikmedia.de"
|
||||
])
|
||||
];
|
||||
|
||||
|
@ -12,9 +12,8 @@ let
|
||||
;
|
||||
|
||||
msmtprc = pkgs.writeText "msmtprc" ''
|
||||
account localhost
|
||||
account default
|
||||
host localhost
|
||||
account default: localhost
|
||||
'';
|
||||
|
||||
sendmail = pkgs.writeDash "msmtp" ''
|
||||
|
@ -14,7 +14,7 @@ let
|
||||
enable = mkEnableOption "screenlock";
|
||||
command = mkOption {
|
||||
type = types.str;
|
||||
default = "${pkgs.i3lock}/bin/i3lock -i /var/lib/wallpaper/wallpaper -f";
|
||||
default = "${pkgs.xlockmore}/bin/xlock -mode life1d -size 1";
|
||||
};
|
||||
};
|
||||
|
||||
@ -28,7 +28,7 @@ let
|
||||
serviceConfig = {
|
||||
SyslogIdentifier = "screenlock";
|
||||
ExecStart = cfg.command;
|
||||
Type = "forking";
|
||||
Type = "simple";
|
||||
User = "lass";
|
||||
};
|
||||
};
|
||||
|
@ -11,6 +11,8 @@ with import <stockholm/lib>;
|
||||
<stockholm/makefu/2configs/main-laptop.nix>
|
||||
<stockholm/makefu/2configs/extra-fonts.nix>
|
||||
<stockholm/makefu/2configs/tools/all.nix>
|
||||
<stockholm/makefu/2configs/tools/mic92.nix>
|
||||
|
||||
<stockholm/makefu/2configs/laptop-backup.nix>
|
||||
<stockholm/makefu/2configs/dnscrypt/client.nix>
|
||||
<stockholm/makefu/2configs/avahi.nix>
|
||||
@ -27,6 +29,8 @@ with import <stockholm/lib>;
|
||||
# <stockholm/makefu/2configs/vncserver.nix>
|
||||
# <stockholm/makefu/2configs/deployment/led-fader>
|
||||
# <stockholm/makefu/2configs/deployment/hound>
|
||||
# <stockholm/makefu/2configs/deployment/photostore.krebsco.de.nix>
|
||||
# <stockholm/makefu/2configs/deployment/bureautomation/hass.nix>
|
||||
|
||||
# Krebs
|
||||
<stockholm/makefu/2configs/tinc/retiolum.nix>
|
||||
@ -40,7 +44,7 @@ with import <stockholm/lib>;
|
||||
# Virtualization
|
||||
<stockholm/makefu/2configs/virtualisation/libvirt.nix>
|
||||
<stockholm/makefu/2configs/virtualisation/docker.nix>
|
||||
# <stockholm/makefu/2configs/virtualisation/virtualbox.nix>
|
||||
<stockholm/makefu/2configs/virtualisation/virtualbox.nix>
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 8080 ];
|
||||
networking.nat = {
|
||||
@ -78,7 +82,6 @@ with import <stockholm/lib>;
|
||||
# <stockholm/makefu/2configs/lanparty/lancache-dns.nix>
|
||||
# <stockholm/makefu/2configs/lanparty/samba.nix>
|
||||
# <stockholm/makefu/2configs/lanparty/mumble-server.nix>
|
||||
# <stockholm/makefu/2configs/deployment/photostore.krebsco.de.nix>
|
||||
|
||||
{
|
||||
networking.wireguard.interfaces.wg0 = {
|
||||
@ -123,6 +126,7 @@ with import <stockholm/lib>;
|
||||
load-module module-filter-heuristics
|
||||
load-module module-filter-apply
|
||||
load-module module-switch-on-connect
|
||||
load-module module-switch-on-port-available
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -3,5 +3,7 @@ import <stockholm/makefu/source.nix> {
|
||||
full = true;
|
||||
python = true;
|
||||
hw = true;
|
||||
unstable = true;
|
||||
mic92 = true;
|
||||
# torrent = true;
|
||||
}
|
||||
|
75
makefu/2configs/deployment/bureautomation/hass.nix
Normal file
75
makefu/2configs/deployment/bureautomation/hass.nix
Normal file
@ -0,0 +1,75 @@
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
firetv = "192.168.1.238";
|
||||
in {
|
||||
imports = [
|
||||
<nixpkgs-unstable/nixos/modules/services/misc/home-assistant.nix>
|
||||
];
|
||||
systemd.services.firetv = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = "nobody";
|
||||
ExecStart = "${pkgs.python-firetv}/bin/firetv-server -d ${firetv}:5555";
|
||||
};
|
||||
};
|
||||
nixpkgs.config.packageOverrides = oldpkgs: {
|
||||
home-assistant = (import <nixpkgs-unstable> {}).home-assistant;
|
||||
};
|
||||
ids.uids.hass = 286;
|
||||
ids.gids.hass = 286;
|
||||
services.home-assistant = {
|
||||
#panel_iframe:
|
||||
#configurator:
|
||||
# title: Configurator
|
||||
# icon: mdi:wrench
|
||||
# url: http://hassio.local:3218
|
||||
# sensor:
|
||||
# - platform: random
|
||||
enable = true;
|
||||
config = {
|
||||
homeassistant = {
|
||||
name = "Bureautomation";
|
||||
time_zone = "Europe/Berlin";
|
||||
};
|
||||
panel_iframe = {
|
||||
euer_blog = {
|
||||
title = "Euer Blog";
|
||||
icon = "mdi:wrench";
|
||||
url = "https://euer.krebsco.de";
|
||||
};
|
||||
};
|
||||
media_player = [
|
||||
{ platform = "kodi";
|
||||
host = firetv;
|
||||
}
|
||||
{ platform = "firetv";
|
||||
# assumes python-firetv running
|
||||
}
|
||||
];
|
||||
sensor = [
|
||||
{
|
||||
platform = "luftdaten";
|
||||
name = "Shack 1";
|
||||
sensorid = "50";
|
||||
monitored_conditions = [ "P1" "P2" ];
|
||||
}
|
||||
{
|
||||
platform = "luftdaten";
|
||||
name = "Shack 2";
|
||||
sensorid = "658";
|
||||
monitored_conditions = [ "P1" "P2" ];
|
||||
}
|
||||
{
|
||||
platform = "luftdaten";
|
||||
name = "Ditzingen";
|
||||
sensorid = "5341";
|
||||
monitored_conditions = [ "P1" "P2" ];
|
||||
}
|
||||
{ platform = "random"; }
|
||||
];
|
||||
frontend = { };
|
||||
http = { };
|
||||
feedreader.urls = [ "https://nixos.org/blogs.xml" ];
|
||||
};
|
||||
};
|
||||
}
|
@ -3,10 +3,15 @@
|
||||
with import <stockholm/lib>;
|
||||
let
|
||||
|
||||
repos = priv-repos // krebs-repos // connector-repos ;
|
||||
repos = priv-repos // krebs-repos // connector-repos // krebsroot-repos;
|
||||
rules = concatMap krebs-rules (attrValues krebs-repos)
|
||||
++ concatMap priv-rules (attrValues priv-repos)
|
||||
++ concatMap connector-rules (attrValues connector-repos);
|
||||
++ concatMap connector-rules (attrValues connector-repos)
|
||||
++ concatMap krebsroot-rules (attrValues krebsroot-repos);
|
||||
|
||||
krebsroot-repos = mapAttrs make-krebs-repo {
|
||||
hydra-stockholm = { };
|
||||
};
|
||||
|
||||
krebs-repos = mapAttrs make-krebs-repo {
|
||||
stockholm = {
|
||||
@ -28,7 +33,6 @@ let
|
||||
init-stockholm = {
|
||||
cgit.desc = "Init stuff for stockholm";
|
||||
};
|
||||
hydra-stockholm = { };
|
||||
};
|
||||
|
||||
priv-repos = mapAttrs make-priv-repo {
|
||||
@ -70,6 +74,9 @@ let
|
||||
krebs-rules = repo:
|
||||
set-owners repo all-makefu ++ set-ro-access repo krebsminister;
|
||||
|
||||
krebsroot-rules = repo:
|
||||
set-owners repo (all-makefu ++ krebsminister);
|
||||
|
||||
set-ro-access = with git; repo: user:
|
||||
optional repo.public {
|
||||
inherit user;
|
||||
|
@ -38,7 +38,7 @@ with import <stockholm/lib>;
|
||||
services.tlp.enable = true;
|
||||
services.tlp.extraConfig = ''
|
||||
# BUG: http://linrunner.de/en/tlp/docs/tlp-faq.html#erratic-battery
|
||||
START_CHARGE_THRESH_BAT0=67
|
||||
START_CHARGE_THRESH_BAT0=95
|
||||
STOP_CHARGE_THRESH_BAT0=100
|
||||
|
||||
|
||||
|
@ -9,6 +9,7 @@ in {
|
||||
pkgs.samsungUnifiedLinuxDriver
|
||||
pkgs.cups-dymo # dymo labelwriter
|
||||
pkgs.foo2zjs # magicolor 1690mf
|
||||
pkgs.zj-58
|
||||
];
|
||||
};
|
||||
|
||||
|
9
makefu/2configs/tools/mic92.nix
Normal file
9
makefu/2configs/tools/mic92.nix
Normal file
@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(import <mic92/nixos/overlays/mypackages>)
|
||||
];
|
||||
users.users.makefu.packages = [
|
||||
pkgs.nix-review
|
||||
];
|
||||
}
|
@ -21,7 +21,9 @@ let
|
||||
This module will use substituteAll to replace strings before writing to
|
||||
/etc/xdg/awesome/rc.lua
|
||||
'';
|
||||
default = pkgs.awesomecfg.full;
|
||||
default = pkgs.awesomecfg.full.override {
|
||||
locker = "${pkgs.i3lock}/bin/i3lock -i /var/lib/wallpaper/wallpaper";
|
||||
};
|
||||
};
|
||||
};
|
||||
imp = {
|
||||
|
@ -1,23 +1,23 @@
|
||||
{ pkgs
|
||||
, lib
|
||||
, alsaUtils
|
||||
, xlockmore
|
||||
, xbacklight
|
||||
, modkey?"Mod4"
|
||||
, locker? "${pkgs.xlock}/bin/xlock -mode blank"
|
||||
, ... }:
|
||||
|
||||
{
|
||||
# replace: @alsaUtils@ @xlockmore@ @xbacklight@ @modkey@
|
||||
full = lib.makeOverridable pkgs.substituteAll {
|
||||
name = "awesome_full_config";
|
||||
inherit alsaUtils xlockmore xbacklight modkey;
|
||||
inherit alsaUtils locker xbacklight modkey;
|
||||
isExecutable = false;
|
||||
src = ./full.cfg;
|
||||
};
|
||||
|
||||
kiosk = lib.makeOverridable pkgs.substituteAll {
|
||||
name = "awesome_kiosk_config";
|
||||
inherit alsaUtils xlockmore xbacklight modkey;
|
||||
inherit alsaUtils locker xbacklight modkey;
|
||||
isExecutable = false;
|
||||
src = ./kiosk.lua;
|
||||
};
|
||||
|
@ -243,7 +243,7 @@ awful.screen.connect_for_each_screen(function(s)
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "tmp", "news", "www", "im", "work1","work2","net","misc","remote" }, s, awful.layout.layouts[1])
|
||||
awful.tag({ "tmp", "news", "www", "im", "work1","work2","net","misc","remote" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
@ -277,10 +277,10 @@ awful.screen.connect_for_each_screen(function(s)
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mykeyboardlayout,
|
||||
mailwidget,
|
||||
mailwidget,
|
||||
wibox.widget.systray(),
|
||||
cpuwidget,
|
||||
batwidget,
|
||||
cpuwidget,
|
||||
batwidget,
|
||||
mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
@ -379,19 +379,19 @@ globalkeys = awful.util.table.join(
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||
{description = "run prompt", group = "launcher"}),
|
||||
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("@xlockmore@/bin/xlock -mode blank") end),
|
||||
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("@xlockmore@/bin/xlock -mode blank") end),
|
||||
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("@locker@") end),
|
||||
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("@locker@") end),
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end,
|
||||
{description = "lua execute prompt", group = "awesome"}),
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end,
|
||||
{description = "lua execute prompt", group = "awesome"}),
|
||||
|
||||
-- Menubar
|
||||
awful.key({ modkey }, "p", function() menubar.show() end)
|
||||
|
@ -331,8 +331,8 @@ globalkeys = awful.util.table.join(
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
|
||||
-- awful.key({ modkey }, "r", function () awful.util.spawn( "dmenu_run" ) end ),
|
||||
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("xlock -mode blank") end),
|
||||
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("xlock -mode blank") end),
|
||||
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("@locker@") end),
|
||||
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("@locker@") end),
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
|
@ -1,19 +1,22 @@
|
||||
{ lib, pkgs, pythonPackages, fetchurl, ... }:
|
||||
{ lib, pkgs, pythonPackages, ... }:
|
||||
|
||||
with pythonPackages; buildPythonPackage rec {
|
||||
name = "nodemcu-uploader-${version}";
|
||||
version = "0.2.2";
|
||||
disabled = isPy3k || isPyPy;
|
||||
version = "0.4.1";
|
||||
propagatedBuildInputs = [
|
||||
pyserial
|
||||
wrapt
|
||||
];
|
||||
src = fetchurl {
|
||||
url = "https://pypi.python.org/packages/source/n/nodemcu-uploader/nodemcu-uploader-${version}.tar.gz";
|
||||
sha256 = "090giz84y9y3idgifp0yh80qqyv2czv6h3y55wyrlgf7qfbwbrvn";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "kmpm";
|
||||
repo = "nodemcu-uploader";
|
||||
rev = "v${version}";
|
||||
sha256 = "055pvlg544vb97kaqnnq51fs9f9g75vwgbazc293f3g1sk263gmn";
|
||||
};
|
||||
# ImportError: No module named tests
|
||||
# not sure what to do here
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/kmpm/nodemcu-uploader;
|
||||
description = "tool for uploading files to NodeMCU filesystem";
|
||||
|
40
makefu/5pkgs/python-firetv/default.nix
Normal file
40
makefu/5pkgs/python-firetv/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ lib, pkgs, python2Packages, ... }:
|
||||
# requires libusb1 from unstable
|
||||
with (import <nixpkgs-unstable> {}).python2Packages; let
|
||||
|
||||
python-adb = buildPythonPackage rec {
|
||||
pname = "adb";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0v4my47ikgkbq04gdllpx6kql5cfh7dnpq2fk72x03z74mqri7v8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ libusb1 m2crypto ];
|
||||
meta = {
|
||||
homepage = https://github.com/google/python-adb;
|
||||
description = "Python ADB + Fastboot implementation";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
name = "python-firetv-${version}";
|
||||
version = "1.0.5";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "happyleavesaoc";
|
||||
repo = "python-firetv";
|
||||
# rev = version;
|
||||
rev = "55406c6";
|
||||
sha256 = "1r2yighilchs0jvcvbngkjxkk7gp588ikcl64x7afqzxc6zxv7wp";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python-adb flask pyyaml ];
|
||||
meta = {
|
||||
homepage = https://github.com/happyleavesaoc/python-firetv;
|
||||
description = "provides state informations and some control of an amazon firetv";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
30
makefu/5pkgs/zj-58/default.nix
Normal file
30
makefu/5pkgs/zj-58/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{stdenv, fetchFromGitHub, cups}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cups-zj58-2018-02-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "klirichek";
|
||||
repo = "zj-58";
|
||||
rev = "e4212cd";
|
||||
sha256 = "1w2qkspm4qqg5h8n6gmakzhiww7gag64chvy9kf89xsl3wsyp6pi";
|
||||
};
|
||||
|
||||
buildInputs = [cups];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/cups/filter
|
||||
|
||||
cp rastertozj $out/lib/cups/filter
|
||||
|
||||
|
||||
mkdir -p $out/share/cups/model/zjiang
|
||||
cp ZJ-58.ppd $out/share/cups/model/zjiang/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "CUPS filter for thermal printer Zjiang ZJ-58";
|
||||
homepage = https://github.com/klirichek/zj-58;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
with import <stockholm/lib>;
|
||||
host@{ name,
|
||||
override ? {},
|
||||
secure ? false,
|
||||
full ? false,
|
||||
torrent ? false,
|
||||
hw ? false,
|
||||
musnix ? false,
|
||||
python ? false
|
||||
override ? {}
|
||||
, secure ? false
|
||||
, full ? false
|
||||
, torrent ? false
|
||||
, hw ? false
|
||||
, musnix ? false
|
||||
, python ? false
|
||||
, unstable ? false #unstable channel checked out
|
||||
, mic92 ? false
|
||||
}:
|
||||
let
|
||||
builder = if getEnv "dummy_secrets" == "true"
|
||||
@ -19,7 +21,7 @@ let
|
||||
];
|
||||
};
|
||||
# TODO: automate updating of this ref + cherry-picks
|
||||
ref = "51810e0"; # nixos-17.09 @ 2018-02-14
|
||||
ref = "6b6e72b"; # nixos-17.09 @ 2018-03-07
|
||||
# + do_sqlite3 ruby: 55a952be5b5
|
||||
# + signal: 0f19beef3
|
||||
|
||||
@ -59,21 +61,37 @@ in
|
||||
(mkIf ( hw ) {
|
||||
nixos-hardware.git = {
|
||||
url = https://github.com/nixos/nixos-hardware.git;
|
||||
ref = "8a05dc9";
|
||||
ref = "30fdd53";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf ( python ) {
|
||||
python.git = {
|
||||
url = https://github.com/garbas/nixpkgs-python;
|
||||
ref = "cac319b";
|
||||
ref = "cac319b7";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf ( torrent ) {
|
||||
torrent-secrets.file = getAttr builder {
|
||||
buildbot = toString <stockholm/makefu/6tests/data/secrets>;
|
||||
makefu = "/home/makefu/secrets/torrent" ;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf ( unstable ) {
|
||||
nixpkgs-unstable.git = {
|
||||
url = https://github.com/nixos/nixpkgs-channels;
|
||||
ref = "nixos-unstable";
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf ( mic92 ) {
|
||||
mic92.git = {
|
||||
url = https://github.com/Mic92/dotfiles/;
|
||||
ref = "48a1f49";
|
||||
};
|
||||
})
|
||||
|
||||
override
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user