dotfiles

My PC Dotfiles & Website
commit b7f2bf438995f4afe2ff376ec6a040fde71980f9
parent ce2c0b4f04e48b4da90c90097ad9957921fa3dd8
Author: maydayv7 <maydayv7@gmail.com>
Date:   Wed, 24 Jun 2026 21:10:25 +0530

feat: Keepass + Discord

Diffstat:
MCHANGELOG.md | 1+
Mfiles/_module.nix | 3+++
Afiles/keepassxc.ini | 18++++++++++++++++++
Mflake.lock | 6+++---
Mmodules/apps/auth.nix | 18+++++++++++++-----
Mmodules/apps/discord.nix | 8+++-----
Mmodules/apps/internet.nix | 50+++++++++++++++++++++++++++++++++++---------------
Mmodules/desktop/gnome/_settings/apps.nix | 4++--
Mmodules/desktop/hyprland/_features/shell.nix | 7++++++-
Mmodules/hardware/gpu.nix | 9++-------
Mmodules/hardware/mobile.nix | 4+++-
Mpackages/overlays/brave.nix | 12++++++------
Apackages/overlays/copilot.nix | 10++++++++++
Dpackages/patches/copilot.patch | 31-------------------------------
14 files changed, 105 insertions(+), 76 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -2,6 +2,7 @@ ### June +- Use Discord instead of Vesktop - Script to update Minecraft mods - Drop manually-packaged `wine` applications - Robust GitHub Actions CI diff --git a/files/_module.nix b/files/_module.nix @@ -87,6 +87,9 @@ in { extension = ".png"; }; + # Password Manager + keepassxc = readFile ./keepassxc.ini; + # Logseq Notes logseq = { settings = ./logseq/settings; diff --git a/files/keepassxc.ini b/files/keepassxc.ini @@ -0,0 +1,18 @@ +[General] +ConfigVersion=2 + +[Browser] +Enabled=true +UpdateBinaryPath=false + +[GUI] +ApplicationTheme=classic +Language=en_US +MinimizeOnClose=true +MinimizeOnStartup=false +MinimizeToTray=true +ShowTrayIcon=true +TrayIconAppearance=monochrome-light + +[Security] +LockDatabaseIdle=false diff --git a/flake.lock b/flake.lock @@ -1613,11 +1613,11 @@ ] }, "locked": { - "lastModified": 1782135344, - "narHash": "sha256-JGxXmcTsHWSXvnveDLMT8xX3E9ldd+jumgtJUdGoR0M=", + "lastModified": 1782228865, + "narHash": "sha256-vnmo148gkbMNtyNoWYzcPOKCoaAq+zY69WE2xgMox/I=", "owner": "noctalia-dev", "repo": "noctalia", - "rev": "c8d24dfa450f8b4eca21abcab397b3555e5bb890", + "rev": "efb96e41fdac7cb3e5bcc9864d1bd0118da2470f", "type": "github" }, "original": { diff --git a/modules/apps/auth.nix b/modules/apps/auth.nix @@ -1,6 +1,7 @@ ## Auth Credential Programs ## {config, ...}: let inherit (config) util; + inherit (config.flake) files; in { flake.modules.homeManager.auth = {pkgs, ...}: { home.packages = [pkgs.ente-auth]; @@ -13,10 +14,17 @@ in { password = ["org.keepassxc.KeePassXC.desktop"]; }; - home.persist.directories = [ - ".config/keepassxc" - ".cache/keepassxc" - ".local/share/io.ente.auth" - ]; + home = { + persist.directories = [ + ".cache/keepassxc" + ".local/share/io.ente.auth" + ]; + + file.".config/keepassxc/keepassxc.ini" = { + mutable = true; + force = true; + text = files.keepassxc; + }; + }; }; } diff --git a/modules/apps/discord.nix b/modules/apps/discord.nix @@ -1,7 +1,6 @@ ## Discord Configuration ## {inputs, ...}: { flake.modules.homeManager.discord = { - pkgs, lib, osConfig ? {}, ... @@ -9,13 +8,12 @@ isGnome = osConfig.services.desktopManager.gnome.enable or false; in { imports = [inputs.nixcord.homeModules.nixcord]; - home.persist.directories = [".config/vesktop"]; + home.persist.directories = [".config/discord"]; programs.nixcord = { enable = true; - discord.enable = false; - vesktop = { + discord = { enable = true; - package = pkgs.vesktop; + vencord.enable = true; }; # Theming diff --git a/modules/apps/internet.nix b/modules/apps/internet.nix @@ -2,21 +2,42 @@ {config, ...}: let inherit (config) util; in { - flake.modules.homeManager.internet = {pkgs, ...}: { + flake.modules.homeManager.internet = { + config, + lib, + pkgs, + ... + }: { programs = { # Browser brave = { enable = true; - extensions = [ - "djflhoibgkdhkhhcedjiklpkjnoahfmg" # User Agent Switcher - "lckanjgmijmafbedllaakclkaicjfmnk" # ClearURLs - "oofgbpoabipfcfjapgnbbjjaenockbdp" # SetupVPN - "jghecgabfgfdldnmbfkhmffcabddioke" # Volume Booster - "jaioibhbkffompljnnipmpkeafhpicpd" # Tab Auto Refresh - "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader - "clngdbkpkpeebahjckkjfobafhncgmne" # Stylus - "oboonakemofpalcgghocfoadofidjkkk" # KeePassXC - ]; + extensions = + [ + "djflhoibgkdhkhhcedjiklpkjnoahfmg" # User Agent Switcher + "lckanjgmijmafbedllaakclkaicjfmnk" # ClearURLs + "oofgbpoabipfcfjapgnbbjjaenockbdp" # SetupVPN + "jghecgabfgfdldnmbfkhmffcabddioke" # Volume Booster + "jaioibhbkffompljnnipmpkeafhpicpd" # Tab Auto Refresh + "eimadpbcbfnmbkopoojfekhnkhdbieeh" # Dark Reader + "clngdbkpkpeebahjckkjfobafhncgmne" # Stylus + ] + # KeePassXC + ++ lib.optional config.programs.keepassxc.enable "oboonakemofpalcgghocfoadofidjkkk"; + nativeMessagingHosts = + lib.optional config.programs.keepassxc.enable + (pkgs.writeTextDir + "etc/chromium/native-messaging-hosts/org.keepassxc.keepassxc_browser.json" + (builtins.toJSON { + name = "org.keepassxc.keepassxc_browser"; + description = "KeePassXC integration with native messaging support"; + path = "${pkgs.keepassxc}/bin/keepassxc-proxy"; + type = "stdio"; + allowed_origins = [ + "chrome-extension://oboonakemofpalcgghocfoadofidjkkk/" + "chrome-extension://pdffhmdngciaglkoonimfcmckehcpafo/" + ]; + })); }; # Mail Client @@ -35,10 +56,10 @@ in { }; home.packages = with pkgs; [ - unstable.karere linux-wifi-hotspot openfortivpn teams-for-linux + zapzap zoom-us ]; @@ -49,9 +70,8 @@ in { ".cache/BraveSoftware" ".thunderbird" ".cache/thunderbird" - ".config/karere" - ".local/share/karere" - ".cache/karere" + ".local/share/ZapZap" + ".cache/ZapZap" ".zoom" ".cache/zoom" ]; diff --git a/modules/desktop/gnome/_settings/apps.nix b/modules/desktop/gnome/_settings/apps.nix @@ -130,10 +130,10 @@ lib.mkIf (osConfig != null) ( name = "Social"; apps = [ "Zoom.desktop" - "io.github.tobagin.karere.desktop" + "com.rtosta.zapzap.desktop" "teams-for-linux.desktop" "org.gnome.Fractal.desktop" - "vesktop.desktop" + "discord.desktop" ]; }; diff --git a/modules/desktop/hyprland/_features/shell.nix b/modules/desktop/hyprland/_features/shell.nix @@ -59,6 +59,7 @@ center = ["launcher" "clock" "control-center"]; end = [ "group:g2" + "recorder" "clipboard" "bluetooth" "network" @@ -103,6 +104,7 @@ clock.anchor = true; control-center.glyph = "menu"; network.show_label = false; + recorder.type = "noctalia/screen_recorder:recorder"; media = { hide_when_no_media = true; title_scroll = "on_hover"; @@ -347,7 +349,10 @@ jq = lib.getExe pkgs.jq; socket2 = "${lib.getExe pkgs.socat} -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock -"; in { - "noctalia/screen_recorder".copy_to_clipboard = true; + "noctalia/screen_recorder" = { + copy_to_clipboard = true; + video_source = "focused"; + }; "maydayv7/hyprland-submap".command = socket2; "maydayv7/hyprland-layout" = { command = socket2; diff --git a/modules/hardware/gpu.nix b/modules/hardware/gpu.nix @@ -45,13 +45,8 @@ _: { services.xserver.videoDrivers = mkForce ["nvidia"]; environment = { systemPackages = [pkgs.btop-cuda]; - variables = mkIf mode { - "__GLX_VENDOR_LIBRARY_NAME" = "nvidia"; - "LIBVA_DRIVER_NAME" = "nvidia"; - }; - sessionVariables = { - "GAMEMODERUNEXEC" = mkIf (hybrid && gamemode && !mode) "nvidia-offload"; - }; + variables."__GLX_VENDOR_LIBRARY_NAME" = mkIf mode "nvidia"; + sessionVariables."GAMEMODERUNEXEC" = mkIf (hybrid && gamemode && !mode) "nvidia-offload"; }; boot = { diff --git a/modules/hardware/mobile.nix b/modules/hardware/mobile.nix @@ -5,8 +5,10 @@ _: { services.usbmuxd.enable = true; environment.systemPackages = with pkgs; [ android-tools - libimobiledevice scrcpy + + ifuse + libimobiledevice ]; }; } diff --git a/packages/overlays/brave.nix b/packages/overlays/brave.nix @@ -1,13 +1,13 @@ final: prev: { # Brave Browser Flags brave = prev.brave.overrideAttrs (old: { - installPhase = - old.installPhase + postFixup = + (old.postFixup or "") + '' - exe="$out/bin/brave" - fix=" --enable-features=TouchpadOverscrollHistoryNavigation --gtk-version=4" - substituteInPlace $out/share/applications/{brave-browser,com.brave.Browser}.desktop \ - --replace-fail $exe "$exe$fix" + flags="--enable-features=" + fix="--gtk-version=4 --enable-features=TouchpadOverscrollHistoryNavigation," + substituteInPlace $out/bin/brave \ + --replace-fail "$flags" "$fix" ''; }); } diff --git a/packages/overlays/copilot.nix b/packages/overlays/copilot.nix @@ -0,0 +1,10 @@ +final: prev: { + # GitHub Copilot CLI + github-copilot-cli = prev.github-copilot-cli.overrideAttrs (_: rec { + version = "1.0.64"; + src = prev.fetchurl { + url = "https://github.com/github/copilot-cli/releases/download/v${version}/github-copilot-${version}-linux-x64.tgz"; + hash = "sha256-p2I4BHdW9wRLP8ns7wmuWBwUW2RGOuARgDtItMovxGA="; + }; + }); +} diff --git a/packages/patches/copilot.patch b/packages/patches/copilot.patch @@ -1,31 +0,0 @@ ---- a/pkgs/by-name/gi/github-copilot-cli/package.nix -+++ b/pkgs/by-name/gi/github-copilot-cli/package.nix -@@ -15,7 +15,7 @@ - - stdenv.mkDerivation (finalAttrs: { - pname = "github-copilot-cli"; -- version = "1.0.26"; -+ version = "1.0.61"; - - # GitHub provide platform-specific SEA binaries as well as a "universal" - # package. Use the universal package as it gives us a bit more flexibility -@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { - # about how paths should be set up which don't reliably hold when using Nix. - src = fetchurl { - url = "https://github.com/github/copilot-cli/releases/download/v${finalAttrs.version}/github-copilot-${finalAttrs.version}.tgz"; -- hash = "sha256-zNO0clQRfgw6CX9K8NaJXsoOhhNjBfK7KAr0AoL7Oqo="; -+ hash = "sha256-8Lks8lHa5XF9ZrC+fU/9VlzD1W32MbRZ7PZtL5YWLTA="; - }; - - nativeBuildInputs = [ -@@ -58,6 +58,10 @@ stdenv.mkDerivation (finalAttrs: { - ''; - - postInstall = '' -+ # Upstream bundles linuxmusl prebuilds in the universal tarball; they are -+ # not needed on glibc systems and make autoPatchelf fail on musl libc deps. -+ find "$out"/lib/github-copilot-cli -depth -path '*/linuxmusl-*' -exec rm -rf '{}' + -+ - makeWrapper ${nodejs}/bin/node "$out"/bin/copilot \ - --add-flag "$out"/lib/github-copilot-cli/index.js \ - --add-flag --no-auto-update \