nix-config/homes/x86_64-linux/marshall@navis/default.nix

304 lines
7 KiB
Nix
Raw Normal View History

2024-05-07 03:23:55 -04:00
{
lib,
pkgs,
inputs,
...
2024-09-29 00:41:05 -04:00
}: 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 {
2024-07-28 02:49:27 -04:00
imports = with inputs; [
catppuccin.homeManagerModules.catppuccin
chaotic.homeManagerModules.default
hyprland.homeManagerModules.default
nix-colors.homeManagerModules.default
nix-index-database.hmModules.nix-index
2024-07-28 21:52:06 -04:00
./hyprland
./screenshot
2024-07-28 02:49:27 -04:00
];
2024-07-31 01:03:58 -04:00
snowfallorg.user = {
enable = true;
name = "marshall";
};
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
2024-05-07 03:23:55 -04:00
home = {
packages = with pkgs;
[
2024-07-28 02:49:27 -04:00
alejandra
2024-06-26 03:14:20 -04:00
beeper
2024-05-28 04:08:06 -04:00
duf
2024-05-16 02:40:39 -04:00
eternal-terminal
2024-10-05 00:43:16 -04:00
emacs30-pgtk
2024-09-29 00:41:05 -04:00
equibop
2024-06-13 23:47:00 -04:00
glow
2024-05-07 03:23:55 -04:00
grc
jamesdsp
2024-06-13 23:47:00 -04:00
jdk21
2024-05-16 02:40:39 -04:00
killall
2024-05-28 04:08:06 -04:00
libnotify
2024-05-16 02:40:39 -04:00
lm_sensors
2024-05-28 04:08:06 -04:00
loupe
2024-06-26 03:14:20 -04:00
neovide
2024-05-16 02:40:39 -04:00
playerctl
prismlauncher
2024-10-06 00:25:01 -04:00
(python312.withPackages
(p:
with p; [
epc
orjson
sexpdata
six
setuptools
paramiko
rapidfuzz
]))
2024-06-13 23:47:00 -04:00
slack
2024-05-16 02:40:39 -04:00
telegram-desktop
2024-09-28 22:03:51 -04:00
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
'';
})
2024-05-16 02:40:39 -04:00
youki
2024-05-07 03:23:55 -04:00
]
2024-07-28 02:49:27 -04:00
++ (with jetbrains; [
clion
rust-rover
webstorm
idea-ultimate
])
2024-05-07 03:23:55 -04:00
++ (with inputs; [
nixvim.packages.${pkgs.system}.default
2024-09-28 22:03:51 -04:00
zen-browser.packages.${pkgs.system}.specific
2024-09-29 00:41:05 -04:00
chaotic.packages.${pkgs.system}.distrobox_git
2024-09-30 23:05:28 -04:00
chaotic.packages.${pkgs.system}.zed-editor_git
2024-05-07 03:23:55 -04:00
]);
stateVersion = "24.05";
};
2024-05-16 02:40:39 -04:00
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
xdg.enable = true;
catppuccin = {
enable = true;
2024-05-28 04:08:06 -04:00
flavor = "mocha";
2024-05-16 02:40:39 -04:00
accent = "green";
2024-06-26 03:14:20 -04:00
pointerCursor.enable = true;
2024-05-16 02:40:39 -04:00
};
2024-06-26 03:14:20 -04:00
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 {
2024-10-05 00:43:16 -04:00
enable = false;
2024-06-26 03:14:20 -04:00
theme.name = "adw-gtk3-dark";
theme.package = pkgs.adw-gtk3;
2024-05-16 02:40:39 -04:00
2024-06-26 03:14:20 -04:00
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;
};
2024-05-16 02:40:39 -04:00
};
};
2024-05-28 04:22:41 -04:00
qt = {
enable = true;
2024-07-28 02:49:27 -04:00
platformTheme.name = "kvantum";
2024-05-28 04:22:41 -04:00
style.name = "kvantum";
style.catppuccin.enable = true;
};
2024-05-07 03:23:55 -04:00
programs = {
2024-09-28 22:03:51 -04:00
xmobar.enable = true;
2024-07-28 21:52:06 -04:00
wezterm.extraConfig = builtins.readFile ./wezterm.lua;
2024-05-07 03:23:55 -04:00
2024-07-28 21:52:06 -04:00
git = {
extraConfig.credential.helper = "libsecret";
signing.key = "0FF5B8826803F895";
2024-05-07 03:23:55 -04:00
};
2024-07-31 01:03:58 -04:00
mpv = {
enable = true;
scripts = [pkgs.mpvScripts.uosc];
catppuccin.enable = true;
};
2024-05-16 02:40:39 -04:00
};
2024-09-28 22:03:51 -04:00
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;
};
};
2024-05-28 04:08:06 -04:00
systemd.user.startServices = "sd-switch";
2024-05-07 03:23:55 -04:00
2024-07-31 01:03:58 -04:00
nix.package = lib.mkForce inputs.nix-super.packages.${pkgs.system}.default;
2024-05-07 03:23:55 -04:00
}