summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--makefu/1systems/gum/config.nix2
-rw-r--r--makefu/1systems/omo/config.nix1
-rw-r--r--makefu/2configs/bgt/backup.nix20
-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/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
10 files changed, 262 insertions, 4 deletions
diff --git a/makefu/1systems/gum/config.nix b/makefu/1systems/gum/config.nix
index dcfa3d0e5..97b4555a5 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>
@@ -131,6 +132,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/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/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
+ []
+ )
+ )