diff --git a/flake.lock b/flake.lock index 8f51729..f58c9e7 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1718371084, - "narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=", + "lastModified": 1720546205, + "narHash": "sha256-boCXsjYVxDviyzoEyAk624600f3ZBo/DKtUdvMTpbGY=", "owner": "ryantm", "repo": "agenix", - "rev": "3a56735779db467538fb2e577eda28a9daacaca6", + "rev": "de96bd907d5fbc3b14fc33ad37d1b9a3cb15edc6", "type": "github" }, "original": { @@ -85,11 +85,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1719915848, - "narHash": "sha256-zq+CMkdT8A9z74HonwspXp8HsX4OvP4uaVdD98AO6as=", + "lastModified": 1720472194, + "narHash": "sha256-CYscFEts6tyvosc1T29nxhzIYJAj/1CCEkV3ZMzSN/c=", "owner": "catppuccin", "repo": "nix", - "rev": "9345073d27d91ab66c1b6ab65df322906992aa59", + "rev": "d75d5803852fb0833767dc969a4581ac13204e22", "type": "github" }, "original": { @@ -300,11 +300,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -436,11 +436,11 @@ ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1720450253, + "narHash": "sha256-1in42htN3g3MnE3/AO5Qgs6pMWUzmtPQ7s675brO8uw=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96", "type": "github" }, "original": { @@ -543,11 +543,11 @@ ] }, "locked": { - "lastModified": 1720188602, - "narHash": "sha256-lC3byBmhVZFzWl/dCic8+cKUEEAXAswWOYjq4paFmbo=", + "lastModified": 1720470846, + "narHash": "sha256-7ftA4Bv5KfH4QdTRxqe8/Hz2YTKo+7IQ9n7vbNWgv28=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3582e5151498bc4d757e8361431ace8529e7bb7", + "rev": "2fb5c1e0a17bc6059fa09dc411a43d75f35bb192", "type": "github" }, "original": { @@ -572,11 +572,11 @@ ] }, "locked": { - "lastModified": 1718450675, - "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", + "lastModified": 1720108799, + "narHash": "sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", + "rev": "a5c0d57325c5f0814c39110a70ca19c070ae9486", "type": "github" }, "original": { @@ -618,11 +618,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1720213509, - "narHash": "sha256-aPYf8Jnu1fMgMYMgQnH433/Fcqfky1Z5ZuzCkNKcR1U=", + "lastModified": 1720453602, + "narHash": "sha256-7+PjJZn/jpqNkVKJ3AGVT9G601rVj/R8KkT+WWjhwyk=", "ref": "refs/heads/main", - "rev": "cc98594c3aed0b542e03818371a4636f549f80e1", - "revCount": 4908, + "rev": "b03f41efec14273cf25c42d4cef326acc36cb319", + "revCount": 4913, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -647,11 +647,11 @@ ] }, "locked": { - "lastModified": 1714869498, - "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", + "lastModified": 1718746314, + "narHash": "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", + "rev": "1b61f0093afff20ab44d88ad707aed8bf2215290", "type": "github" }, "original": { @@ -698,11 +698,11 @@ ] }, "locked": { - "lastModified": 1717881852, - "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", + "lastModified": 1720381373, + "narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "ec6938c66253429192274d612912649a0cfe4d28", + "rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb", "type": "github" }, "original": { @@ -723,11 +723,11 @@ ] }, "locked": { - "lastModified": 1719316102, - "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=", + "lastModified": 1720203444, + "narHash": "sha256-lq2dPPPcwMHTLsFrQ2pRp4c2LwDZWoqzSyjuPdeJCP4=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085", + "rev": "a8c3a135701a7b64db0a88ec353a392f402d2a87", "type": "github" }, "original": { @@ -748,11 +748,11 @@ ] }, "locked": { - "lastModified": 1719067853, - "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=", + "lastModified": 1720215857, + "narHash": "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "914f083741e694092ee60a39d31f693d0a6dc734", + "rev": "d5fa094ca27e0039be5e94c0a80ae433145af8bb", "type": "github" }, "original": { @@ -824,11 +824,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1720161606, - "narHash": "sha256-B0n9ZIrXGPN0oS1DKBYZu2P1fTsnYMmXQkFtj/6mEQ8=", + "lastModified": 1720483510, + "narHash": "sha256-IG/g4l/W0R2M/jxEyu/Sl3BmR/OK5D1jiahpc0wlpvE=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "9e1740926b3910db38a8864e0220d012e14f7e8e", + "rev": "b6b51915180e6d2eac488d6f882e4ba36bad380d", "type": "github" }, "original": { @@ -840,11 +840,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1720137094, - "narHash": "sha256-K3iDLJy3K/ivR0uTlu2EXT+zrwMYNRn+CBGo+0kxxoc=", + "lastModified": 1720478486, + "narHash": "sha256-66u+yzjk6NrFr2jj2svD3jwNX8P2B8/DNH9A51V4kh8=", "owner": "neovim", "repo": "neovim", - "rev": "3e6cec0befd41d37ee36cb4f602e84c58c5f0d27", + "rev": "fb6c059dc55c8d594102937be4dd70f5ff51614a", "type": "github" }, "original": { @@ -907,14 +907,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-stable": { @@ -967,11 +967,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -999,11 +999,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1720087678, - "narHash": "sha256-uOhYJU3ldDKXYV+mFaXcPtyjq/UIMh/6SCuoVNU9rxM=", + "lastModified": 1720368505, + "narHash": "sha256-5r0pInVo5d6Enti0YwUSQK4TebITypB42bWy5su3MrQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1afc5440469f94e7ed26e8648820971b102afdc3", + "rev": "ab82a9612aa45284d4adf69ee81871a389669a9e", "type": "github" }, "original": { @@ -1015,16 +1015,16 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1720149507, - "narHash": "sha256-OFJoD1jjxzFlY1tAsehEWVA88DbU5smzDPQuu9SmnXY=", + "lastModified": 1720418205, + "narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d9c0b9d611277e42e6db055636ba0409c59db6d2", + "rev": "655a58a72a6601292512670343087c2d75d859c1", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -1140,11 +1140,11 @@ "systems": "systems_11" }, "locked": { - "lastModified": 1719953494, - "narHash": "sha256-p1BEn/nCr1WyOxFD+PrvKmotzNsoxyrqSXzHAyRgeEE=", + "lastModified": 1720353372, + "narHash": "sha256-kdTFrI6i0NC/ig8yYU1OxqdIzM5hQmNYGBy4loEBx6c=", "owner": "raphamorim", "repo": "rio", - "rev": "99b7fccbbc0105371244d9fa20398e67feb77e74", + "rev": "ad2480616bd94817ae7febba6610adbb096eb05d", "type": "github" }, "original": { @@ -1225,11 +1225,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1719022649, - "narHash": "sha256-ZDS8x9XpFeSBs9gMTHoujKWPn+i9ecqE9NWEUF07Yuc=", + "lastModified": 1720232258, + "narHash": "sha256-eR5glZHS2bLpzUgTDhWGm04j+j5KMYKoDsY5DXAiuKQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "ff019b65a656d36dca3e57b43c40c44eec7852c5", + "rev": "05ccbe21233d4e9110fc6428d2c3d74b430c3c69", "type": "github" }, "original": { @@ -1500,11 +1500,11 @@ ] }, "locked": { - "lastModified": 1719988875, - "narHash": "sha256-CGbGKSnby5YY3qOsWEXdvTWl5W4T8jUrCvbHmEHHQgE=", + "lastModified": 1720552096, + "narHash": "sha256-kCJJhuptHY5VEOXqpspyN9Iu6lLo7OsP2O4N1ZzUIek=", "owner": "Alexays", "repo": "Waybar", - "rev": "6f994c849d6ee36ae3e24dd17c7cef1a7f288e94", + "rev": "44f39ca0ce53659df2c959fa9177cfe158f23273", "type": "github" }, "original": { @@ -1530,11 +1530,11 @@ ] }, "locked": { - "lastModified": 1718619174, - "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", + "lastModified": 1720194466, + "narHash": "sha256-Rizg9efi6ue95zOp0MeIV2ZedNo+5U9G2l6yirgBUnA=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", + "rev": "b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f9d5d04..56c83be 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ }; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; diff --git a/homes/x86_64-linux/zack@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix similarity index 98% rename from homes/x86_64-linux/zack@earth/default.nix rename to homes/x86_64-linux/zoey@earth/default.nix index 501805f..8ee3335 100644 --- a/homes/x86_64-linux/zack@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -8,6 +8,7 @@ wms.hyprland.enable = true; apps = { web.firefox.enable = true; + web.firefox.setDefault = true; tools.git.enable = true; tools.tmux.enable = true; diff --git a/modules/home/apps/tools/git/default.nix b/modules/home/apps/tools/git/default.nix index 507ac5e..25bbd24 100644 --- a/modules/home/apps/tools/git/default.nix +++ b/modules/home/apps/tools/git/default.nix @@ -13,7 +13,7 @@ in { enable = mkBoolOpt false "Enable Git Integration"; signByDefault = mkBoolOpt true "Sign by default"; - signingKey = mkStringOpt "5B53E53A9A514DBA" "The KeyID of your GPG signingKey"; + signingKey = mkStringOpt "5F873416BCF59F35" "The KeyID of your GPG signingKey"; }; config = mkIf cfg.enable { diff --git a/modules/home/apps/web/firefox/default.nix b/modules/home/apps/web/firefox/default.nix index a3f23e6..e4096a5 100644 --- a/modules/home/apps/web/firefox/default.nix +++ b/modules/home/apps/web/firefox/default.nix @@ -250,6 +250,7 @@ in { (extension "decentraleyes" "jid1-BoFifL9Vbdl2zQ@jetpack") (extension "canvasblocker" "CanvasBlocker@kkapsner.de") (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") + (extension "mtab" "contact@maxhu.dev") ]; }; }; diff --git a/modules/home/shells/zsh/default.nix b/modules/home/shells/zsh/default.nix index 3eb44e3..45355f5 100644 --- a/modules/home/shells/zsh/default.nix +++ b/modules/home/shells/zsh/default.nix @@ -22,7 +22,7 @@ in { LC_ALL = "en_US.UTF-8"; ZSH_AUTOSUGGEST_USE_ASYNC = "true"; SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; - FLAKE = "/home/zack/nixos"; + FLAKE = "/home/zoey/nixos/"; }; enableAutosuggestions = true; history = { diff --git a/modules/home/wms/hyprland/default.nix b/modules/home/wms/hyprland/default.nix index d2b96b3..e4359ae 100644 --- a/modules/home/wms/hyprland/default.nix +++ b/modules/home/wms/hyprland/default.nix @@ -74,7 +74,7 @@ in { "${mod},M,exit" "${mod},P,pseudo" - "${mod},B,exec,${pkgs.kitty}/bin/kitty \"${pkgs.tmux}/bin/tmux -d -s work '${pkgs.neovim}/bin/nvim'\"" + "${mod},B,exec,${pkgs.foot}/bin/foot" "${mod},J,togglesplit," diff --git a/modules/nixos/protocols/wayland/default.nix b/modules/nixos/protocols/wayland/default.nix index 9fc7e71..94e8d4f 100644 --- a/modules/nixos/protocols/wayland/default.nix +++ b/modules/nixos/protocols/wayland/default.nix @@ -27,7 +27,7 @@ in { settings = rec { initial_session = { command = "Hyprland"; - user = "zack"; + user = "zoey"; }; default_session = initial_session; }; @@ -53,8 +53,9 @@ in { WLR_RENDERER = "wayland"; XDG_SESSION_TYPE = "wayland"; SDL_VIDEODRIVER = "wayland"; - XDG_CACHE_HOME = "/home/zack/.cache"; + XDG_CACHE_HOME = "/home/zoey/.cache"; CLUTTER_BACKEND = "wayland"; + DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; }; loginShellInit = '' dbus-update-activation-environment --systemd DISPLAY diff --git a/modules/nixos/services/vpn/default.nix b/modules/nixos/services/vpn/default.nix index a2a6c8c..cb68d2c 100644 --- a/modules/nixos/services/vpn/default.nix +++ b/modules/nixos/services/vpn/default.nix @@ -19,7 +19,7 @@ in { services.openvpn = { servers = { work = { - config = ''config /home/zack/Downloads/zachary_myers.ovpn''; + config = ''config /home/zoey/Downloads/zachary_myers.ovpn''; updateResolvConf = true; }; }; diff --git a/modules/nixos/sites/search/default.nix b/modules/nixos/sites/search/default.nix index cf21fcf..74f6bd3 100644 --- a/modules/nixos/sites/search/default.nix +++ b/modules/nixos/sites/search/default.nix @@ -11,7 +11,7 @@ in { options.sites.search = with types; { enable = mkBoolOpt false "Enable Search (Searxng)"; - domain = mkStringOpt "search.zackmyers.io" "The domain of the search instance"; + domain = mkStringOpt "search.zoeys.computer" "The domain of the search instance"; }; config = mkIf cfg.enable { diff --git a/packages/vesktop/default.nix b/packages/vesktop/default.nix new file mode 100644 index 0000000..a45d107 --- /dev/null +++ b/packages/vesktop/default.nix @@ -0,0 +1,198 @@ +{ + lib, + stdenv, + stdenvNoCC, + fetchFromGitHub, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + electron, + libicns, + jq, + moreutils, + cacert, + nodePackages, + pipewire, + libpulseaudio, + autoPatchelfHook, + withTTS ? true, + # Enables the use of vencord from nixpkgs instead of + # letting vesktop manage it's own version + withSystemVencord ? false, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "vesktop"; + version = "1.5.3"; + + src = fetchFromGitHub { + owner = "Vencord"; + repo = "Vesktop"; + rev = "v${finalAttrs.version}"; + hash = "sha256-HlT7ddlrMHG1qOCqdaYjuWhJD+5FF1Nkv2sfXLWd07o="; + }; + + # NOTE: This requires pnpm 8.10.0 or newer + # https://github.com/pnpm/pnpm/pull/7214 + pnpmDeps = assert lib.versionAtLeast nodePackages.pnpm.version "8.10.0"; + stdenvNoCC.mkDerivation { + pname = "${finalAttrs.pname}-pnpm-deps"; + inherit + (finalAttrs) + src + version + ELECTRON_SKIP_BINARY_DOWNLOAD + ; + + nativeBuildInputs = [ + cacert + jq + moreutils + nodePackages.pnpm + ]; + + # inspired by https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56 + # and based on https://github.com/NixOS/nixpkgs/pull/290715 + installPhase = '' + runHook preInstall + + export HOME=$(mktemp -d) + pnpm config set store-dir $out + # Some packages produce platform dependent outputs. We do not want to cache those in the global store + pnpm config set side-effects-cache false + # pnpm is going to warn us about using --force + # --force allows us to fetch all dependencies including ones that aren't meant for our host platform + pnpm install --force --frozen-lockfile --ignore-script + + ''; + + fixupPhase = '' + runHook preFixup + + # Remove timestamp and sort the json files + rm -rf $out/v3/tmp + for f in $(find $out -name "*.json"); do + sed -i -E -e 's/"checkedAt":[0-9]+,//g' $f + jq --sort-keys . $f | sponge $f + done + + runHook postFixup + ''; + + dontConfigure = true; + dontBuild = true; + outputHashMode = "recursive"; + outputHash = "sha256-rizJu6v04wFEpJtakC2tfPg/uylz7gAOzJiXvUwdDI4="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + copyDesktopItems + makeWrapper + nodePackages.pnpm + nodePackages.nodejs + ]; + + buildInputs = [ + libpulseaudio + pipewire + stdenv.cc.cc.lib + ]; + + ELECTRON_SKIP_BINARY_DOWNLOAD = 1; + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + export STORE_PATH=$(mktemp -d) + + cp -Tr "$pnpmDeps" "$STORE_PATH" + chmod -R +w "$STORE_PATH" + + pnpm config set store-dir "$STORE_PATH" + pnpm install --frozen-lockfile --ignore-script --offline + patchShebangs node_modules/{*,.*} + + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + + pnpm build + # using `pnpm exec` here apparently makes it ignore ELECTRON_SKIP_BINARY_DOWNLOAD + ./node_modules/.bin/electron-builder \ + --dir \ + -c.asarUnpack="**/*.node" \ + -c.electronDist=${electron}/libexec/electron \ + -c.electronVersion=${electron.version} + + runHook postBuild + ''; + + # this is consistent with other nixpkgs electron packages and upstream, as far as I am aware + installPhase = '' + runHook preInstall + + mkdir -p $out/opt/Vesktop + cp -r dist/linux-*unpacked/resources $out/opt/Vesktop/ + + pushd build + ${libicns}/bin/icns2png -x icon.icns + for file in icon_*x32.png; do + file_suffix=''${file//icon_} + install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vesktop.png + done + + makeWrapper ${electron}/bin/electron $out/bin/vesktop \ + --add-flags $out/opt/Vesktop/resources/app.asar \ + ${lib.optionalString withTTS "--add-flags \"--enable-speech-dispatcher\""} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime}}" + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "vesktop"; + desktopName = "Vesktop"; + exec = "vesktop %U"; + icon = "vesktop"; + startupWMClass = "Vesktop"; + genericName = "Internet Messenger"; + keywords = [ + "discord" + "vencord" + "electron" + "chat" + ]; + categories = [ + "Network" + "InstantMessaging" + "Chat" + ]; + }) + ]; + + passthru = { + inherit (finalAttrs) pnpmDeps; + }; + + meta = { + description = "An alternate client for Discord with Vencord built-in"; + homepage = "https://github.com/Vencord/Vesktop"; + changelog = "https://github.com/Vencord/Vesktop/releases/tag/${finalAttrs.src.rev}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + getchoo + Scrumplex + vgskye + pluiedev + ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + mainProgram = "vesktop"; + }; +}) diff --git a/packages/vesktop/use_system_vencord.patch b/packages/vesktop/use_system_vencord.patch new file mode 100644 index 0000000..242fdcb --- /dev/null +++ b/packages/vesktop/use_system_vencord.patch @@ -0,0 +1,13 @@ +diff --git a/src/main/constants.ts b/src/main/constants.ts +index d5c5fa6..a1b32f1 100644 +--- a/src/main/constants.ts ++++ b/src/main/constants.ts +@@ -16,7 +16,7 @@ export const VENCORD_THEMES_DIR = join(DATA_DIR, "themes"); + // needs to be inline require because of circular dependency + // as otherwise "DATA_DIR" (which is used by ./settings) will be uninitialised + export const VENCORD_FILES_DIR = +- (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || join(DATA_DIR, "vencordDist"); ++ (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || "@vencord@"; + + export const USER_AGENT = `Vesktop/${app.getVersion()} (https://github.com/Vencord/Vesktop)`; + diff --git a/systems/x86_64-linux/earth/default.nix b/systems/x86_64-linux/earth/default.nix index b838d70..b59a0fd 100644 --- a/systems/x86_64-linux/earth/default.nix +++ b/systems/x86_64-linux/earth/default.nix @@ -9,7 +9,7 @@ imports = [./hardware-configuration.nix]; nix.settings = { - trusted-users = ["zack"]; + trusted-users = ["zoey"]; }; hardware.audio.enable = true; @@ -34,7 +34,7 @@ enable = true; package = pkgs.transmission_4; settings = { - download-dir = "/home/zack/dl"; + download-dir = "/home/zoey/dl"; }; }; services.gnome.gnome-keyring.enable = true; @@ -72,23 +72,32 @@ environment.systemPackages = [ pkgs.BeatSaberModManager pkgs.sbctl - pkgs.vesktop + pkgs.custom.vesktop pkgs.mangohud pkgs.transmission_4 inputs.agenix.packages.${system}.agenix ]; programs.zsh.enable = true; + users.users.zoey = { + isNormalUser = true; + description = "zoey"; + extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "plugdev"]; + shell = pkgs.zsh; + initialHashedPassword = "$6$rounds=2000000$rFBJH7LwdEHvv.0i$HdHorWqp8REPdWPk5fEgZXX1TujRJkMxumGK0f0elFN0KRPlBjJMW2.35A.ID/o3eC/hGTwbSJAcJcwVN2zyV/"; + }; + users.users.zack = { isNormalUser = true; description = "zack"; extraGroups = ["networkmanager" "wheel" "docker" "libvirtd" "plugdev"]; shell = pkgs.zsh; + initialHashedPassword = "$6$rounds=2000000$rFBJH7LwdEHvv.0i$HdHorWqp8REPdWPk5fEgZXX1TujRJkMxumGK0f0elFN0KRPlBjJMW2.35A.ID/o3eC/hGTwbSJAcJcwVN2zyV/"; }; users.groups.plugdev = {}; - snowfallorg.users.zack = { + snowfallorg.users.zoey = { create = true; admin = false;