diff options
30 files changed, 343 insertions, 95 deletions
diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index a20f6929e..eb1256d69 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -31,7 +31,7 @@ loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; - initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda3"; } ]; + initrd.luks.devices.luksroot.device = "/dev/sda3"; initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ]; initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" "usb_storage" ]; diff --git a/krebs/2configs/default.nix b/krebs/2configs/default.nix index d7d6fbf37..3442272ec 100644 --- a/krebs/2configs/default.nix +++ b/krebs/2configs/default.nix @@ -29,8 +29,8 @@ with import <stockholm/lib>; rxvt_unicode.terminfo ]; + console.keyMap = "us"; i18n = { - consoleKeyMap = "us"; defaultLocale = lib.mkForce "C"; }; diff --git a/krebs/2configs/save-diskspace.nix b/krebs/2configs/save-diskspace.nix index b1416a97a..c70029646 100644 --- a/krebs/2configs/save-diskspace.nix +++ b/krebs/2configs/save-diskspace.nix @@ -3,8 +3,8 @@ { nix.gc.automatic = true; nix.gc.dates = lib.mkDefault "03:10"; - programs.info.enable = false; - programs.man.enable = false; + documentation.info.enable = false; + documentation.man.enable = false; services.journald.extraConfig = "SystemMaxUse=50M"; - services.nixosManual.enable = false; + documentation.nixos.enable = false; } diff --git a/krebs/2configs/shack/glados/automation/announcement.j2 b/krebs/2configs/shack/glados/automation/announcement.j2 new file mode 100644 index 000000000..d3838bb33 --- /dev/null +++ b/krebs/2configs/shack/glados/automation/announcement.j2 @@ -0,0 +1,28 @@ +Willkommen werter Keyholder {{ states("sensor.keyholder") }} in deinem Lieblingshackerspace. + +Es ist {{states("sensor.temperature") | round(1) | replace('.',' Komma ')}} Grad {% if states("sensor.temperature")|float > 25 %}heiss{%elif states("sensor.temperature")|float > 15%}warm{%else%}kalt{%endif%} bei {% if states("sensor.humidity") | int <45 %}trockenen{% elif states("sensor.humidity") | int <65 %}angenehmen{%else%}feuchten{%endif%} {{states("sensor.humidity") | int }} Prozent Luftfeuchtigkeit. + +{% if (states("sensor.fullstand_mate_1")|int == 0) and + states("sensor.fullstand_mate_2")|int == 0 %}ES IST MAHTECALYPSE, BEIDE MAHTESCHÄCHTE SIND LEER! {%if states("sensor.fullstand_mate_cola")| int == 0%} UND SOGAR DIE COLA IST ALLE. Ihr seid sowas von am Arsch!{%else%}Zum Glück gibt es noch Cola, Phew!{%endif%} +{% elif (states("sensor.fullstand_mate_1")|int + states("sensor.fullstand_mate_2")|int) < 5 %} +Der Mahtestand im Automaten ist mit {{states("sensor.fullstand_mate_1")|int + states("sensor.fullstand_mate_2")|int }} verbleibenden Flaschen kritisch! +{% else %} +Im Automaten sind noch {{states("sensor.fullstand_mate_1")|int + states("sensor.fullstand_mate_2")|int }} Flaschen Mahte und {{states("sensor.fullstand_mate_cola")}} Flaschen Cola. +{%endif%} + +Die Wettervorhersage: {{states("sensor.dark_sky_hourly_summary")}} Aktuell {{states("sensor.dark_sky_summary")}} bei {{states("sensor.dark_sky_temperature") | round(1) | replace('.',' Komma ')}} Grad. +Der Stromverbrauch liegt bei {{ (( states("sensor.l1_power")|int + states("sensor.l2_power")|int + states("sensor.l3_power")|int ) / 1000 )| round(1) | replace('.',' Komma ')}} Kilowatt. + +Im Fablab ist die Feinstaubbelastung {% if states("sensor.fablab_particulate_matter_2_5um_concentration") | float > 50 %}hoch!{%elif states("sensor.fablab_particulate_matter_2_5um_concentration") | float > 25 %}mäßig.{% else %}gering.{%endif%} + +{% if is_state("binary_sensor.door_rzl",'on') and is_state("binary_sensor.door_entropia",'on') %} +Das Raumzeitlabor und Entropia haben geöffnet. +{% elif is_state("binary_sensor.door_rzl",'off') and is_state("binary_sensor.door_entropia",'off') %} +Das Raumzeitlabor und Entropia haben geschlossen. +{% elif is_state("binary_sensor.door_rzl",'on') and is_state("binary_sensor.door_entropia",'off') %} +Das Raumzeitlabor hat geöffnet und Entropia hat geschlossen. +{% elif is_state("binary_sensor.door_rzl",'off') and is_state("binary_sensor.door_entropia",'on') %} +Das Raumzeitlabor hat geschlossen und Entropia hat geöffnet. +{%endif%} + +Die Glados Hackerspace Automation wünscht dir und allen Anwesenden einen produktiven und angenehmen Aufenthalt! diff --git a/krebs/2configs/shack/glados/automation/shack-startup.nix b/krebs/2configs/shack/glados/automation/shack-startup.nix index 35314923b..ac7dd4f1e 100644 --- a/krebs/2configs/shack/glados/automation/shack-startup.nix +++ b/krebs/2configs/shack/glados/automation/shack-startup.nix @@ -2,12 +2,20 @@ # binary_sensor.portal_lock # sensor.keyholder # media_player.lounge + +# additional state required on: +# mpd.shack: +# playlist "ansage" +# playlist "lassulus" +# lounge.kiosk.shack: +# playlist "ansage" + let glados = import ../lib; in [ { - alias = "Greet new keyholder for key exchange"; + alias = "Bedanken bei Übernahme von Key"; initial_state = true; trigger = { platform = "state"; @@ -15,15 +23,22 @@ in }; condition = { condition = "template"; - value_template = "{{ trigger.from_state.state != 'No Keyholder' }}"; + value_template = "{{ (trigger.from_state.state != 'No Keyholder') and (trigger.from_state.state != 'No Keyholder') }}"; }; - action = glados.say.kiosk "Danke {{trigger.to_state.state}} für das Übernehmen des Keys von {{trigger.from_state.state}}"; - # action = []; + action = glados.say.kiosk "Danke {{ trigger.to_state.state }} für das Übernehmen des Keys von {{ trigger.from_state.state }}"; + } + { + alias = "Keyholder Begrüßen wenn MPD hoch fährt"; + initial_state = true; + trigger = { + platform = "state"; + from = "unavailable"; + entity_id = "media_player.kiosk"; + }; + action = glados.say.kiosk (builtins.readFile ./announcement.j2); } - { alias = "Start Music on portal lock on"; - # TODO: use "power" trigger trigger = { platform = "state"; entity_id = "binary_sensor.portal_lock"; @@ -61,7 +76,7 @@ in media_content_id = "ansage"; }; } - { delay.seconds = 8; } + { delay.seconds = 8.5; } { service = "media_player.volume_set"; data = { @@ -74,7 +89,7 @@ in data = { entity_id = "media_player.lounge"; media_content_type = "playlist"; - media_content_id = "lassulus superradio"; + media_content_id = "lassulus"; }; } ]; diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index 920f2ed2f..b6bcc8673 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -131,11 +131,11 @@ in { }; #conversation = {}; history = {}; - logbook = {}; + #logbook = {}; logger = { default = "info"; }; - recorder = {}; + #recorder = {}; tts = [ { platform = "google_translate"; service_name = "say"; diff --git a/krebs/2configs/shack/glados/lib/default.nix b/krebs/2configs/shack/glados/lib/default.nix index 6d2b7749b..2cfac3daf 100644 --- a/krebs/2configs/shack/glados/lib/default.nix +++ b/krebs/2configs/shack/glados/lib/default.nix @@ -22,7 +22,7 @@ in service = "media_player.turn_on"; data.entity_id = "media_player.${entity}"; } - { delay.seconds = 8; } + { delay.seconds = 4.5; } { service = "tts.say"; entity_id = "media_player.${entity}"; data_template = { diff --git a/krebs/2configs/shack/ssh-keys.nix b/krebs/2configs/shack/ssh-keys.nix index 95c869bc9..f27b5bbc3 100644 --- a/krebs/2configs/shack/ssh-keys.nix +++ b/krebs/2configs/shack/ssh-keys.nix @@ -5,6 +5,7 @@ config.krebs.users.ulrich.pubkey config.krebs.users.raute.pubkey config.krebs.users.xq.pubkey + config.krebs.users.hase.pubkey "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDb9NPa2Hf51afcG1H13UPbE5E02J8aC9a1sGCRls592wAVlQbmojYR1jWDPA2m32Bsyv0ztqi81zDyndWWZPQVJVBk00VjYBcgk6D5ifqoAuWLzfuHJPWZGOvBf/U74/LNFNUkj1ywjneK7HYTRPXrRBBfBSQNmQzkvue7s599L2vdueZKyjNsMpx2m6nm2SchaMuDskSQut/168JgU1l4M8BeT68Bo4WdelhBYnhSI1a59FGkgdu2SCjyighLQRy2sOH3ksnkHWENPkA+wwQOlKl7R3DsEybrNd4NU9FSwFDyDmdhfv5gJp8UGSFdjAwx43+8zM5t5ruZ25J0LnVb0PuTuRA00UsW83MkLxFpDQLrQV08tlsY6iGrqxP67C3VJ6t4v6oTp7/vaRLhEFc1PhOLh+sZ18o8MLO+e2rGmHGHQnSKfBOLUvDMGa4jb01XBGjdnIXLOkVo79YR5jZn7jJb2gTZ95OD6bWSDADoURSuwuLa7kh4ti1ItAKuhkIvbuky3rRVvQEc92kJ6aNUswIUXJa0K2ibbIY6ycKAA3Ljksl3Mm9KzOn6yc/i/lSF+SOrTGhabPJigKkIoqKIwnV5IU3gkfsxPQJOBMPqHDGAOeYQe3WpWedEPYuhQEczw4exMb9TkNE96F71PzuQPJDl5sPAWyPLeMKpy5XbfRiF2by4nxN3ZIQvjtoyVkjNV+qM0q0yKBzLxuRAEQOZ2yCEaBudZQkQiwHD97H2vu4SRQ/2aOie1XiOnmdbQRDZSO3BsoDK569K1w+gDfSnqY7zVUMj6tw+uKx6Gstck5lbvYMtdWKsfPv/pDM8eyIVFLL93dKTX+ertcQj6xDwLfOiNubE5ayFXhYkjwImV6NgfBuq+3hLK0URP2rPlOZbbZTQ0WlKD6CCRZPMSZCU9oD2zYfqpvRArBUcdkAwGePezORkfJQLE6mYEJp6pdFkJ/IeFLbO6M0lZVlfnpzAC9kjjkMCRofZUETcFSppyTImCbgo3+ok59/PkNU5oavBXyW80ue2tWHr08HX/QALNte3UITmIIlU6SFMCPMWJqadK1eDPWfJ4H4iDXRNn3D5wqN++iMloKvpaj0wieqXLY4+YfvNTNr177OU48GEWW8DnoEkbpwsCbjPxznGDQhdDqdYyMY/fDgRQReKITvKYGHRzesGysw5cKsp9LEfXD0R6WE2TeiiENla5AWzTgXJB0AyZEcOiIfqOgT9Nr9S8q5gc/BdA7P+jhGGJgEHhV3dVlfIZ7pmZc27Yu7UTQ0lbAKWqcMSTOdne+QL6ILzbvLrQwdvax4tQdm5opfU16SrOox1AMwAbkdq84z6uJqYVx3cUXfMJgTyDNrVv3or root@plattenschwein" # for backup "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1Lx5MKtVjB/Ef6LpEiIAgVwY5xKQFdHuLQR+odQO4cAgxj1QaIXGN0moixY52DebVQhAtiCNiFZ83uJyOj8kmu30yuXwtSOQeqziA859qMJKZ4ZcYdKvbXwnf2Chm5Ck/0FvtpjTWHIZAogwP1wQto/lcqHOjrTAnZeJfQuHTswYUSnmUU5zdsEZ9HidDPUc2Gv0wkBNd+KMQyOZl0HkaxHWvn0h4KK4hYZisOpeTfXJxD87bo+Eg4LL2vvnHW6dF6Ygrbd/0XRMsRRI8OAReVBUoJn7IE1wwAl/FpblNmhaF9hlL7g7hR1ADvaWMMw0e8SSzW6Y+oIa8qFQL6wR1 gitlab-builder" # for being deployed by gitlab ci ]; diff --git a/krebs/3modules/external/default.nix b/krebs/3modules/external/default.nix index 62cdf8542..082dfd80f 100644 --- a/krebs/3modules/external/default.nix +++ b/krebs/3modules/external/default.nix @@ -134,6 +134,24 @@ in { }; }; }; + hasegateway = { + cores = 1; + owner = config.krebs.users.hase; + nets = { + #internet = { + # ip.addr = "37.24.200.174"; + # aliases = [ "hasegateway.i" ]; + #}; + retiolum = { + ip4.addr = "10.243.226.216"; + ip6.addr = "42:0:e644:9099:4f8:b9aa:3856:4e86"; + aliases = [ + "hasegateway.r" + ]; + tinc.pubkey = tinc-for "hasegateway"; + }; + }; + }; jongepad = { owner = config.krebs.users.jonge; nets = { @@ -465,6 +483,10 @@ in { mail = "shackspace.de@myvdr.de"; pubkey = ssh-for "ulrich"; }; + hase = { + mail = "hase.christian92@gmail.com"; + pubkey = ssh-for "hase"; + }; "0x4A6F" = { mail = "0x4a6f@shackspace.de"; pubkey = ssh-for "0x4A6F"; diff --git a/krebs/3modules/external/ssh/hase.pub b/krebs/3modules/external/ssh/hase.pub new file mode 100644 index 000000000..02051a81f --- /dev/null +++ b/krebs/3modules/external/ssh/hase.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCa40LWhpIngxvO2Vg2R0yZUmNUz7mT2m5fnVi9yKWKbUy+y3tMkC8bw+CjvOaFG8haXhPHue9IBvO7Fst1klyHXNlBPxxEuwnxvljV3rFPz8jxvxAnIJRdlxxpYGWSwOy/JxcjDdPlXBNvCFGQfxbHvwzC5wKyyCTEWgvcq+lK0xXcv/BJie8OM4H6z27a5BbV4GEDFki5fteCa3OPGCM4I/Ny/2cYMcJtXU/yQRYhcpNMu+4Q16YMkrut/r46ngcGTqnthE5LVOK9o+6LNR+ww6BSvm3bNccf3b85A1SG7tpIXMBKBMxD8Bt8/PmMlIGBvpqsv202MdpxAD6LYjLN 8c:48:47:bf:a4:f1:17:fb:ed:43:c6:2e:e5:97:7f:40 chris@chris-desktop-arch diff --git a/krebs/3modules/external/tinc/hasegateway.pub b/krebs/3modules/external/tinc/hasegateway.pub new file mode 100644 index 000000000..ef6520e85 --- /dev/null +++ b/krebs/3modules/external/tinc/hasegateway.pub @@ -0,0 +1,13 @@ +-----BEGIN RSA PUBLIC KEY----- +MIICCgKCAgEA4k9MVwBAQXpbLNOp9AenFPzxdgJ21xhMeqPGUhsNgZXlioHpvaVN +POx6nlcd4DBI1zg7GhYgWVHFerZzJ9/UD9cLufl+wIbtuAGlgsrqPkU4cCkDIKPb +d1tsok9s3rei2yQs8mQO5eIIYRxai8/gCAhsVjDZ5kONACmlq4xbjTZDxb7eaomZ +s//T6fiOMdEjo2Z6pahiEOEYdk+Nd18HOwuGQropzlBqtX4sa1ocfFT7/wXWMBm/ +/RL81t9HxSCGAogmb8leqGD7CGAPsJLfT+/54s7ZhdRMFYzE5deQKGYf15ZCYZsI +ZmrcwsD7JOfqxs0THZvQ38gM00b7qDJRMeEdcUeDtWdDR79g78yB1CMXJGz+dNCa +MM7yz6NScRLO5VN+irp9A2Z/wNSzIho7FVa93m4O3R1ft7bqjJNhMqI/3vxxT882 +X3o6K09UWau+xXHpHMGbrjePUnu0SGzntHVCSVJCRhRICzDnh+r+YURl6jlONHBU +qx7zkMYrbOTMkqmt1pFYWXSa92xDoxTtNjNFJMWEe9vB4UDmPMfFBSOBBQ7m8QRw +uNHGqjU9e3JOm3UtELUbnXtG6a2/5ve1kRpxGHoVWbHLosCieHbk9PQRVm74yfPE +4RETrUyQA5ueaMYfKqpYGNPOliWIp4u2DeKQCQDr4PG+nkS04ZFXOlECAwEAAQ== +-----END RSA PUBLIC KEY----- diff --git a/makefu/2configs/kdeconnect.nix b/makefu/2configs/kdeconnect.nix new file mode 100644 index 000000000..ca025ee43 --- /dev/null +++ b/makefu/2configs/kdeconnect.nix @@ -0,0 +1,6 @@ +{pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ kdeconnect ]; + networking.firewall.allowedUDPPortRanges = [ { from = 1714; to = 1764; } ]; + networking.firewall.allowedTCPPortRanges = [ { from = 1714; to = 1764; } ]; +} diff --git a/makefu/2configs/stats/telegraf/default.nix b/makefu/2configs/stats/telegraf/default.nix index c60539c71..5a81e2749 100644 --- a/makefu/2configs/stats/telegraf/default.nix +++ b/makefu/2configs/stats/telegraf/default.nix @@ -12,13 +12,18 @@ in { urls = [ url ]; database = "telegraf"; }]; - mqtt = [{ - servers = [ mqtt_server ]; - topic_prefix = "/telegraf"; - data_format = "json"; - qos = 0; - batch = false; - }]; + #file = [{ # debugging + # files = [ "stdout" ]; + # data_format = "influx"; + #}]; + + #mqtt = [{ + # servers = [ mqtt_server ]; + # topic_prefix = "/telegraf"; + # data_format = "json"; + # qos = 0; + # batch = false; + #}]; }; }; }; diff --git a/makefu/2configs/stats/telegraf/hamstats.nix b/makefu/2configs/stats/telegraf/hamstats.nix index 88c1b6d5d..0b1723062 100644 --- a/makefu/2configs/stats/telegraf/hamstats.nix +++ b/makefu/2configs/stats/telegraf/hamstats.nix @@ -1,28 +1,60 @@ -{ pkgs, ...}: +{ pkgs, lib, ...}: let - genTopic = name: topic: tags: { + genTopic_zigbee = name: tags: { servers = [ "tcp://localhost:1883" ]; username = "stats"; - password = builtins.readFile <secrets/mqtt/stats>; + password = lib.removeSuffix "\n" (builtins.readFile <secrets/mqtt/stats>); qos = 0; connection_timeout = "30s"; - topics = [ topic ]; - tags = tags; + topics = [ "/ham/zigbee/${name}" ]; + inherit tags; persistent_session = false; - name_override = name; + name_override = "zigbee ${tags.room} ${name}"; data_format = "json"; + json_string_fields = [ "linkquality" "temperature" "humidity" "pressure" "battery" "contact" ]; + # json_name_key = <filed which defines the name> + + }; + genTopic_plain = name: topic: tags: { + servers = [ "tcp://localhost:1883" ]; + username = "stats"; + password = lib.removeSuffix "\n" (builtins.readFile <secrets/mqtt/stats>); + qos = 0; + connection_timeout = "30s"; + topics = [ topic ]; + inherit tags; + persistent_session = false; + name_override = tags.sensor; + data_type = "float"; + data_format = "value"; # json_query = tags.sensor; #TODO? }; - hamStat = host: - sensor: - (genTopic sensor - "/ham/${host}/${sensor}/tele/SENSOR" - {"host" = host; + esensor = room: name: sensor: + (genTopic_plain sensor ''/ham/${room}/${name}/sensor/${sensor}/state'' + { inherit room sensor name; + "scope" = "ham"; + } ); + zsensor = room: name: + (genTopic_zigbee name + { inherit room name; "scope" = "ham"; - "sensor" = sensor; } ); - bme = host: [(hamStat host "BME280")]; + zigbee_temphum = room: name: [ + (zsensor room name) + ]; + esphome_temphum = room: name: [ + (esensor room name ''${room}_${name}_temperature'') + (esensor room name ''${room}_${name}_humidity'') + (esensor room name ''${room}_${name}_pressure'') + ]; in { - services.telegraf.extraConfig.inputs.mqtt_consumer = (bme "schlafzimmer"); + services.telegraf.extraConfig.inputs.mqtt_consumer = + (zigbee_temphum "Wohnzimmer" "temp1") + ++ (zigbee_temphum "Badezimmer" "temp2") + ++ (zigbee_temphum "Kinderzimmer" "temp3") + ++ (esphome_temphum "arbeitszimmer" "box") + ++ (esphome_temphum "schlafzimmer" "plug") + ++ (esphome_temphum "wohnzimmer" "plug") + ++ (esphome_temphum "terrasse" "plug"); } diff --git a/makefu/2configs/tools/android-pentest.nix b/makefu/2configs/tools/android-pentest.nix index 036f6e6fe..766aacb9e 100644 --- a/makefu/2configs/tools/android-pentest.nix +++ b/makefu/2configs/tools/android-pentest.nix @@ -7,7 +7,7 @@ nmap msf drozer - dex2jar + #dex2jar apktool jd-gui # android-studio diff --git a/makefu/2configs/tools/core-gui.nix b/makefu/2configs/tools/core-gui.nix index ee4f05980..95b6b0f5d 100644 --- a/makefu/2configs/tools/core-gui.nix +++ b/makefu/2configs/tools/core-gui.nix @@ -17,5 +17,6 @@ xdotool xorg.xbacklight scrot + libnotify ]; } diff --git a/makefu/2configs/tools/core.nix b/makefu/2configs/tools/core.nix index b4c3a431e..8339c9328 100644 --- a/makefu/2configs/tools/core.nix +++ b/makefu/2configs/tools/core.nix @@ -49,7 +49,7 @@ ${gnused}/bin/sed -i "''${1}d" ~/.ssh/known_hosts populate rxvt_unicode.terminfo - krebspaste + kpaste ]; } diff --git a/makefu/2configs/tools/dev.nix b/makefu/2configs/tools/dev.nix index f184b5be5..276ed6cdc 100644 --- a/makefu/2configs/tools/dev.nix +++ b/makefu/2configs/tools/dev.nix @@ -39,5 +39,6 @@ # network related sshuttle pciutils + navi ]; } diff --git a/makefu/2configs/tools/extra-gui.nix b/makefu/2configs/tools/extra-gui.nix index 49b36a5d7..aae00b97d 100644 --- a/makefu/2configs/tools/extra-gui.nix +++ b/makefu/2configs/tools/extra-gui.nix @@ -8,6 +8,7 @@ inkscape libreoffice # skype + teams synergy tdesktop virtmanager diff --git a/makefu/2configs/tools/media.nix b/makefu/2configs/tools/media.nix index 3f2cf3096..004222ba2 100644 --- a/makefu/2configs/tools/media.nix +++ b/makefu/2configs/tools/media.nix @@ -8,11 +8,13 @@ mumble mplayer # quodlibet # exfalso + tinymediamanager plowshare streamripper youtube-dl pulseeffects + ]; } diff --git a/makefu/5pkgs/awesomecfg/full.cfg b/makefu/5pkgs/awesomecfg/full.cfg index 2abfe503d..d96b61ad6 100644 --- a/makefu/5pkgs/awesomecfg/full.cfg +++ b/makefu/5pkgs/awesomecfg/full.cfg @@ -569,7 +569,7 @@ local os = { -- {{{ autostart do - awful.spawn("urxvt", { tag = tags[1] }) # dev shell + awful.spawn("urxvt", { tag = tags[1] }) -- dev shell awful.spawn("urxvt -e mosh makefu@gum.i", { tag = tags[2] }) awful.spawn("firefox", { tag = tags[3] }) awful.spawn("telegram-desktop", { tag = tags[4] }) diff --git a/makefu/5pkgs/debmirror/default.nix b/makefu/5pkgs/debmirror/default.nix index 67b34b6ee..d1f007de6 100644 --- a/makefu/5pkgs/debmirror/default.nix +++ b/makefu/5pkgs/debmirror/default.nix @@ -1,7 +1,7 @@ { stdenv, pkgs, fetchgit }: pkgs.perlPackages.buildPerlPackage rec { - name = "debmirror-${version}"; + pname = "debmirror"; version = "2.25"; enableParallelBuilding = true; diff --git a/makefu/5pkgs/dex2jar/default.nix b/makefu/5pkgs/dex2jar/default.nix deleted file mode 100644 index 76557ce67..000000000 --- a/makefu/5pkgs/dex2jar/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenv, lib, pkgs, fetchurl, jre, makeWrapper, unzip }: -stdenv.mkDerivation rec { - name = "${packageName}-${version}"; - packageName = "dex2jar"; - version = "2.0"; - - src = fetchurl { - url = "mirror://sourceforge/${packageName}/${name}.zip"; - sha256 = "1g3mrbyl8sdw1nhp17z23qbfzqpa0w2yxrywgphvd04jdr6yn1vr"; - }; - - nativeBuildInputs = [ makeWrapper unzip ]; - - unpackPhase = '' - unzip $src - cd ${name} - ''; - - configurePhase = ":"; - - buildPhase = '' - rm *.bat - chmod +x *.sh - ''; - - installPhase = '' - f=$out/lib/dex2jar/ - bin=$out/bin - - mkdir -p $f $bin - - # fixup path to java - sed -i 's#^java#${pkgs.jre}/bin/java#' d2j_invoke.sh - - mv * $f - for i in $f/*.sh; do - n=$(basename ''${i%.sh}) - makeWrapper $i $bin/$n - done - ''; - fixupPhase = ":"; - - meta = { - homepage = https://sourceforge.net/projects/dex2jar/; - description = "Tools to work with android .dex and java .class files"; - license = lib.licenses.asl20; - }; -} diff --git a/makefu/5pkgs/git-xlsx-textconv/default.nix b/makefu/5pkgs/git-xlsx-textconv/default.nix index 66dde76ef..ffb9b003c 100644 --- a/makefu/5pkgs/git-xlsx-textconv/default.nix +++ b/makefu/5pkgs/git-xlsx-textconv/default.nix @@ -27,4 +27,5 @@ in sha256 = "055f3caj1y8v7sc2pz9q0dfyi2ij77d499pby4sjfvm5kjy9msdi"; }; propagatedBuildInputs = [ go-xlsx ]; -}).bin + #meta.broken = true; +}) diff --git a/makefu/5pkgs/navi/default.nix b/makefu/5pkgs/navi/default.nix new file mode 100644 index 000000000..1e8274f80 --- /dev/null +++ b/makefu/5pkgs/navi/default.nix @@ -0,0 +1,37 @@ +# via https://git.ingolf-wagner.de/palo/nixos-config/src/master/pkgs/navi/default.nix + +{ rustPlatform, fetchFromGitHub, stdenv, fzf, makeWrapper, openssl, pkgconfig }: + +rustPlatform.buildRustPackage rec { + pname = "navi"; + version = "2.1.1"; + + src = fetchFromGitHub { + owner = "denisidoro"; + repo = "navi"; + rev = "v${version}"; + #rev = "${version}"; + sha256 = "1195f7c3ij2mkv0k1h9fwn6jkyjb01w0p6mj2xc39w5f6i0c0hwp"; + }; + + cargoSha256 = "0ks25w0dncaiw3ma05r8jrng3cczancrynnpgdksbvgz49lg3wjw"; + + postInstall = '' + mkdir -p $out/share/navi/ + mv shell $out/share/navi/ + + wrapProgram "$out/bin/navi" \ + --suffix "PATH" : "${fzf}/bin" + ''; + buildInputs = [ openssl ]; + nativeBuildInputs = [ makeWrapper pkgconfig ]; + + meta = with stdenv.lib; { + description = "An interactive cheatsheet tool for the command-line"; + homepage = "https://github.com/denisidoro/navi"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ mrVanDalo ]; + }; +} + diff --git a/makefu/5pkgs/shiori/default.nix b/makefu/5pkgs/shiori/default.nix index c604fbbde..ee4aa9304 100644 --- a/makefu/5pkgs/shiori/default.nix +++ b/makefu/5pkgs/shiori/default.nix @@ -1,6 +1,6 @@ -{ go_1_12, buildGoPackage, fetchFromGitHub }: +{ go_1_14, buildGoPackage, fetchFromGitHub }: let - builder = buildGoPackage.override { go = go_1_12; }; + builder = buildGoPackage.override { go = go_1_14; }; in builder rec { name = "shiori-${version}"; diff --git a/makefu/5pkgs/soldat/default.nix b/makefu/5pkgs/soldat/default.nix new file mode 100644 index 000000000..7518ddee5 --- /dev/null +++ b/makefu/5pkgs/soldat/default.nix @@ -0,0 +1,118 @@ +{ stdenv,fpc,zip, fetchFromGitHub, autoPatchelfHook, callPackage, +freetype,openal,x11,SDL2,physfs_2, protobuf, openssl, cmake, ninja, +meson,pkgconfig, makeWrapper }: + +let + GameNetworkingSockets = stdenv.mkDerivation rec { + pname = "GameNetworkingSockets"; + version = "2020-02-27"; + + src = fetchFromGitHub { + sha256 = "1vlrqjpqmdv1gphj2bkqg0bljqxfv75say6vrcnk9z14irih9a24"; + owner = "ValveSoftware"; + repo = pname; + rev = "36d41513e9a25d7ad4c2b37826d6594aaf185374"; + }; + + mesonFlags = [ "-Dlight_tests=true" ]; + + buildInputs = [ protobuf openssl ]; + nativeBuildInputs = [ pkgconfig meson cmake ninja ]; + installPhase = '' + mkdir -p $out/lib $out/include; find . + cp src/libGameNetworkingSockets.so $out/lib/ + cp -r ../include $out/ + ''; + + + #outputs = [ "out" "dev" "lib" ]; + + meta = with stdenv.lib; { + description = "WebDav server implementation and library using libsoup"; + homepage = "https://wiki.gnome.org/phodav"; + license = licenses.lgpl21; + maintainers = with maintainers; [ gnidorah ]; + platforms = platforms.linux; + }; + }; + base = stdenv.mkDerivation { + pname = "soldat-base"; + version = "1.0.0"; + src = fetchFromGitHub { + repo = "base"; + owner = "soldat"; + rev = "3c002b9"; + sha256 = "1wc1cmdavf6ng05wfcpxn124n23vivx4nn06irqmar6jmrklrbq0"; + }; + buildInputs = [ zip ]; + buildPhase = '' + sh ./create_smod.sh + ''; + installPhase = '' + install -D soldat.smod $out/soldat.smod + install -D client/play-regular.ttf $out/play-regular.ttf + ''; + }; + src = fetchFromGitHub { + repo = "soldat"; + owner = "soldat"; + rev = "6dee4d0"; + sha256 = "0jjgdxprlvyf5kh2mb48vrp5nxk3h3jbaxmy7xmna80ssx4bjhxf"; + }; + stb = stdenv.mkDerivation { + pname = "soldat"; + version = "1.0.0"; + inherit src; + # makeFlags = [ "CFLAGS='-Fl${openal}/lib'" ]; + buildPhase = '' + cd client + mkdir -p build/linux + make -C libs/stb/ + ''; + installPhase = '' + install -D build/libstb.so $out/lib/libstb.so + ''; + + buildInputs = [ ]; + }; +in +stdenv.mkDerivation { + pname = "soldat"; + version = "1.0.0"; + inherit src; + # makeFlags = [ "CFLAGS='-Fl${openal}/lib'" ]; + buildPhase = '' + cd client + mkdir -p build/linux + make -C libs/stb/ + make linux_x86_64 + cd ../server + mkdir -p build/linux + make linux_x86_64 + cd .. + ''; + + # TODO: soldatserver still needs to be copied out of the derivation to somewhere writeable + installPhase = '' + share=$out/share/soldat + bin=$out/bin + mkdir -p $share $bin + + install ${base}/soldat.smod $share/soldat.smod + install ${base}/play-regular.ttf $share/play-regular.ttf; + + install -m755 client/build/soldat_x64 $share/soldat_x64 + install client/media/soldat.ico $share/soldat.ico + + install -m755 server/build/soldatserver_x64 $share/soldatserver_x64 + + makeWrapper $share/soldat_x64 $bin/soldat --add-flags '-fs_portable 0' + makeWrapper $share/soldatserver_x64 $bin/soldatser |