298 lines
6.9 KiB
Nix
298 lines
6.9 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
inputs,
|
|
...
|
|
}: let
|
|
equibop = with pkgs; (vesktop.overrideAttrs (final: prev: rec {
|
|
pname = "Equibop";
|
|
version = "2.0.9";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "Equicord";
|
|
repo = "equibop";
|
|
rev = "v${version}";
|
|
hash = "sha256-imRqr6Gd29t/zFcH73JRJIMozEhig1lHXLyefgB74yM=";
|
|
};
|
|
|
|
pnpmDeps = pnpm_9.fetchDeps {
|
|
inherit
|
|
(final)
|
|
pname
|
|
version
|
|
src
|
|
;
|
|
inherit (prev) patches;
|
|
hash = "sha256-YaZA1Oz9lJcEm9Ihx37Iooc7l6Zsy65kYAK2KWffh/c=";
|
|
};
|
|
|
|
installPhase =
|
|
''
|
|
runHook preInstall
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
|
mkdir -p $out/opt/Equibop
|
|
cp -r dist/*unpacked/resources $out/opt/Equibop/
|
|
|
|
for file in build/icon_*x32.png; do
|
|
file_suffix=''${file//build\/icon_}
|
|
install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/equibop.png
|
|
done
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
mkdir -p $out/{Applications,bin}
|
|
mv dist/mac*/Equibop.App $out/Applications
|
|
''
|
|
+ ''
|
|
runHook postInstall
|
|
'';
|
|
|
|
postFixup =
|
|
lib.optionalString stdenv.hostPlatform.isLinux ''
|
|
makeWrapper ${electron}/bin/electron $out/bin/equibop \
|
|
--add-flags $out/opt/Equibop/resources/app.asar \
|
|
--add-flags \"--enable-speech-dispatcher\" \
|
|
--add-flags \"--enable-blink-features=MiddleClickAutoscroll\" \
|
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime}}"
|
|
''
|
|
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
|
makeWrapper $out/Applications/equicord.app/Contents/MacOS/Equibop $out/bin/equibop
|
|
'';
|
|
|
|
desktopItems = lib.optional stdenv.hostPlatform.isLinux (makeDesktopItem {
|
|
name = "equibop";
|
|
desktopName = "Equibop";
|
|
exec = "equibop %U";
|
|
icon = "equibop";
|
|
startupWMClass = "Equibop";
|
|
genericName = "Internet Messenger";
|
|
keywords = [
|
|
"discord"
|
|
"vencord"
|
|
"electron"
|
|
"chat"
|
|
"equicord"
|
|
];
|
|
categories = [
|
|
"Network"
|
|
"InstantMessaging"
|
|
"Chat"
|
|
];
|
|
});
|
|
}));
|
|
in {
|
|
imports = with inputs; [
|
|
catppuccin.homeManagerModules.catppuccin
|
|
chaotic.homeManagerModules.default
|
|
hyprland.homeManagerModules.default
|
|
nix-colors.homeManagerModules.default
|
|
nix-index-database.hmModules.nix-index
|
|
|
|
./hyprland
|
|
./screenshot
|
|
];
|
|
|
|
snowfallorg.user = {
|
|
enable = true;
|
|
name = "marshall";
|
|
};
|
|
|
|
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
|
|
|
home = {
|
|
packages = with pkgs;
|
|
[
|
|
alejandra
|
|
beeper
|
|
duf
|
|
eternal-terminal
|
|
equibop
|
|
glow
|
|
grc
|
|
jamesdsp
|
|
jdk21
|
|
killall
|
|
libnotify
|
|
lm_sensors
|
|
loupe
|
|
neovide
|
|
playerctl
|
|
prismlauncher
|
|
python3
|
|
slack
|
|
telegram-desktop
|
|
xdotool
|
|
(xwinwrap.overrideAttrs {
|
|
src = fetchFromGitHub {
|
|
owner = "camonater62";
|
|
repo = "xwinwrap";
|
|
rev = "ec74e730072225ffa740bf5076a1dd0a343bb113";
|
|
sha256 = "0vfwbcx5y1aphiaix2zps1bl7lhbhdvm6vhys2m0kwvl6igy0cc8";
|
|
};
|
|
|
|
buildPhase = ''
|
|
make all
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
mv xwinwrap $out/bin
|
|
'';
|
|
})
|
|
youki
|
|
]
|
|
++ (with jetbrains; [
|
|
clion
|
|
rust-rover
|
|
webstorm
|
|
idea-ultimate
|
|
])
|
|
++ (with inputs; [
|
|
nixvim.packages.${pkgs.system}.default
|
|
zen-browser.packages.${pkgs.system}.specific
|
|
chaotic.packages.${pkgs.system}.distrobox_git
|
|
chaotic.packages.${pkgs.system}.zed-editor_git
|
|
]);
|
|
|
|
stateVersion = "24.05";
|
|
};
|
|
|
|
dconf.settings = {
|
|
"org/virt-manager/virt-manager/connections" = {
|
|
autoconnect = ["qemu:///system"];
|
|
uris = ["qemu:///system"];
|
|
};
|
|
};
|
|
|
|
xdg.enable = true;
|
|
|
|
catppuccin = {
|
|
enable = true;
|
|
flavor = "mocha";
|
|
accent = "green";
|
|
pointerCursor.enable = true;
|
|
};
|
|
|
|
gtk = let
|
|
gradiencePreset = pkgs.fetchurl {
|
|
url = "https://raw.githubusercontent.com/GradienceTeam/Community/next/official/catppuccin-macchiato.json";
|
|
hash = "sha256-FgQvmK/Pjn980o+UVc2a70kGa6sGse045zPS9hzCs14=";
|
|
};
|
|
|
|
gradienceBuild = pkgs.stdenv.mkDerivation {
|
|
name = "gradience-build";
|
|
phases = ["buildPhase" "installPhase"];
|
|
nativeBuildInputs = [pkgs.gradience];
|
|
buildPhase = ''
|
|
shopt -s nullglob
|
|
export HOME=$TMPDIR
|
|
mkdir -p $HOME/.config/presets
|
|
gradience-cli apply -p ${gradiencePreset} --gtk both
|
|
'';
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp -r .config/gtk-4.0 $out/
|
|
cp -r .config/gtk-3.0 $out/
|
|
'';
|
|
};
|
|
in {
|
|
enable = true;
|
|
theme.name = "adw-gtk3-dark";
|
|
theme.package = pkgs.adw-gtk3;
|
|
|
|
gtk3 = {
|
|
extraCss = builtins.readFile "${gradienceBuild}/gtk-3.0/gtk.css";
|
|
extraConfig = {
|
|
gtk-application-prefer-dark-theme = 1;
|
|
};
|
|
};
|
|
|
|
gtk4 = {
|
|
extraCss = builtins.readFile "${gradienceBuild}/gtk-4.0/gtk.css";
|
|
extraConfig = {
|
|
gtk-application-prefer-dark-theme = 1;
|
|
};
|
|
};
|
|
};
|
|
|
|
qt = {
|
|
enable = true;
|
|
platformTheme.name = "kvantum";
|
|
style.name = "kvantum";
|
|
style.catppuccin.enable = true;
|
|
};
|
|
|
|
programs = {
|
|
xmobar.enable = true;
|
|
|
|
emacs = {
|
|
enable = true;
|
|
package = inputs.emacs.packages.${pkgs.system}.default;
|
|
};
|
|
|
|
wezterm.extraConfig = builtins.readFile ./wezterm.lua;
|
|
|
|
git = {
|
|
extraConfig.credential.helper = "libsecret";
|
|
signing.key = "0FF5B8826803F895";
|
|
};
|
|
|
|
mpv = {
|
|
enable = true;
|
|
scripts = [pkgs.mpvScripts.uosc];
|
|
catppuccin.enable = true;
|
|
};
|
|
};
|
|
|
|
services = {
|
|
picom = {
|
|
enable = true;
|
|
backend = "glx";
|
|
fadeDelta = 5;
|
|
fade = true;
|
|
shadow = true;
|
|
vSync = true;
|
|
|
|
shadowExclude = [
|
|
"class_g = 'firefox' && argb"
|
|
"class_g *?= 'slop'"
|
|
];
|
|
|
|
settings = {
|
|
corner-radius = 10;
|
|
|
|
blur-background-exclude = [
|
|
"class_g = 'slop'"
|
|
];
|
|
|
|
rounded-corners-exclude = [
|
|
"window_type = 'dock'"
|
|
"window_type = 'desktop'"
|
|
];
|
|
|
|
blur = {
|
|
method = "gaussian";
|
|
size = 10;
|
|
deviation = 5.0;
|
|
};
|
|
};
|
|
};
|
|
|
|
dunst = {
|
|
enable = true;
|
|
settings.global = {
|
|
corner_radius = 10;
|
|
offset = "18x53";
|
|
frame_width = 2;
|
|
font = "SN Pro 12";
|
|
frame_color = lib.mkForce "#a6e3a1";
|
|
};
|
|
catppuccin.enable = true;
|
|
};
|
|
};
|
|
|
|
systemd.user.startServices = "sd-switch";
|
|
|
|
nix.package = lib.mkForce inputs.nix-super.packages.${pkgs.system}.default;
|
|
}
|