summaryrefslogtreecommitdiffstats
path: root/makefu
diff options
context:
space:
mode:
Diffstat (limited to 'makefu')
-rw-r--r--makefu/1systems/cake/config.nix3
-rw-r--r--makefu/1systems/gum/config.nix3
-rw-r--r--makefu/1systems/omo/config.nix1
-rw-r--r--makefu/2configs/bgt/backup.nix20
-rw-r--r--makefu/2configs/bgt/download.binaergewitter.de.nix30
-rw-r--r--makefu/2configs/deployment/owncloud.nix1
-rw-r--r--makefu/2configs/home-manager/cli.nix30
-rw-r--r--makefu/2configs/home-manager/desktop.nix7
-rw-r--r--makefu/2configs/home-manager/zsh.nix126
-rw-r--r--makefu/2configs/hw/ssd.nix4
-rw-r--r--makefu/2configs/hw/tp-x2x0.nix2
-rw-r--r--makefu/2configs/support-nixos.nix1
-rw-r--r--makefu/2configs/zsh-user.nix82
-rw-r--r--makefu/3modules/bump-distrowatch.nix31
-rw-r--r--makefu/3modules/default.nix1
-rw-r--r--makefu/5pkgs/ns-atmosphere-programmer/default.nix9
-rw-r--r--makefu/5pkgs/xdcc-dl/default.nix195
-rw-r--r--makefu/krops.nix14
18 files changed, 465 insertions, 95 deletions
diff --git a/makefu/1systems/cake/config.nix b/makefu/1systems/cake/config.nix
index 1a617e52d..2491352eb 100644
--- a/makefu/1systems/cake/config.nix
+++ b/makefu/1systems/cake/config.nix
@@ -38,6 +38,9 @@
})
];
networking.wireless.enable = true;
+ users.extraUsers.root.openssh.authorizedKeys.keys = [
+ config.krebs.users.Mic92.pubkey
+ ];
# File systems configuration for using the installer's partition layout
fileSystems = {
diff --git a/makefu/1systems/gum/config.nix b/makefu/1systems/gum/config.nix
index dcfa3d0e5..6024260dc 100644
--- a/makefu/1systems/gum/config.nix
+++ b/makefu/1systems/gum/config.nix
@@ -21,6 +21,7 @@ in {
];
};
}
+ <stockholm/makefu/2configs/support-nixos.nix>
# <stockholm/makefu/2configs/stats/client.nix>
<stockholm/makefu/2configs/stats/netdata-server.nix>
@@ -123,7 +124,6 @@ in {
<stockholm/makefu/2configs/nginx/misa-felix-hochzeit.ml.nix>
# <stockholm/makefu/2configs/nginx/gold.krebsco.de.nix>
<stockholm/makefu/2configs/nginx/iso.euer.nix>
- <stockholm/krebs/2configs/cache.nsupdate.info.nix>
<stockholm/makefu/2configs/deployment/photostore.krebsco.de.nix>
<stockholm/makefu/2configs/deployment/graphs.nix>
@@ -131,6 +131,7 @@ in {
<stockholm/makefu/2configs/deployment/boot-euer.nix>
<stockholm/makefu/2configs/bgt/download.binaergewitter.de.nix>
<stockholm/makefu/2configs/bgt/hidden_service.nix>
+ <stockholm/makefu/2configs/bgt/backup.nix>
# <stockholm/makefu/2configs/logging/client.nix>
diff --git a/makefu/1systems/omo/config.nix b/makefu/1systems/omo/config.nix
index 81b1e0ea1..ac2677b7f 100644
--- a/makefu/1systems/omo/config.nix
+++ b/makefu/1systems/omo/config.nix
@@ -11,6 +11,7 @@ in {
./hw/omo.nix
#./hw/tsp.nix
<stockholm/makefu>
+ <stockholm/makefu/2configs/support-nixos.nix>
<stockholm/makefu/2configs/zsh-user.nix>
<stockholm/makefu/2configs/backup/state.nix>
<stockholm/makefu/2configs/exim-retiolum.nix>
diff --git a/makefu/2configs/bgt/backup.nix b/makefu/2configs/bgt/backup.nix
new file mode 100644
index 000000000..3b9baadef
--- /dev/null
+++ b/makefu/2configs/bgt/backup.nix
@@ -0,0 +1,20 @@
+{
+ # Manual steps:
+ # 1. ssh-copy-id root ssh-key to the remotes you want to back up
+ # 2. run `rsnapshot hourly` manually as root to check if everything works
+ services.rsnapshot = {
+ enable = true;
+ cronIntervals = {
+ daily = "50 21 * * *";
+ hourly = "0 */4 * * *";
+ };
+ extraConfig = ''
+retain hourly 5
+retain daily 365
+snapshot_root /var/backup
+backup root@binaergewitter.jit.computer:/opt/isso jit
+backup root@binaergewitter.jit.computer:/etc/systemd/system/isso.service jit
+backup root@binaergewitter.jit.computer:/etc/nginx/conf.d/isso.conf jit
+ '';
+ };
+}
diff --git a/makefu/2configs/bgt/download.binaergewitter.de.nix b/makefu/2configs/bgt/download.binaergewitter.de.nix
index 6d64848f5..f223081e9 100644
--- a/makefu/2configs/bgt/download.binaergewitter.de.nix
+++ b/makefu/2configs/bgt/download.binaergewitter.de.nix
@@ -3,6 +3,8 @@
with import <stockholm/lib>;
let
ident = (builtins.readFile ./auphonic.pub);
+ bgtaccess = "/var/spool/nginx/logs/binaergewitter.access.log";
+ bgterror = "/var/spool/nginx/logs/binaergewitter.error.log";
in {
services.openssh = {
allowSFTP = true;
@@ -21,6 +23,19 @@ in {
useDefaultShell = true;
openssh.authorizedKeys.keys = [ ident config.krebs.users.makefu.pubkey ];
};
+ services.logrotate = {
+ enable = true;
+ config = ''
+ ${bgtaccess} ${bgterror} {
+ rotate 5
+ weekly
+ create 600 nginx nginx
+ postrotate
+ ${pkgs.systemd}/bin/systemctl reload nginx
+ endscript
+ }
+ '';
+ };
services.nginx = {
enable = lib.mkDefault true;
recommendedGzipSettings = true;
@@ -29,10 +44,21 @@ in {
serverAliases = [ "dl2.binaergewitter.de" ];
root = "/var/www/binaergewitter";
extraConfig = ''
- access_log /var/spool/nginx/logs/binaergewitter.access.log combined;
- error_log /var/spool/nginx/logs/binaergewitter.error.log error;
+ access_log ${bgtaccess} combined;
+ error_log ${bgterror} error;
autoindex on;
'';
};
};
+ environment.etc."netdata/python.d/web_log.conf".text = ''
+ nginx_log3:
+ name: 'nginx'
+ path: '/var/spool/nginx/logs/access.log'
+ nginx_log4:
+ name: 'bgt'
+ path: '${bgtaccess}'
+ '';
+
+ users.users.netdata.extraGroups = [ "nginx" ];
+
}
diff --git a/makefu/2configs/deployment/owncloud.nix b/makefu/2configs/deployment/owncloud.nix
index cfde0aba8..d7c082662 100644
--- a/makefu/2configs/deployment/owncloud.nix
+++ b/makefu/2configs/deployment/owncloud.nix
@@ -169,6 +169,7 @@ in {
( serveCloud [ "o.euer.krebsco.de" ] )
];
+ networking.firewall.allowedTCPPorts = [ 80 443 ];
services.redis.enable = true;
services.mysql = {
enable = false;
diff --git a/makefu/2configs/home-manager/cli.nix b/makefu/2configs/home-manager/cli.nix
index 64aa03bd7..6b5d26111 100644
--- a/makefu/2configs/home-manager/cli.nix
+++ b/makefu/2configs/home-manager/cli.nix
@@ -1,4 +1,5 @@
{pkgs, ... }: {
+ imports = [ ./zsh.nix ];
home-manager.users.makefu = {
services.gpg-agent = {
enable = true;
@@ -9,7 +10,34 @@
enableSshSupport = true;
enableScDaemon = true;
};
- programs.fzf.enable = true; # alt-c
+ programs.direnv = {
+ stdlib = ''
+use_nix() {
+ local cache=".direnv.$(nixos-version --hash)"
+
+ if [[ ! -e "$cache" ]] || \
+ [[ "$HOME/.direnvrc" -nt "$cache" ]] || \
+ [[ ".envrc" -nt "$cache" ]] || \
+ [[ "default.nix" -nt "$cache" ]] || \
+ [[ "shell.nix" -nt "$cache" ]];
+ then
+ local tmp="$(mktemp "$${cache}.tmp-XXXXXXXX")"
+ trap "rm -rf '$tmp' >/dev/null" EXIT
+ nix-shell --show-trace "$@" --run 'direnv dump' > "$tmp" && \
+ mv "$tmp" "$cache"
+ fi
+
+ direnv_load cat "$cache"
+
+ if [[ $# = 0 ]]; then
+ watch_file default.nix
+ watch_file shell.nix
+ rm direnv.* 2>/dev/null
+ fi
+}
+'';
+ enableZshIntegration = true;
+ };
};
services.udev.packages = [
pkgs.libu2f-host
diff --git a/makefu/2configs/home-manager/desktop.nix b/makefu/2configs/home-manager/desktop.nix
index ce98e651a..40a1c6497 100644
--- a/makefu/2configs/home-manager/desktop.nix
+++ b/makefu/2configs/home-manager/desktop.nix
@@ -1,11 +1,13 @@
-{ pkgs, lib, ... }:
+{ pkgs, lib, ... }:
{
+ users.users.makefu.packages = with pkgs;[ bat direnv ];
home-manager.users.makefu = {
programs.browserpass = { browsers = [ "firefox" ] ; enable = true; };
programs.firefox.enable = true;
+ programs.obs-studio.enable = true;
+ xdg.enable = true;
services.network-manager-applet.enable = true;
- systemd.user.services.network-manager-applet.Service.Environment = ''XDG_DATA_DIRS=/etc/profiles/per-user/makefu/share GDK_PIXBUF_MODULE_FILE=${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache'';
services.blueman-applet.enable = true;
services.pasystray.enable = true;
systemd.user.services.pasystray.Service.Environment = "PATH=" + (lib.makeBinPath (with pkgs;[ pavucontrol paprefs /* pavumeter */ /* paman */ ]) );
@@ -34,7 +36,6 @@
};
Service = {
- Environment = ''XDG_DATA_DIRS=/etc/profiles/per-user/makefu/share GDK_PIXBUF_MODULE_FILE=${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache'';
ExecStart = "${pkgs.clipit}/bin/clipit";
Restart = "on-abort";
};
diff --git a/makefu/2configs/home-manager/zsh.nix b/makefu/2configs/home-manager/zsh.nix
new file mode 100644
index 000000000..dff6d9337
--- /dev/null
+++ b/makefu/2configs/home-manager/zsh.nix
@@ -0,0 +1,126 @@
+{ pkgs, ... }:
+{
+ imports = [
+ { #direnv
+ home-manager.users.makefu.home.packages = [ pkgs.direnv ];
+ home-manager.users.makefu.home.file.".direnvrc".text = ''
+ use_nix() {
+ local path="$(nix-instantiate --find-file nixpkgs)"
+
+ if [ -f "$${path}/.version-suffix" ]; then
+ local version="$(< $path/.version-suffix)"
+ elif [ -f "$path/.version" ]; then
+ local version="$(< $path/.version)"
+ else
+ local version="$(< $(< $path/.git/HEAD))"
+ fi
+
+ local cache=".direnv/cache-''${version:-unknown}"
+
+ if [[ ! -e "$cache" ]] || \
+ [[ "$HOME/.direnvrc" -nt "$cache" ]] || \
+ [[ .envrc -nt "$cache" ]] || \
+ [[ default.nix -nt "$cache" ]] || \
+ [[ shell.nix -nt "$cache" ]];
+ then
+ [ -d .direnv ] || mkdir .direnv
+ local tmp=$(nix-shell --show-trace "$@" \
+ --run "\"$direnv\" dump bash")
+ echo "$tmp" > "$cache"
+ fi
+
+ local path_backup=$PATH term_backup=$TERM
+ direnv_load cat "$cache"
+
+ export PATH=$PATH:$path_backup TERM=$term_backup
+
+ if [[ $# = 0 ]]; then
+ watch_file default.nix
+ watch_file shell.nix
+ fi
+ }
+ '';
+ home-manager.users.makefu.programs.zsh.initExtra = ''
+ nixify() {
+ if [ ! -e ./.envrc ]; then
+ echo "use nix" > .envrc
+ direnv allow
+ fi
+ if [ ! -e default.nix ]; then
+ cat > default.nix <<'EOF'
+ with import <nixpkgs> {};
+ stdenv.mkDerivation {
+ name = "env";
+ buildInputs = [
+ bashInteractive
+ ];
+ }
+ EOF
+ ${EDITOR:-vim} default.nix
+ fi
+ }
+ eval "$(direnv hook zsh)"
+ '';
+ }
+ { # bat
+ home-manager.users.makefu.home.packages = [ pkgs.bat ];
+ home-manager.users.makefu.programs.zsh.shellAliases = {
+ cat = "bat";
+ catn = "${pkgs.coreutils}/bin/cat";
+ };
+ }
+ ];
+ environment.pathsToLink = [ "/share/zsh" ];
+ home-manager.users.makefu = {
+ programs.fzf.enable = false; # alt-c
+ programs.zsh = {
+ enable = true;
+ enableAutosuggestions = false;
+ enableCompletion = true;
+ oh-my-zsh.enable = false;
+ history = {
+ size = 900001;
+ save = 900001;
+ ignoreDups = true;
+ extended = true;
+ share = true;
+ };
+ sessionVariables = {
+ TERM = "rxvt-unicode-256color";
+ LANG = "en_US.UTF8";
+ LS_COLORS = ":di=1;31:";
+ EDITOR = "vim";
+ };
+ shellAliases = {
+ lsl = "ls -lAtr";
+ t = "task";
+ xo = "mimeopen";
+ nmap = "nmap -oN $HOME/loot/scan-`date +\%s`.nmap -oX $HOME/loot/scan-`date +%s`.xml";
+ };
+ initExtra = ''
+ bindkey -e
+ # shift-tab
+ bindkey '^[[Z' reverse-menu-complete
+ bindkey "\e[3~" delete-char
+ zstyle ':completion:*' menu select
+
+ setopt HIST_IGNORE_ALL_DUPS
+ setopt HIST_IGNORE_SPACE
+ setopt HIST_FIND_NO_DUPS
+
+ unset SSH_AGENT_PID
+ export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
+ compdef _pass brain
+ zstyle ':completion::complete:brain::' prefix "$HOME/brain"
+ compdef _pass secrets
+ zstyle ':completion::complete:secrets::' prefix "$HOME/.secrets-pass/"
+
+ # ctrl-x ctrl-e
+ autoload -U edit-command-line
+ zle -N edit-command-line
+ bindkey '^xe' edit-command-line
+ bindkey '^x^e' edit-command-line
+ '';
+ };
+ };
+}
diff --git a/makefu/2configs/hw/ssd.nix b/makefu/2configs/hw/ssd.nix
new file mode 100644
index 000000000..9615b34d8
--- /dev/null
+++ b/makefu/2configs/hw/ssd.nix
@@ -0,0 +1,4 @@
+{
+ # ssd trimming
+ services.fstrim.enable = true;
+}
diff --git a/makefu/2configs/hw/tp-x2x0.nix b/makefu/2configs/hw/tp-x2x0.nix
index 98fe30daf..42ae309d0 100644
--- a/makefu/2configs/hw/tp-x2x0.nix
+++ b/makefu/2configs/hw/tp-x2x0.nix
@@ -4,6 +4,7 @@ with import <stockholm/lib>;
{
imports = [
./tpm.nix
+ ./ssd.nix
];
boot.kernelModules = [
@@ -50,6 +51,7 @@ with import <stockholm/lib>;
CPU_MAX_PERF_ON_BAT=30
'';
+
powerManagement.resumeCommands = ''
${pkgs.rfkill}/bin/rfkill unblock all
'';
diff --git a/makefu/2configs/support-nixos.nix b/makefu/2configs/support-nixos.nix
new file mode 100644
index 000000000..d4e5556ff
--- /dev/null
+++ b/makefu/2configs/support-nixos.nix
@@ -0,0 +1 @@
+{ makefu.distrobump.enable = true; }
diff --git a/makefu/2configs/zsh-user.nix b/makefu/2configs/zsh-user.nix
index 23ae572da..e0ea046cf 100644
--- a/makefu/2configs/zsh-user.nix
+++ b/makefu/2configs/zsh-user.nix
@@ -1,83 +1,11 @@
{ config, lib, pkgs, ... }:
-##
-with import <stockholm/lib>;
let
mainUser = config.krebs.build.user.name;
in
{
- users.extraUsers.${mainUser}.shell = "/run/current-system/sw/bin/zsh";
programs.zsh= {
enable = true;
- enableCompletion = true ; #manually at the end
- interactiveShellInit = ''
- HISTSIZE=900001
- HISTFILESIZE=$HISTSIZE
- SAVEHIST=$HISTSIZE
- HISTFILE=$HOME/.zsh_history
-
- setopt HIST_IGNORE_ALL_DUPS
- setopt HIST_IGNORE_SPACE
- setopt HIST_FIND_NO_DUPS
- bindkey -e
- # shift-tab
- bindkey '^[[Z' reverse-menu-complete
- bindkey "\e[3~" delete-char
- zstyle ':completion:*' menu select
-
- ${pkgs.gnupg}/bin/gpg-connect-agent updatestartuptty /bye >/dev/null
- GPG_TTY=$(tty)
- export GPG_TTY
- LS_COLORS=$LS_COLORS:'di=1;31:' ; export LS_COLORS
-
- unset SSH_AGENT_PID
- export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
-
- # fzf
- __fsel_fzf() {
- local cmd="''${FZF_CTRL_T_COMMAND:-"command find -L . -mindepth 1 \\( -path '*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' \\) -prune \
- -o -type f -print \
- -o -type d -print \
- -o -type l -print 2> /dev/null | cut -b3-"}"
- setopt localoptions pipefail 2> /dev/null
- eval "$cmd" | FZF_DEFAULT_OPTS="--height ''${FZF_TMUX_HEIGHT:-40%} --reverse $FZF_DEFAULT_OPTS $FZF_CTRL_T_OPTS" $(__fzfcmd) -m "$@" | while read item; do
- echo -n "''${(q)item} "
- done
- local ret=$?
- echo
- return $ret
- }
-
- __fzf_use_tmux__() {
- [ -n "$TMUX_PANE" ] && [ "''${FZF_TMUX:-0}" != 0 ] && [ ''${LINES:-40} -gt 15 ]
- }
-
- __fzfcmd() {
- __fzf_use_tmux__ &&
- echo "fzf-tmux -d''${FZF_TMUX_HEIGHT:-40%}" || echo "fzf"
- }
-
- fzf-file-widget() {
- LBUFFER="''${LBUFFER}$(__fsel_fzf)"
- local ret=$?
- zle redisplay
- typeset -f zle-line-init >/dev/null && zle zle-line-init
- return $ret
- }
- zle -N fzf-file-widget
- bindkey '^T' fzf-file-widget
-
- compdef _pass brain
- zstyle ':completion::complete:brain::' prefix "$HOME/brain"
- compdef _pass secrets
- zstyle ':completion::complete:secrets::' prefix "$HOME/.secrets-pass/"
-
- # ctrl-x ctrl-e
- autoload -U edit-command-line
- zle -N edit-command-line
- bindkey '^xe' edit-command-line
- bindkey '^x^e' edit-command-line
-
- '';
+ enableCompletion = false; #manually at the end
promptInit = ''
RPROMPT=""
@@ -93,8 +21,8 @@ in
'';
};
- users.users.${mainUser}.packages = [
- pkgs.nix-zsh-completions
- pkgs.fzf
- ];
+ users.users.${mainUser} = {
+ shell = "/run/current-system/sw/bin/zsh";
+ packages = [ pkgs.nix-zsh-completions ];
+ };
}
diff --git a/makefu/3modules/bump-distrowatch.nix b/makefu/3modules/bump-distrowatch.nix
new file mode 100644
index 000000000..18426cdcc
--- /dev/null
+++ b/makefu/3modules/bump-distrowatch.nix
@@ -0,0 +1,31 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.makefu.distrobump;
+
+ imp = {
+ systemd.services.distrobump = {
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ path = [ pkgs.curl ];
+ restartIfChanged = false;
+ startAt = "daily";
+ serviceConfig = {
+ PrivateTmp = true;
+ Type = "oneshot";
+ ExecStart = pkgs.writeDash "bump-distrowatch" ''
+ set -euf
+ UA='Mozilla/5.0 (X11; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0'
+ curl -Lvc /tmp/cookie.jar -A "$UA" 'https://distrowatch.com/' >/dev/null
+ sleep $(shuf -i 3-15 -n1).$(shuf -i 0-9 -n1)
+ curl -Lvc /tmp/cookie.jar -A "$UA" -e 'https://distrowatch.com/' 'https://distrowatch.com/nixos?frphr' >/dev/null
+ '';
+ RandomizedDelaySec = 28800;
+ };
+ };
+ };
+in
+{
+ options.makefu.distrobump.enable = lib.mkEnableOption "distrobump";
+ config = lib.mkIf cfg.enable imp;
+}
diff --git a/makefu/3modules/default.nix b/makefu/3modules/default.nix
index 65b5a6afd..c6d8fccc3 100644
--- a/makefu/3modules/default.nix
+++ b/makefu/3modules/default.nix
@@ -3,6 +3,7 @@ _:
{
imports = [
./awesome-extra.nix
+ ./bump-distrowatch.nix
./deluge.nix
./forward-journal.nix
./netdata.nix
diff --git a/makefu/5pkgs/ns-atmosphere-programmer/default.nix b/makefu/5pkgs/ns-atmosphere-programmer/default.nix
index 1e1cb1d86..88a408578 100644
--- a/makefu/5pkgs/ns-atmosphere-programmer/default.nix
+++ b/makefu/5pkgs/ns-atmosphere-programmer/default.nix
@@ -10,15 +10,16 @@ stdenv.mkDerivation rec {
version = "0.1";
src = fetchzip {
- url = "http://www.ns-atmosphere.com/media/content/ns-atmosphere-programmer-linux-v01.zip";
- sha256 = "0g2fxbirgi0lm0mi69cmknqj7626fxjkwn98bqx5pcalxplww8k0";
+ url = "https://archive.org/download/ns-atmosphere-programmer/ns-atmosphere-programmer-ubuntu-64bit-v01.zip";
+ # original source: http://www.ns-atmosphere.com/media/content/ns-atmosphere-programmer-ubuntu-64bit-v01.zip
+ sha256 = "1cnyydsmrcpfwpdiry7qybh179499wpbvlzq5rk442hq9ak416ri";
};
buildInputs = with xlibs; [ libX11 libXxf86vm libSM gnome3.gtk libpng12 ];
nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
installPhase = ''
- install -D -m755 NS-Atmosphere-Programmer-Linux-v0.1/NS-Atmosphere $out/bin/NS-Atmosphere
+ install -D -m755 NS-Atmosphere $out/bin/NS-Atmosphere
wrapProgram $out/bin/NS-Atmosphere --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share'
'';
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
dontStrip = true;
meta = with stdenv.lib; {
- description = "Payload programmer for ns-atmosphere injector";
+ description = "Payload programmer for ns-atmosphere injector for nintendo switch";
homepage = http://www.ns-atmosphere.com;
maintainers = [ maintainers.makefu ];
platforms = platforms.linux;
diff --git a/makefu/5pkgs/xdcc-dl/default.nix b/makefu/5pkgs/xdcc-dl/default.nix
new file mode 100644
index 000000000..d9fdc3d2b
--- /dev/null
+++ b/makefu/5pkgs/xdcc-dl/default.nix
@@ -0,0 +1,195 @@
+# generated using pypi2nix tool (version: 1.8.0)
+# See more at: https://github.com/garbas/pypi2nix
+#
+# COMMAND:
+# pypi2nix -V 3.6 -r ./lol
+#
+
+{ pkgs ? import <nixpkgs> {}
+}:
+
+let
+
+ inherit (pkgs) makeWrapper;
+ inherit (pkgs.stdenv.lib) fix' extends inNixShell;
+
+ pythonPackages =
+ import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
+ inherit pkgs;
+ inherit (pkgs) stdenv;
+ python = pkgs.python36;
+ };
+
+ commonBuildInputs = [];
+ commonDoCheck = false;
+
+ withPackages = pkgs':
+ let
+ pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
+ interpreter = pythonPackages.buildPythonPackage {
+ name = "python36-interpreter";
+ buildInputs = [ makeWrapper ] ++ (builtins.attrValues pkgs);
+ buildCommand = ''
+ mkdir -p $out/bin
+ ln -s ${pythonPackages.python.interpreter} $out/bin/${pythonPackages.python.executable}
+ for dep in ${builtins.concatStringsSep " " (builtins.attrValues pkgs)}; do
+ if [ -d "$dep/bin" ]; then
+ for prog in "$dep/bin/"*; do
+ if [ -f $prog ]; then
+ ln -s $prog $out/bin/`basename $prog`
+ fi
+ done
+ fi
+ done
+ for prog in "$out/bin/"*; do
+ wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
+ done
+ pushd $out/bin
+ ln -s ${pythonPackages.python.executable} python
+ popd
+ '';
+ passthru.interpreter = pythonPackages.python;
+ };
+ in {
+ __old = pythonPackages;
+ inherit interpreter;
+ mkDerivation = pythonPackages.buildPythonPackage;
+ packages = pkgs;
+ overrideDerivation = drv: f:
+ pythonPackages.buildPythonPackage (drv.drvAttrs // f drv.drvAttrs);
+ withPackages = pkgs'':
+ withPackages (pkgs // pkgs'');
+ };
+
+ python = withPackages {};
+
+ generated = self: {
+ inherit (pythonPackages) requests irc beautifulsoup4 six pyqt5;
+ "PyExecJS" = python.mkDerivation {
+ name = "PyExecJS-1.5.0";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/1c/a0/359e179605bbf3f6c6ed96c44e056eebed39732b67427f30d56e259934f2/PyExecJS-1.5.0.tar.gz"; sha256 = "99315766f8155eea195a3f4179b35cd8dc64b2360c081ae29d92c603c26aeaaa"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [
+ self."six"
+ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = licenses.mit;
+ description = "Run JavaScript code from Python";
+ };
+ };
+
+
+
+
+ "bs4" = python.mkDerivation {
+ name = "bs4-0.0.1";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz"; sha256 = "36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [
+ self."beautifulsoup4"
+ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = licenses.mit;
+ description = "Screen-scraping library";
+ };
+ };
+
+
+
+ "certifi" = python.mkDerivation {
+ name = "certifi-2017.11.5";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/23/3f/8be01c50ed24a4bd6b8da799839066ce0288f66f5e11f0367323467f0cbc/certifi-2017.11.5.tar.gz"; sha256 = "5ec74291ca1136b40f0379e1128ff80e866597e4e2c1e755739a913bbc3613c0"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = "MPL-2.0";
+ description = "Python package for providing Mozilla's CA Bundle.";
+ };
+ };
+
+
+
+ "cfscrape" = python.mkDerivation {
+ name = "cfscrape-1.9.1";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/cf/9a/50d3844d67fe5507217fd47c9e382e769ab5f7d967b41c25ba3712c441c3/cfscrape-1.9.1.tar.gz"; sha256 = "9cee3708c643904eaa010a64dd1715890457bb77010d87405fc1bfeb892508d7"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [
+ self."PyExecJS"
+ self."requests"
+ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = "";
+ description = "A simple Python module to bypass Cloudflare's anti-bot page. See https://github.com/Anorov/cloudflare-scrape for more information.";
+ };
+ };
+
+
+
+ "typing" = python.mkDerivation {
+ name = "typing-3.6.2";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ca/38/16ba8d542e609997fdcd0214628421c971f8c395084085354b11ff4ac9c3/typing-3.6.2.tar.gz"; sha256 = "d514bd84b284dd3e844f0305ac07511f097e325171f6cc4a20878d11ad771849"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = licenses.psfl;
+ description = "Type Hints for Python";
+ };
+ };
+
+
+
+
+ "urwid" = python.mkDerivation {
+ name = "urwid-1.3.1";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/85/5d/9317d75b7488c335b86bd9559ca03a2a023ed3413d0e8bfe18bea76f24be/urwid-1.3.1.tar.gz"; sha256 = "cfcec03e36de25a1073e2e35c2c7b0cc6969b85745715c3a025a31d9786896a1"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = licenses.lgpl2;
+ description = "A full-featured console (xterm et al.) user interface library";
+ };
+ };
+
+
+
+ "xdcc-dl" = python.mkDerivation {
+ name = "xdcc-dl-2.1.0";
+ src = pkgs.fetchurl { url = "https://pypi.python.org/packages/52/5a/1f1c8e77c212074d508701f208440bdfac4c6366de3f74fc9772a09369ef/xdcc_dl-2.1.0.tar.gz"; sha256 = "7071fca28de83ab0944b086a6dac0af053225b5663d9cf28a8dac868d81b2fc6"; };
+ doCheck = commonDoCheck;
+ buildInputs = commonBuildInputs;
+ propagatedBuildInputs = [
+ self."bs4"
+ self."cfscrape"
+ self."irc"
+ self."requests"
+ self."typing"
+ self."urwid"
+ ];
+ meta = with pkgs.stdenv.lib; {
+ homepage = "";
+ license = licenses.gpl3;
+ description = "An XDCC File Downloader based on the irclib framework";
+ };
+ };
+
+ };
+
+in python.withPackages
+ (fix' (pkgs.lib.fold
+ extends
+ generated
+ []
+ )
+ )
diff --git a/makefu/krops.nix b/makefu/krops.nix
index 2a2f70a05..30db07667 100644
--- a/makefu/krops.nix
+++ b/makefu/krops.nix
@@ -27,15 +27,15 @@
# TODO: we want to track the unstable channel
symlink = "/nix/var/nix/profiles/per-user/root/channels/nixos/";
} else {
- file = {
- path = toString (pkgs.fetchFromGitHub {
+ derivation = ''
+ with import <nixpkgs> {};
+ pkgs.fetchFromGitHub {
owner = "makefu";
repo = "nixpkgs";
- rev = nixpkgs-src.rev;
- sha256 = nixpkgs-src.sha256;
- });
- useChecksum = true;
- };
+ rev = "${nixpkgs-src.rev}";
+ sha256 = "${nixpkgs-src.sha256}";
+ }
+ '';
};
nixos-config.symlink = "stockholm/makefu/1systems/${name}/config.nix";