summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
Diffstat (limited to 'lass')
-rw-r--r--lass/1systems/daedalus/config.nix3
-rw-r--r--lass/1systems/helios/config.nix1
-rw-r--r--lass/1systems/mors/config.nix2
-rw-r--r--lass/1systems/prism/config.nix11
-rw-r--r--lass/2configs/baseX.nix32
-rw-r--r--lass/2configs/browsers.nix20
-rw-r--r--lass/2configs/copyq.nix7
-rw-r--r--lass/2configs/default.nix11
-rw-r--r--lass/2configs/exim-smarthost.nix5
-rw-r--r--lass/2configs/games.nix4
-rw-r--r--lass/2configs/git.nix4
-rw-r--r--lass/2configs/mail.nix34
-rw-r--r--lass/2configs/minecraft.nix21
-rw-r--r--lass/2configs/radio.nix1
-rw-r--r--lass/2configs/zsh.nix86
-rw-r--r--lass/source.nix5
16 files changed, 166 insertions, 81 deletions
diff --git a/lass/1systems/daedalus/config.nix b/lass/1systems/daedalus/config.nix
index 8ec744584..609fae3c8 100644
--- a/lass/1systems/daedalus/config.nix
+++ b/lass/1systems/daedalus/config.nix
@@ -40,6 +40,9 @@ with import <stockholm/lib>;
zathura
skype
wine
+ geeqie
+ vlc
+ minecraft
];
nixpkgs.config.firefox.enableAdobeFlash = true;
services.xserver.enable = true;
diff --git a/lass/1systems/helios/config.nix b/lass/1systems/helios/config.nix
index fc30a3478..f53e93f26 100644
--- a/lass/1systems/helios/config.nix
+++ b/lass/1systems/helios/config.nix
@@ -131,7 +131,6 @@ 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.systemd}/bin/systemctl start xresources.service
'';
networking.hostName = lib.mkForce "BLN02NB0162";
diff --git a/lass/1systems/mors/config.nix b/lass/1systems/mors/config.nix
index c231a0b10..936666a73 100644
--- a/lass/1systems/mors/config.nix
+++ b/lass/1systems/mors/config.nix
@@ -192,7 +192,7 @@ with import <stockholm/lib>;
'';
};
- #nix.package = pkgs.nixUnstable;
+ nix.package = pkgs.nixUnstable;
programs.adb.enable = true;
users.users.mainUser.extraGroups = [ "adbusers" ];
}
diff --git a/lass/1systems/prism/config.nix b/lass/1systems/prism/config.nix
index 03e9f6eeb..087aaab06 100644
--- a/lass/1systems/prism/config.nix
+++ b/lass/1systems/prism/config.nix
@@ -289,13 +289,6 @@ in {
alias /var/realwallpaper/realwallpaper.png;
'';
}
- {
- services.minecraft-server.enable = true;
- krebs.iptables.tables.filter.INPUT.rules = [
- { predicate = "-p tcp --dport 25565"; target = "ACCEPT"; }
- { predicate = "-p udp --dport 25565"; target = "ACCEPT"; }
- ];
- }
<stockholm/krebs/2configs/reaktor-krebs.nix>
<stockholm/lass/2configs/dcso-dev.nix>
{
@@ -307,7 +300,7 @@ in {
jeschli-brauerei
];
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 ];
}
];
}
@@ -318,6 +311,8 @@ in {
RandomizedDelaySec = "2min";
};
}
+ <stockholm/lass/2configs/downloading.nix>
+ <stockholm/lass/2configs/minecraft.nix>
];
krebs.build.host = config.krebs.hosts.prism;
diff --git a/lass/2configs/baseX.nix b/lass/2configs/baseX.nix
index 59ea0ecb7..5ca024574 100644
--- a/lass/2configs/baseX.nix
+++ b/lass/2configs/baseX.nix
@@ -53,6 +53,7 @@ in {
time.timeZone = "Europe/Berlin";
+ programs.ssh.agentTimeout = "10m";
programs.ssh.startAgent = true;
services.openssh.forwardX11 = true;
@@ -85,6 +86,8 @@ in {
screengrab
slock
sxiv
+ timewarrior
+ taskwarrior
termite
xclip
xorg.xbacklight
@@ -104,15 +107,40 @@ in {
xlibs.fontschumachermisc
];
- lass.xserver.enable = true;
+ #lass.xserver.enable = true;
services.xserver = {
+ enable = true;
layout = "us";
+ display = mkForce 0;
xkbModel = "evdev";
xkbVariant = "altgr-intl";
xkbOptions = "caps:backspace";
+ displayManager.lightdm.enable = true;
+ windowManager.default = "xmonad";
+ windowManager.session = [{
+ name = "xmonad";
+ start = ''
+ ${pkgs.xorg.xhost}/bin/xhost +LOCAL:
+ ${pkgs.coreutils}/bin/sleep infinity
+ '';
+ }];
+ };
+
+ systemd.user.services.xmonad = {
+ wantedBy = [ "graphical-session.target" ];
+ environment = {
+ DISPLAY = ":${toString config.services.xserver.display}";
+ RXVT_SOCKET = "%t/urxvtd-socket";
+ XMONAD_DATA_DIR = "/tmp";
+ };
+ serviceConfig = {
+ SyslogIdentifier = "xmonad";
+ ExecStart = "${pkgs.xmonad-lass}/bin/xmonad";
+ ExecStop = "${pkgs.xmonad-lass}/bin/xmonad --shutdown";
+ };
+ restartIfChanged = false;
};
- services.urxvtd.enable = true;
krebs.xresources.enable = true;
lass.screenlock.enable = true;
}
diff --git a/lass/2configs/browsers.nix b/lass/2configs/browsers.nix
index 9459cfd6f..cbbd54b6b 100644
--- a/lass/2configs/browsers.nix
+++ b/lass/2configs/browsers.nix
@@ -35,7 +35,10 @@ let
useDefaultShell = true;
createHome = true;
};
- lass.browser.paths.${name}.path = bin;
+ lass.browser.paths.${name} = {
+ path = bin;
+ inherit precedence;
+ };
security.sudo.extraConfig = ''
${mainUser.name} ALL=(${name}) NOPASSWD: ALL
'';
@@ -80,6 +83,14 @@ in {
browser-select
];
+ programs.chromium = {
+ enable = true;
+ extensions = [
+ "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
+ "dbepggeogbaibhgnhhndojpepiihcmeb" # vimium
+ ];
+ };
+
imports = [
{
options.lass.browser.select = mkOption {
@@ -102,8 +113,9 @@ in {
( createFirefoxUser "ff" [ "audio" ] 10 )
( createChromiumUser "cr" [ "video" "audio" ] 9 )
( createChromiumUser "gm" [ "video" "audio" ] 8 )
- ( createChromiumUser "wk" [ "video" "audio" ] )
- ( createChromiumUser "fb" [ "video" "audio" ] )
- ( createChromiumUser "com" [ "video" "audio" ] )
+ ( createChromiumUser "wk" [ "video" "audio" ] 0 )
+ ( createChromiumUser "fb" [ "video" "audio" ] 0 )
+ ( createChromiumUser "com" [ "video" "audio" ] 0 )
+ ( createChromiumUser "fin" [] (-1) )
];
}
diff --git a/lass/2configs/copyq.nix b/lass/2configs/copyq.nix
index cd10313fc..56c091a6e 100644
--- a/lass/2configs/copyq.nix
+++ b/lass/2configs/copyq.nix
@@ -19,9 +19,9 @@ let
${pkgs.copyq}/bin/copyq config text_wrap true
'';
in {
- systemd.services.copyq = {
- wantedBy = [ "multi-user.target" ];
- requires = [ "xserver.service" ];
+ systemd.user.services.copyq = {
+ wantedBy = [ "graphical-session.target" ];
+ requires = [ "xmonad.service" ];
environment = {
DISPLAY = ":${toString config.services.xserver.display}";
};
@@ -35,7 +35,6 @@ in {
Restart = "always";
RestartSec = "15s";
StartLimitBurst = 0;
- User = "lass";
};
};
}
diff --git a/lass/2configs/default.nix b/lass/2configs/default.nix
index c68aee330..5a5f1b347 100644
--- a/lass/2configs/default.nix
+++ b/lass/2configs/default.nix
@@ -2,11 +2,12 @@ with import <stockholm/lib>;
{ config, pkgs, ... }:
{
imports = [
- ../2configs/binary-cache/client.nix
- ../2configs/gc.nix
- ../2configs/mc.nix
- ../2configs/vim.nix
- ../2configs/monitoring/client.nix
+ ./binary-cache/client.nix
+ ./gc.nix
+ ./mc.nix
+ ./vim.nix
+ ./monitoring/client.nix
+ ./zsh.nix
./htop.nix
./backups.nix
./security-workarounds.nix
diff --git a/lass/2configs/exim-smarthost.nix b/lass/2configs/exim-smarthost.nix
index 94191fcb7..0219f5216 100644
--- a/lass/2configs/exim-smarthost.nix
+++ b/lass/2configs/exim-smarthost.nix
@@ -54,6 +54,11 @@ with import <stockholm/lib>;
{ from = "bitstamp@lassul.us"; to = lass.mail; }
{ from = "bitcoin.de@lassul.us"; to = lass.mail; }
{ from = "ableton@lassul.us"; to = lass.mail; }
+ { from = "dhl@lassul.us"; to = lass.mail; }
+ { from = "sipgate@lassul.us"; to = lass.mail; }
+ { from = "coinexchange@lassul.us"; to = lass.mail; }
+ { from = "verwaltung@lassul.us"; to = lass.mail; }
+ { from = "gearbest@lassul.us"; to = lass.mail; }
];
system-aliases = [
{ from = "mailer-daemon"; to = "postmaster"; }
diff --git a/lass/2configs/games.nix b/lass/2configs/games.nix
index 6cea271c1..50362cda4 100644
--- a/lass/2configs/games.nix
+++ b/lass/2configs/games.nix
@@ -73,6 +73,10 @@ in {
extraGroups = [ "audio" "video" "input" "loot" ];
createHome = true;
useDefaultShell = true;
+ packages = with pkgs; [
+ ftb
+ minecraft
+ ];
};
};
diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix
index 4a2199b39..1fe87c666 100644
--- a/lass/2configs/git.nix
+++ b/lass/2configs/git.nix
@@ -81,7 +81,7 @@ let
server = "irc.r";
verbose = config.krebs.build.host.name == "prism";
# TODO define branches in some kind of option per repo
- branches = [ "master" "staging*" ];
+ branches = [ "master" ];
};
};
};
@@ -100,7 +100,7 @@ let
nick = config.krebs.build.host.name;
channel = "#xxx";
server = "irc.r";
- verbose = true;
+ verbose = false;
# TODO define branches in some kind of option per repo
branches = [ "master" "staging*" ];
};
diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix
index 962efaf3f..7c58e8c5f 100644
--- a/lass/2configs/mail.nix
+++ b/lass/2configs/mail.nix
@@ -1,3 +1,4 @@
+with import <stockholm/lib>;
{ pkgs, ... }:
let
@@ -19,6 +20,14 @@ let
text/html; ${pkgs.elinks}/bin/elinks -dump ; copiousoutput;
'';
+ mailboxes = {
+ wireguard = [ "wireguard@lists.zx2c4" ];
+ c-base = [ "c-base.org" ];
+ security = [ "seclists.org" "security" "bugtraq" ];
+ nix-devel = [ "nix-devel@googlegroups.com" ];
+ shack = [ "shackspace.de" ];
+ };
+
muttrc = pkgs.writeText "muttrc" ''
# gpg
source ${pkgs.neomutt}/share/doc/mutt/samples/gpg.rc
@@ -72,22 +81,15 @@ let
''} %r |"
virtual-mailboxes \
- "Unread" "notmuch://?query=tag:unread"\
- "INBOX" "notmuch://?query=tag:inbox \
- and NOT to:nix-devel\
- and NOT to:shackspace\
- and NOT to:security\
- and NOT to:c-base" \
- "shack" "notmuch://?query=to:shackspace"\
- "c-base" "notmuch://?query=to:c-base"\
- "security" "notmuch://?query=to:securityfocus or from:security-alert@hpe.com"\
- "nix" "notmuch://?query=to:nix-devel"\
- "radio" "notmuch://?query=to:radio or tag:radio"\
- "TODO" "notmuch://?query=tag:TODO"\
- "Starred" "notmuch://?query=tag:*"\
- "Archive" "notmuch://?query=tag:archive"\
- "Sent" "notmuch://?query=tag:sent"\
- "Junk" "notmuch://?query=tag:junk"
+ "Unread" "notmuch://?query=tag:unread"\
+ "INBOX" "notmuch://?query=tag:inbox ${concatMapStringsSep " " (f: "and NOT to:${f}") (flatten (attrValues mailboxes))}"\
+ ${concatMapStringsSep "\n" (i: ''${" "}"${i.name}" "notmuch://?query=${concatMapStringsSep " or " (f: "to:${f}") i.value}"\'') (mapAttrsToList nameValuePair mailboxes)}
+ "BOX" "notmuch://?query=${concatMapStringsSep " and " (f: "NOT to:${f}") (flatten (attrValues mailboxes))}"\
+ "TODO" "notmuch://?query=tag:TODO"\
+ "Starred" "notmuch://?query=tag:*"\
+ "Archive" "notmuch://?query=tag:archive"\
+ "Sent" "notmuch://?query=tag:sent"\
+ "Junk" "notmuch://?query=tag:junk"
tag-transforms "junk" "k" \
"unread" "u" \
diff --git a/lass/2configs/minecraft.nix b/lass/2configs/minecraft.nix
new file mode 100644
index 000000000..aa33dcccc
--- /dev/null
+++ b/lass/2configs/minecraft.nix
@@ -0,0 +1,21 @@
+{ pkgs, ... }:
+
+{
+ users.users = {
+ mc = {
+ name = "mc";
+ description = "user playing mc";
+ home = "/home/mc";
+ createHome = true;
+ useDefaultShell = true;
+ packages = with pkgs; [
+ tmux
+ ];
+ };
+ };
+ krebs.per-user.mc.packages = [ pkgs.jdk ];
+ krebs.iptables.tables.filter.INPUT.rules = [
+ { predicate = "-p tcp --dport 25565"; target = "ACCEPT"; }
+ { predicate = "-p udp --dport 25565"; target = "ACCEPT"; }
+ ];
+}
diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix
index 7f531bf3a..a83d51f1d 100644
--- a/lass/2configs/radio.nix
+++ b/lass/2configs/radio.nix
@@ -118,6 +118,7 @@ in {
if test $(timeLeft) -le $LIMIT; then
${add_random}/bin/add_random
fi
+ ${pkgs.mpc_cli}/bin/mpc play > /dev/null
'';
in {
description = "radio playlist autoadder";
diff --git a/lass/2configs/zsh.nix b/lass/2configs/zsh.nix
index 4d33aa79d..add30fbf1 100644
--- a/lass/2configs/zsh.nix
+++ b/lass/2configs/zsh.nix
@@ -1,5 +1,6 @@
{ config, lib, pkgs, ... }:
{
+ environment.systemPackages = [ pkgs.fzf ];
programs.zsh = {
enable = true;
shellInit = ''
@@ -7,10 +8,8 @@
zsh-newuser-install() { :; }
'';
interactiveShellInit = ''
- #unsetopt nomatch
setopt autocd extendedglob
bindkey -e
- zstyle :compinstall filename '/home/lass/.zshrc'
#history magic
bindkey "" up-line-or-local-history
@@ -39,8 +38,11 @@
zle -N edit-command-line
bindkey "^X^E" edit-command-line
+ #fzf inclusion
+ source ${pkgs.fzf}/share/fzf/completion.zsh
+ source ${pkgs.fzf}/share/fzf/key-bindings.zsh
+
#completion magic
- fpath=(~/.zsh/completions $fpath)
autoload -Uz compinit
compinit
zstyle ':completion:*' menu select
@@ -48,14 +50,16 @@
#enable automatic rehashing of $PATH
zstyle ':completion:*' rehash true
-
- #eval $( dircolors -b ~/.LS_COLORS )
-
- # export MANPAGER='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" | vim -R -c "set ft=man nonu nomod nolist" -'
+ eval $(dircolors -b ${pkgs.fetchFromGitHub {
+ owner = "trapd00r";
+ repo = "LS_COLORS";
+ rev = "master";
+ sha256="05lh5w3bgj9h8d8lrbbwbzw8788709cnzzkl8yh7m1dawkpf6nlp";
+ }}/LS_COLORS)
#beautiful colors
alias ls='ls --color'
- zstyle ':completion:*:default' list-colors ''${(s.:.)LS_COLORS}
+ # zstyle ':completion:*:default' list-colors ''${(s.:.)LS_COLORS}
#emacs bindings
bindkey "[7~" beginning-of-line
@@ -66,27 +70,8 @@
#aliases
alias ll='ls -l'
alias la='ls -la'
- alias pinginet='ping 8.8.8.8'
- alias du='du -hd1'
- alias qiv="qiv -f -m"
- alias zshres="source ~/.zshrc"
#fancy window title magic
- case $TERM in
- (*xterm* | *rxvt*)
-
- # Write some info to terminal title.
- # This is seen when the shell prompts for input.
- function precmd {
- print -Pn "\e]0;%(1j,%j job%(2j|s|); ,)%~\a"
- }
- # Write command and args to terminal title.
- # This is seen while the shell waits for a command to complete.
- function preexec {
- printf "\033]0;%s\a" "$1"
- }
- ;;
- esac
'';
promptInit = ''
# TODO: figure out why we need to set this here
@@ -97,26 +82,59 @@
autoload -U promptinit
promptinit
- error='%(?..%F{red}%?%f )'
+ p_error='%(?..%F{red}%?%f )'
+ t_error='%(?..%? )'
case $UID in
0)
- username='%F{red}root%f '
+ p_username='%F{red}root%f'
+ t_username='root'
;;
1337)
- username=""
+ p_username=""
+ t_username=""
;;
*)
- username='%F{blue}%n%f '
+ p_username='%F{blue}%n%f'
+ t_username='%n'
;;
esac
if test -n "$SSH_CLIENT"; then
- PROMPT="$error$username@%F{magenta}%M%f %~ "
+ p_hostname='@%F{magenta}%M%f '
+ t_hostname='@%M '
else
- PROMPT="$error$username%~ "
+ p_hostname=""
+ t_hostname=""
fi
+
+ #check if in nix shell
+ if test -n "$buildInputs"; then
+ p_nixshell='%F{green}[s]%f '
+ t_nixshell='[s] '
+ else
+ p_nixshell=""
+ t_nixshell=""
+ fi
+
+ PROMPT="$p_error$p_username$p_hostname$p_nixshell%~ "
+ TITLE="$t_error$t_username$t_hostname$t_nixshell%~"
+ case $TERM in
+ (*xterm* | *rxvt*)
+ function precmd {
+ PROMPT_EVALED="$(print -P $TITLE)"
+ echo -ne "\033]0;$$ $PROMPT_EVALED\007"
+ }
+ # This is seen while the shell waits for a command to complete.
+ function preexec {
+ PROMPT_EVALED="$(print -P $TITLE)"
+ echo -ne "\033]0;$$ $PROMPT_EVALED $1\007"
+ }
+ ;;
+ esac
'';
};
- users.users.mainUser.shell = "/run/current-system/sw/bin/zsh";
+ environment.shellAliases.ns = "nix-shell --command zsh";
+
+ users.defaultUserShell = "/run/current-system/sw/bin/zsh";
}
diff --git a/lass/source.nix b/lass/source.nix
index 46c6d31dc..e3332c5de 100644
--- a/lass/source.nix
+++ b/lass/source.nix
@@ -8,10 +8,7 @@ in
evalSource (toString _file) [
{
nixos-config.symlink = "stockholm/lass/1systems/${name}/config.nix";
- nixpkgs.git = {
- url = https://github.com/nixos/nixpkgs;
- ref = "d202e30";
- };
+ nixpkgs = (import <stockholm/krebs/source.nix> host).nixpkgs;
secrets = getAttr builder {
buildbot.file = toString <stockholm/lass/2configs/tests/dummy-secrets>;
lass.pass = {