nix-config/homes/x86_64-linux/marshall@navis/default.nix
2025-04-29 02:57:33 -04:00

181 lines
3.8 KiB
Nix

{
pkgs,
inputs,
...
}: let
additionalJDKs = with pkgs; [
temurin-bin-23
temurin-bin-21
temurin-bin-17
temurin-bin-8
];
in {
imports = with inputs; [
catppuccin.homeModules.catppuccin
chaotic.homeManagerModules.default
hyprland.homeManagerModules.default
nix-colors.homeManagerModules.default
nix-index-database.hmModules.nix-index
zen-browser.homeModules.twilight
./hyprland
];
snowfallorg.user = {
enable = true;
name = "marshall";
};
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
wayland.windowManager.river = {
enable = true;
systemd.enable = true;
xwayland.enable = true;
};
home = {
sessionPath = ["$HOME/.jdks"];
file = builtins.listToAttrs (builtins.map (jdk: {
name = ".jdks/${jdk.version}";
value = {source = jdk;};
})
additionalJDKs);
packages = with pkgs;
[
alejandra
bitwarden-desktop
duf
equibop
glow
grc
killall
libnotify
lm_sensors
loupe
nodejs
playerctl
prismlauncher
ryujinx-greemdev
telegram-desktop
]
++ (with jetbrains; [
clion
idea-ultimate
])
++ (with inputs; [
chaotic.packages.${pkgs.system}.distrobox_git
chaotic.packages.${pkgs.system}.zed-editor_git
nixvim.packages.${pkgs.system}.default
]);
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";
bat.enable = true;
btop.enable = true;
cursors.enable = true;
fzf.enable = true;
kvantum.enable = true;
mpv.enable = true;
rio.enable = true;
rofi.enable = true;
starship.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 = false;
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";
};
programs = {
xmobar.enable = true;
wezterm.extraConfig = builtins.readFile ./wezterm.lua;
git = {
extraConfig.credential.helper = "libsecret";
signing.key = "0FF5B8826803F895";
};
java = {
enable = true;
package = pkgs.temurin-bin-21;
};
mpv = {
enable = true;
scripts = [pkgs.mpvScripts.uosc];
};
zen-browser = {
enable = true;
nativeMessagingHosts = [pkgs.firefoxpwa];
policies = {
DisableAppUpdate = true;
DisableTelemetry = true;
};
};
};
systemd.user.startServices = "sd-switch";
}