{ pkgs, ... }: let homeDirectory = "/home/moco"; in { # Home Manager needs a bit of information about you and the paths it should # manage. home = { username = "moco"; inherit homeDirectory; packages = with pkgs; [ chromium (slack.overrideAttrs (oldAttrs: { fixupPhase = '' sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar rm $out/bin/slack makeWrapper $out/lib/slack/slack $out/bin/slack \ --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \ --add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer" ''; })) kooha gnome-pomodoro mitmproxy (writeShellScriptBin "moco-admin-pw" '' password=$(op item get fkj74ou6jfex7a6gcinac6o5oe --reveal --fields label=Kennwort) otp=$(ykman oath accounts code -s 'MOCO:Admin') echo "''${password}''${otp}" | wl-copy -n '') (writeShellScriptBin "moco-reto-otp" '' ykman oath accounts code -s 'MOCO Reto' | wl-copy -n '') ]; }; gnome = { profilePicture = ../assets/profile-pictures/moco.png; calendar.showWeekNumbers = true; extensions.paperwm.winprops = [ { wm_class = "gnome-pomodoro"; scratch_layer = true; } ]; }; programs.poetry = { enable = true; settings = { virtualenvs = { create = true; inProject = true; }; }; }; programs.zsh = { cdpath = [ "${homeDirectory}/Code/mocoapp" "${homeDirectory}/Code/mocoapp-promo" "${homeDirectory}/Code/mocoapp-llama" ]; dirHashes = { moco = "${homeDirectory}/Code/mocoapp"; promo = "${homeDirectory}/Code/mocoapp-promo"; llama = "${homeDirectory}/Code/mocoapp-llama"; }; }; programs.git.extraConfig.user.email = "joakim.repomaa@mocoapp.com"; programs.ssh.matchBlocks = let aliases = [ "moco" "mocoapp" "mocoapp.com" ]; matcher = subdomains: builtins.concatStringsSep " " ( map ( alias: builtins.concatStringsSep " " ( map (subdomain: "*.${subdomain}.${alias} ${subdomain}.${alias}") subdomains ) ) aliases ); in { "console.*.moco" = { extraOptions = { RequestTTY = "force"; RemoteCommand = "./rails-console.sh"; }; }; "${matcher [ "reto" "reto.intern" ]}" = { hostname = "reto.intern.mocoapp.com"; user = "jokke"; }; "${matcher [ "web" ]}" = { hostname = "mocoapp.com"; }; "${matcher [ "prod-inc" ]}" = { hostname = "prod-inc.mocoapp.com"; }; "${matcher [ "prod" ]}" = { hostname = "web02.mocoapp"; }; "${matcher [ "pfg" "primeforcegroup" ]}" = { hostname = "primeforcegroup.mocoapp.com"; }; "${matcher [ "crafft" ]}" = { hostname = "crafft.mocoapp.com"; }; "${matcher [ "bd" "businessdecision" ]}" = { hostname = "businessdecision.mocoapp.com"; }; "${matcher [ "festland" ]}" = { hostname = "festland.mocoapp.com"; }; "${matcher [ "oi" "one-inside" ]}" = { hostname = "one-inside.mocoapp.com"; }; "${matcher [ "se" "scope-engineering" ]}" = { hostname = "scope-engineering.mocoapp.com"; }; "${matcher [ "cpc" "cpc-ag" ]}" = { hostname = "cpc-ag.mocoapp.com"; }; "${matcher [ "weareact3" ]}" = { hostname = "weareact3.mocoapp.com"; }; "${matcher [ "avenit" ]}" = { hostname = "avenit.mocoapp.com"; }; "${matcher [ "staging" ]}" = { hostname = "staging.mocoapp.com"; }; "${matcher [ "staging-v2" ]}" = { hostname = "staging-v2.mocoapp.com"; }; "${matcher [ "staging-v3" ]}" = { hostname = "staging-v3.mocoapp.com"; }; "${matcher [ "staging-v4" ]}" = { hostname = "staging-v4.mocoapp.com"; }; "${matcher [ "staging-v5" ]}" = { hostname = "staging-v5.mocoapp.com"; }; "${matcher [ "staging-v6" ]}" = { hostname = "staging-v6.mocoapp.com"; }; "${matcher [ "prod-db" "production-db" ]}" = { hostname = "production-db.mocoapp"; }; "${matcher [ "pdf-renderer" ]}" = { hostname = "mocoapp-pdf-renderer01.mocoapp.com"; }; "*.moco *.mocoapp *.mocoapp.com" = { forwardAgent = true; }; "*.moco !reto.moco *.mocoapp.com !reto.mocoapp.com" = { user = "butler"; }; }; }