diff options
Diffstat (limited to 'krebs')
28 files changed, 245 insertions, 356 deletions
diff --git a/krebs/1systems/hotdog/config.nix b/krebs/1systems/hotdog/config.nix index 0a103ed1a..91071ec85 100644 --- a/krebs/1systems/hotdog/config.nix +++ b/krebs/1systems/hotdog/config.nix @@ -6,7 +6,6 @@ ../../../krebs/2configs ../../../krebs/2configs/nginx.nix - ../../../krebs/2configs/buildbot-stockholm.nix ../../../krebs/2configs/binary-cache/nixos.nix ../../../krebs/2configs/ircd.nix ../../../krebs/2configs/reaktor2.nix @@ -15,6 +14,10 @@ ../../../krebs/2configs/mud.nix ../../../krebs/2configs/repo-sync.nix + ../../../krebs/2configs/buildbot-stockholm.nix + #../../../krebs/2configs/buildbot/master.nix + #../../../krebs/2configs/buildbot/worker.nix + ../../../krebs/2configs/cal.nix ../../../krebs/2configs/mastodon.nix diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 60c1c941a..d3891af82 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ ./net.nix @@ -73,6 +73,7 @@ # hass.shack <stockholm/krebs/2configs/shack/glados> + <stockholm/krebs/2configs/shack/esphome.nix> # connect to git.shackspace.de as group runner for rz <stockholm/krebs/2configs/shack/gitlab-runner.nix> @@ -170,4 +171,5 @@ isNormalUser = true; shell = "/run/current-system/sw/bin/zsh"; }; + system.stateVersion = lib.mkForce "24.05"; } diff --git a/krebs/1systems/puyak/net.nix b/krebs/1systems/puyak/net.nix index 59b22b380..fe2fd238e 100644 --- a/krebs/1systems/puyak/net.nix +++ b/krebs/1systems/puyak/net.nix @@ -14,7 +14,7 @@ in { interfaces."${ext-if}".ipv4.addresses = [ { address = shack-ip; - prefixLength = 22; + prefixLength = 20; } ]; diff --git a/krebs/2configs/buildbot/master.nix b/krebs/2configs/buildbot/master.nix new file mode 100644 index 000000000..9598f6fa0 --- /dev/null +++ b/krebs/2configs/buildbot/master.nix @@ -0,0 +1,33 @@ +{buildbot-nix,...}: +let + #domain = "buildbot.krebsco.de"; + domain = "build.hotdog.r"; +in { + imports = [ + buildbot-nix.nixosModules.buildbot-master + ]; + + #services.nginx.virtualHosts."${domain}" = { + # enableACME = true; + # forceSSL = true; + #}; + + + services.buildbot-nix.master = { + enable = true; + admins = [ "makefu" ]; + buildSystems = [ "x86_64-linux" "aarch64-linux" ]; + inherit domain; + evalMaxMemorySize = "4096"; + evalWorkerCount = 16; + workersFile = "/var/src/secrets/buildbot/nix-workers"; + github = { + tokenFile = "/var/src/secrets/buildbot/github-token"; + webhookSecretFile = "/var/src/secrets/buildbot/github-webhook-secret"; + oauthSecretFile = "/var/src/secrets/buildbot/github-oauth-secret"; + oauthId = "Ov23lizFP7t7qoE9FuDA"; + user = "krebs-bob"; + topic = "buildbot"; + }; + }; +} diff --git a/krebs/2configs/buildbot/worker.nix b/krebs/2configs/buildbot/worker.nix new file mode 100644 index 000000000..e96c6df14 --- /dev/null +++ b/krebs/2configs/buildbot/worker.nix @@ -0,0 +1,11 @@ +{ buildbot-nix, ... }: +{ + imports = [ + buildbot-nix.nixosModules.buildbot-worker + ]; + + services.buildbot-nix.worker = { + enable = true; + workerPasswordFile = "/var/src/secrets/nix-worker-file"; + }; +} diff --git a/krebs/2configs/default.nix b/krebs/2configs/default.nix index 5d64555c8..6ca7c732a 100644 --- a/krebs/2configs/default.nix +++ b/krebs/2configs/default.nix @@ -28,7 +28,7 @@ with import ../../lib/pure.nix { inherit lib; }; networking.hostName = config.krebs.build.host.name; nix.maxJobs = 1; - nix.useSandbox = true; + nix.settings.sandbox = true; environment.systemPackages = with pkgs; [ git diff --git a/krebs/2configs/matterbridge.nix b/krebs/2configs/matterbridge.nix index f42921824..aa33f748f 100644 --- a/krebs/2configs/matterbridge.nix +++ b/krebs/2configs/matterbridge.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, ... }: { +{ pkgs, lib, config, ... }: { services.matterbridge = { enable = true; configPath = let diff --git a/krebs/2configs/news-host.nix b/krebs/2configs/news-host.nix index 81922ef87..9b8627d61 100644 --- a/krebs/2configs/news-host.nix +++ b/krebs/2configs/news-host.nix @@ -1,5 +1,6 @@ -{ config, ... }: +{ config,lib, ... }: { + nixpkgs.config.allowUnfree = true; # "consul-1.18.0" krebs.sync-containers3.containers.news = { sshKey = "${config.krebs.secret.directory}/news.sync.key"; }; diff --git a/krebs/2configs/shack/esphome.nix b/krebs/2configs/shack/esphome.nix new file mode 100644 index 000000000..b6bcbce3e --- /dev/null +++ b/krebs/2configs/shack/esphome.nix @@ -0,0 +1,7 @@ +{ + services.esphome = { + enable = true; + address = "0.0.0.0"; + openFirewall = true; + }; +} diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index 236b5000d..e8ed18f0d 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -3,29 +3,26 @@ let kodi-host = "192.168.8.11"; confdir = "/var/lib/homeassistant-docker"; in { - imports = [ - ]; + imports = [ ./zigbee.nix ]; - # networking.firewall.allowedTCPPorts = [ 8123 ]; + networking.firewall.allowedTCPPorts = [ 8123 ]; virtualisation.oci-containers.containers.hass = { image = "homeassistant/home-assistant:latest"; environment = { TZ = "Europe/Berlin"; - # TODO create unique users - PUID = toString config.users.users.news_container.uid; - PGID = toString config.users.groups.news_container.gid; UMASK = "007"; }; - extraOptions = ["--net=host" ]; + extraOptions = ["--net=host" "--device=/dev/zigbee" ]; volumes = [ "${confdir}:/config" + "${./zigbee-quirks}:/quirks" #"${confdir}/docker-run:/etc/services.d/home-assistant/run:" ]; }; systemd.tmpfiles.rules = [ #"f ${confdir}/docker-run 0770 kiosk kiosk - -" # TODO: - "d ${confdir} 0770 news_container news_container - -" + "d ${confdir} 0770 root root - -" ]; services.nginx.virtualHosts."hass.shack" = { diff --git a/krebs/2configs/shack/glados/zigbee-quirks/__init__.py b/krebs/2configs/shack/glados/zigbee-quirks/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee-quirks/__init__.py diff --git a/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py new file mode 100644 index 000000000..b520fe947 --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py @@ -0,0 +1,96 @@ +"""TS011F plug.""" + +from zigpy.profiles import zgp, zha +from zigpy.quirks import CustomDevice +from zigpy.zcl.clusters.general import ( + Basic, + GreenPowerProxy, + Groups, + Identify, + OnOff, + Ota, + Scenes, + Time, +) +from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement +from zigpy.zcl.clusters.lightlink import LightLink +from zigpy.zcl.clusters.measurement import TemperatureMeasurement +from zigpy.zcl.clusters.smartenergy import Metering + +from zhaquirks.const import ( + DEVICE_TYPE, + ENDPOINTS, + INPUT_CLUSTERS, + MODEL, + MODELS_INFO, + OUTPUT_CLUSTERS, + PROFILE_ID, +) +from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF +from zhaquirks.tuya import ( + EnchantedDevice, + TuyaNewManufCluster, + TuyaZB1888Cluster, + TuyaZBE000Cluster, + TuyaZBElectricalMeasurement, + TuyaZBExternalSwitchTypeCluster, + TuyaZBMeteringCluster, + TuyaZBMeteringClusterWithUnit, + TuyaZBOnOffAttributeCluster, +) + +class Plug_v2l(EnchantedDevice): + """Another TS011F Tuya plug. First one using this definition is _TZ3000_okaz9tjs.""" + + quirk_id = TUYA_PLUG_ONOFF + + signature = { + MODEL: "TS011F", + ENDPOINTS: { + # "profile_id": 260, + # "device_type": "0x0100", + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0702", "0x0b04", "0xe001"], + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x000a", "0x0702", "0x0b04", "0x1000", "0xe000", "0xe001"], + # "out_clusters": [] + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + OnOff.cluster_id, + Time.cluster_id, + Metering.cluster_id, + ElectricalMeasurement.cluster_id, + LightLink.cluster_id, + TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster.cluster_id, + ], + OUTPUT_CLUSTERS: [], + }, + }, + } + replacement = { + ENDPOINTS: { + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.SMART_PLUG, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + TuyaZBOnOffAttributeCluster, + Time.cluster_id, + TuyaZBMeteringClusterWithUnit, + TuyaZBElectricalMeasurement, + LightLink.cluster_id, + TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster, + ], + OUTPUT_CLUSTERS: [], + }, + }, + } diff --git a/krebs/2configs/shack/glados/zigbee.nix b/krebs/2configs/shack/glados/zigbee.nix new file mode 100644 index 000000000..a8967cc37 --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee.nix @@ -0,0 +1,5 @@ +{ + services.udev.extraRules = '' + SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="zigbee", MODE="0666" + ''; +} diff --git a/krebs/3modules/git.nix b/krebs/3modules/git.nix index 347a2c32b..961b217e1 100644 --- a/krebs/3modules/git.nix +++ b/krebs/3modules/git.nix @@ -468,6 +468,16 @@ let include ${pkgs.nginx}/conf/fastcgi_params; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT ${cfg.dataDir}; + fastcgi_param HOME ${pkgs.write "git-http-backend.home" { + "/.gitconfig".text = /* ini */ '' + [safe] + directory = . + ${concatMapStrings + (repo: "directory = ${cfg.dataDir}/${repo.name}\n") + (attrValues cfg.repos) + } + ''; + }}; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME ${pkgs.git}/bin/git-http-backend; fastcgi_pass unix:${config.services.fcgiwrap.socketAddress}; diff --git a/krebs/3modules/os-release.nix b/krebs/3modules/os-release.nix index bfd352825..929ec45d9 100644 --- a/krebs/3modules/os-release.nix +++ b/krebs/3modules/os-release.nix @@ -8,28 +8,34 @@ let nixos-version = "${nixos-version-id} (${nixos-codeName})"; nixos-pretty-name = "NixOS ${nixos-version}"; - stockholm-version-id = let - eval = builtins.tryEval (removeSuffix "\n" (readFile <stockholm-version>)); - in - if eval.success then eval.value else "unknown"; - - stockholm-version = "${stockholm-version-id}"; + stockholm-version = "${config.krebs.os-release.stockholm-version-id}"; stockholm-pretty-name = "stockholm ${stockholm-version}"; version = "${stockholm-version}/${nixos-version}"; - version-id = "${stockholm-version-id}/${nixos-version-id}"; + version-id = "${config.krebs.os-release.stockholm-version-id}/${nixos-version-id}"; pretty-name = "${stockholm-pretty-name} / ${nixos-pretty-name}"; home-url = http://cgit.ni.krebsco.de/stockholm; in { - # http://0pointer.de/public/systemd-man/os-release.html - environment.etc."os-release".text = mkForce '' - NAME="stockholm/NixOS" - ID=stockholm - VERSION="${version}" - VERSION_ID="${version-id}" - PRETTY_NAME="${pretty-name}" - HOME_URL="${home-url}" - ''; + options.krebs.os-release = { + stockholm-version-id = lib.mkOption { + type = lib.types.str; + default = let + eval = builtins.tryEval (removeSuffix "\n" (readFile <stockholm-version>)); + in + if eval.success then eval.value else "unknown"; + }; + }; + config = { + # http://0pointer.de/public/systemd-man/os-release.html + environment.etc."os-release".text = mkForce '' + NAME="stockholm/NixOS" + ID=stockholm + VERSION="${version}" + VERSION_ID="${version-id}" + PRETTY_NAME="${pretty-name}" + HOME_URL="${home-url}" + ''; + }; } diff --git a/krebs/3modules/upstream/desktop-managers/default.nix b/krebs/3modules/upstream/desktop-managers/default.nix index 22e75439d..5fd39086c 100644 --- a/krebs/3modules/upstream/desktop-managers/default.nix +++ b/krebs/3modules/upstream/desktop-managers/default.nix @@ -1,6 +1,5 @@ { imports = [ ./coma.nix - ./none.nix ]; } diff --git a/krebs/3modules/upstream/desktop-managers/none.nix b/krebs/3modules/upstream/desktop-managers/none.nix deleted file mode 100644 index 77f7ad513..000000000 --- a/krebs/3modules/upstream/desktop-managers/none.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ lib, ... }: -# Replace upstream none desktop-manager by a real none, that doesn't pull in -# any dependencies. -{ - disabledModules = lib.singleton "services/x11/desktop-managers/none.nix"; - config.services.xserver.desktopManager.session = lib.singleton { - name = "none"; - bgSupport = true; - start = ""; - }; -} diff --git a/krebs/3modules/zones.nix b/krebs/3modules/zones.nix index 7a9cf5be1..51e559d88 100644 --- a/krebs/3modules/zones.nix +++ b/krebs/3modules/zones.nix @@ -21,6 +21,9 @@ with lib; { panda NS panda panda A 130.61.237.100 + + xkey A 217.197.83.17 + xkey AAAA 2a0a:4580:5011::1 ''; }; }; diff --git a/krebs/5pkgs/haskell/desktop-pager.nix b/krebs/5pkgs/haskell/desktop-pager.nix deleted file mode 100644 index 1a4f94db3..000000000 --- a/krebs/5pkgs/haskell/desktop-pager.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ mkDerivation, aeson, base, blessings, bytestring, containers -, data-default, extra, fetchgit, hack, lib, optparse-applicative -, probability, scanner, speculate, split, terminal-size, text, unix -, utf8-string, X11 -}: -mkDerivation { - pname = "desktop-pager"; - version = "1.0.0"; - src = fetchgit { - url = "https://cgit.krebsco.de/pager"; - sha256 = "07wjlhnb27vfhkqq5vhi768mlrcpwl4b2yfk04v3lw047q6pmby0"; - rev = "dfa3ff346d22d332ffbadd46963f1cc5cb2a4939"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base extra utf8-string X11 ]; - executableHaskellDepends = [ - aeson base blessings bytestring containers data-default hack - optparse-applicative probability scanner speculate split - terminal-size text unix X11 - ]; - license = lib.licenses.mit; -} diff --git a/krebs/5pkgs/haskell/hack.nix b/krebs/5pkgs/haskell/hack.nix deleted file mode 100644 index df3343818..000000000 --- a/krebs/5pkgs/haskell/hack.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ mkDerivation, base, blessings, containers, data-default, fetchgit -, lens, lib, mtl, old-locale, process, scanner, time, unix, zippers -}: -mkDerivation { - pname = "hack"; - version = "1.0.1"; - src = fetchgit { - url = "https://cgit.krebsco.de/hack"; - sha256 = "0ry5ikn89ij512qvk1xhdhfz4s8a6b9yawgx6lxgnw5jkiyjd7ka"; - rev = "f3ea150aca5cc86878fa10bc5b1f0918fc154e2a"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ base ]; - executableHaskellDepends = [ - base blessings containers data-default lens mtl old-locale process - scanner time unix zippers - ]; - license = lib.licenses.mit; -} diff --git a/krebs/5pkgs/haskell/much.nix b/krebs/5pkgs/haskell/much.nix deleted file mode 100644 index 865294daf..000000000 --- a/krebs/5pkgs/haskell/much.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ mkDerivation, aeson, attoparsec, base, base64-bytestring -, blaze-builder, blessings, bytestring, case-insensitive -, containers, data-default, deepseq, directory, either -, email-header, fetchgit, filepath, friendly-time, http-types -, hyphenation, lib, linebreak, network, old-locale -, optparse-applicative, process, random, rosezipper, safe, scanner -, servant-server, split, terminal-size, text, time, transformers -, transformers-compat, unix, vector, wai, warp -}: -mkDerivation rec { - pname = "much"; - version = "1.3.2"; - src = fetchgit { - url = "https://cgit.krebsco.de/much"; - hash = "sha256-q65EYO1d3NYVv2NECkGWPb1TyHGdARNi/GX4pgQmljc="; - rev = "refs/tags/${version}"; - fetchSubmodules = true; - }; - isLibrary = true; - isExecutable = true; - libraryHaskellDepends = [ - aeson attoparsec base base64-bytestring blaze-builder blessings - bytestring case-insensitive containers data-default deepseq - directory either email-header filepath friendly-time http-types - hyphenation linebreak network old-locale optparse-applicative - process random rosezipper safe scanner servant-server split - terminal-size text time transformers transformers-compat unix - vector wai warp - ]; - executableHaskellDepends = [ - aeson base blessings bytestring case-insensitive containers - data-default deepseq directory filepath hyphenation linebreak - process rosezipper safe scanner text time transformers unix - ]; - license = lib.licenses.mit; -} diff --git a/krebs/5pkgs/simple/brain/default.nix b/krebs/5pkgs/simple/brain/default.nix index bf52da75f..d7e36a527 100644 --- a/krebs/5pkgs/simple/brain/default.nix +++ b/krebs/5pkgs/simple/brain/default.nix @@ -1,16 +1,22 @@ -{ pass, runCommand, write, writeDash, ... }: +{ pkgs }: -write "brain" { - "/bin/brain".link = writeDash "brain" '' +let + pass = pkgs.pass.withExtensions (ext: [ + ext.pass-otp + ]); +in + +pkgs.write "brain" { + "/bin/brain".link = pkgs.writeDash "brain" '' PASSWORD_STORE_DIR=$HOME/brain \ - exec ${pass}/bin/pass $@ + exec ${pass}/bin/pass "$@" ''; - "/bin/brainmenu".link = writeDash "brainmenu" '' + "/bin/brainmenu".link = pkgs.writeDash "brainmenu" '' PASSWORD_STORE_DIR=$HOME/brain \ - exec ${pass}/bin/passmenu $@ + exec ${pass}/bin/passmenu "$@" ''; "/share/bash-completion/completions/brain".link = - runCommand "brain-completions" { + pkgs.runCommand "brain-completions" { } /* sh */ '' sed -r ' s/\<_pass?(_|\>)/_brain\1/g diff --git a/krebs/5pkgs/simple/cabal-read.nix b/krebs/5pkgs/simple/cabal-read.nix deleted file mode 100644 index 03b42ef2c..000000000 --- a/krebs/5pkgs/simple/cabal-read.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ writeHaskellPackage }: - -# Because `sed -n 's/.*\<ghc-options:\s\+\(.*\)/\1/p'` is too simple. -writeHaskellPackage "cabal-read" { - executables.ghc-options = { - extra-depends = ["Cabal"]; - text = /* haskell */ '' - {-# LANGUAGE CPP #-} - module Main (main) where - import Data.List - import Data.Maybe - import Distribution.Compiler - import Distribution.PackageDescription.Parsec - import Distribution.Types.BuildInfo - import Distribution.Types.CondTree - import Distribution.Types.Executable - import Distribution.Types.GenericPackageDescription - import Distribution.Types.UnqualComponentName - import Distribution.Verbosity - import System.Environment - main :: IO () - main = do - [path, name] <- getArgs - - desc <- readGenericPackageDescription normal path - - case lookup (mkUnqualComponentName name) (condExecutables desc) of - Just exe -> - putStrLn . intercalate " " . fromMaybe [] . lookup GHC - #if MIN_VERSION_Cabal(3,0,0) - . perCompilerFlavorToList - #endif - . options . buildInfo . condTreeData $ exe - - Nothing -> - error ("executable " <> name <> " not found in " <> path) - ''; - }; -} diff --git a/krebs/5pkgs/simple/flameshot-once/flameshot/default.nix b/krebs/5pkgs/simple/flameshot-once/flameshot/default.nix index f60acef08..43cfdb00d 100644 --- a/krebs/5pkgs/simple/flameshot-once/flameshot/default.nix +++ b/krebs/5pkgs/simple/flameshot-once/flameshot/default.nix @@ -12,5 +12,6 @@ pkgs.flameshot.overrideAttrs (old: rec { patches = old.patches or [] ++ [ ./flameshot-12.imgur.patch ./flameshot-12.history.patch + ./flameshot-12.applauncher.patch ]; }) diff --git a/krebs/5pkgs/simple/flameshot-once/flameshot/flameshot-12.applauncher.patch b/krebs/5pkgs/simple/flameshot-once/flameshot/flameshot-12.applauncher.patch new file mode 100644 index 000000000..6937c55b3 --- /dev/null +++ b/krebs/5pkgs/simple/flameshot-once/flameshot/flameshot-12.applauncher.patch @@ -0,0 +1,26 @@ +diff --git a/src/tools/launcher/applauncherwidget.cpp b/src/tools/launcher/applauncherwidget.cpp +index 8a202c89..7427aeb9 100644 +--- a/src/tools/launcher/applauncherwidget.cpp ++++ b/src/tools/launcher/applauncherwidget.cpp +@@ -20,6 +20,7 @@ + #include <QProcess> + #include <QStandardPaths> + #include <QTabWidget> ++#include <stdlib.h> + + namespace { + #if defined(Q_OS_WIN) +@@ -66,7 +67,12 @@ AppLauncherWidget::AppLauncherWidget(const QPixmap& p, QWidget* parent) + QDir appsDirLocal(dirLocal); + m_parser.processDirectory(appsDirLocal); + +- QString dir = QStringLiteral("/usr/share/applications/"); ++ const char *USER = secure_getenv("USER"); ++ QString dirUser = "/etc/profiles/per-user/" + QString::fromUtf8(USER) + "/share/applications/"; ++ QDir appsDirUser(dirUser); ++ m_parser.processDirectory(appsDirUser); ++ ++ QString dir = QStringLiteral("/run/current-system/sw/share/applications/"); + QDir appsDir(dir); + m_parser.processDirectory(appsDir); + #endif diff --git a/krebs/5pkgs/simple/krebs-pages/fixtures/index.html b/krebs/5pkgs/simple/krebs-pages/fixtures/index.html index 68b2cbad6..040580520 100644 --- a/krebs/5pkgs/simple/krebs-pages/fixtures/index.html +++ b/krebs/5pkgs/simple/krebs-pages/fixtures/index.html @@ -26,7 +26,7 @@ <body> <p><a href='https://cgit.krebsco.de/krops/about/'>krops</a></p> <p><a href='https://github.com/krebs/cholerab/blob/master/thesauron.adoc'>Thesauron</a></p> - <p><a href='https://nixos.wiki/'>Project: The new NixOS wiki</a></p> + <p><a href='https://wiki.nixos.org/'>Project: The new NixOS wiki</a></p> <p><a target="_blank" href="https://www.amazon.de/?&_encoding=UTF8&tag=krebscode06-21&linkCode=ur2&linkId=d4430b368b8aceeca92101cd4a4cdd1d&camp=1638&creative=6742">Go through this amazon affiliate link and generate krebsgold</a><img src="//ir-de.amazon-adsystem.com/e/ir?t=krebscode06-21&l=ur2&o=3" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p> <p> <a href="https://s.click.aliexpress.com/e/_A5luNt" target="_parent">Go through this aliexpress affiliate link and generate krebsgold</a></p> diff --git a/krebs/5pkgs/simple/pager.nix b/krebs/5pkgs/simple/pager.nix deleted file mode 100644 index adc2cc67b..000000000 --- a/krebs/5pkgs/simple/pager.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs }: - -pkgs.symlinkJoin { - name = "pager-wrapper"; - paths = [ - (pkgs.writeDashBin "pager" '' - # usage: pager {view,shift,shiftview} - # - # Environment variables - # - # PAGER_NAME (default: Pager) - # The environment variables specifies the application name under - # which resources are to be obtained. PAGER_NAME should not contain - # “.” or “*” characters. - # - set -efu - - pidfile=$XDG_RUNTIME_DIR/pager.lock - name=''${PAGER_NAME-Pager} - - if test -e "$pidfile" && - ${pkgs.procps}/bin/pgrep --pidfile="$pidfile" >/dev/null - then - ${pkgs.procps}/bin/pkill --pidfile="$pidfile" - ${pkgs.coreutils}/bin/rm "$pidfile" - exit - fi - - echo $$ > "$pidfile" - - exec ${pkgs.xterm}/bin/xterm \ - -name "$name" \ - -ti vt340 \ - -xrm '*geometry: 32x10' \ - -xrm '*internalBorder: 2' \ - -e ${pkgs.haskellPackages.desktop-pager}/bin/pager "$@" - '') - pkgs.haskellPackages.pager - ]; -} diff --git a/krebs/5pkgs/simple/q-power_supply.nix b/krebs/5pkgs/simple/q-power_supply.nix deleted file mode 100644 index ef133bfbd..000000000 --- a/krebs/5pkgs/simple/q-power_supply.nix +++ /dev/null @@ -1,146 +0,0 @@ -{ gawk, gnused, writeDashBin }: - -writeDashBin "q-power_supply" '' - power_supply() {( - set -efu - uevent=$1 - eval "$(${gnused}/bin/sed -n ' - s/^\([A-Z_]\+=[0-9A-Za-z_-]*\)$/export \1/p - ' $uevent)" - case $POWER_SUPPLY_NAME in - AC|Mains) - exit # not battery - ;; - esac - exec </dev/null - exec ${gawk}/bin/awk ' - function die(s) { - printf "%s: %s\n", name, s - exit 1 - } - - function print_hm(h, m) { - m = (h - int(h)) * 60 - return sprintf("%dh%dm", h, m) - } - - function print_bar(r) { - return \ - (r >= .1 ? bar_gradient[0] : bar_background) "■" \ - (r >= .2 ? bar_gradient[1] : bar_background) "■" \ - (r >= .3 ? bar_gradient[2] : bar_background) "■" \ - (r >= .4 ? bar_gradient[3] : bar_background) "■" \ - (r >= .5 ? bar_gradient[4] : bar_background) "■" \ - (r >= .6 ? bar_gradient[5] : bar_background) "■" \ - (r > |