209 lines
4.6 KiB
Nix

{pkgs, ...}: {
home.packages = with pkgs; [
helix
firefox-devedition
git
eww-wayland
pinentry
acpi
sops
moonlight-qt
discord
telegram-desktop
obs-studio
];
programs.bash.enable = true;
programs.swaylock.enable = true;
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER";
monitor = [
"eDP-1,2256x1504,0x0,1.566667"
"DP-9,2560x1080,2256x0,1"
"DP-11,1680x1050,4816x0,1"
",preferred,auto,1.5"
];
exec-once = ["waybar"];
input = {
kb_layout = "us,de";
follow_mouse = 1;
};
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 1;
layout = "dwindle";
allow_tearing = false;
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
"col.inactive_border" = "rgba(595959aa)";
};
decoration = {
rounding = 5;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
"col.shadow" = "rgba(1a1a1aee)";
blur = {
enabled = true;
size = 3;
passes = 1;
};
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 3, myBezier"
"windowsOut, 1, 3, default, popin 80%"
"border, 1, 3, default"
"borderangle, 1, 3, default"
"fade, 1, 3, default"
"workspaces, 1, 3, default"
];
};
bind =
[
"$mod, return, exec, ${pkgs.alacritty.outPath}/bin/alacritty"
"$mod SHIFT, Q, killactive, "
"$mod, L, exec, swaylock"
"$mod, V, togglefloating, "
"$mod, D, exec, ${pkgs.rofi-wayland.outPath}/bin/rofi -show drun"
"$mod, P, pseudo, # dwindle"
"$mod, J, togglesplit, # dwindle"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod, S, togglespecialworkspace, magic"
"$mod SHIFT, S, movetoworkspace, special:magic"
]
++ builtins.concatLists (builtins.genList (
x: let
num = builtins.toString (x + 1);
in [
"$mod, ${num}, workspace, ${num}"
"$mod SHIFT, ${num}, movetoworkspace, ${num}"
]
)
9);
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
"device:razer-razer-blackwidow-chroma" = {
kb_layout = "de";
};
};
};
programs.waybar = {
enable = true;
settings.mainbar = {
layer = "top";
position = "top";
height = 30;
modules-left = ["hyprland/workspaces"];
modules-right = ["pulseaudio" "network" "cpu" "memory" "temperature" "battery" "clock" "tray"];
};
};
programs.helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "onedark";
editor = {
line-number = "relative";
true-color = true;
gutters = ["diagnostics" "spacer" "line-numbers" "spacer" "diff"];
cursorline = true;
completion-trigger-len = 2;
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
lsp = {
display-messages = true;
display-inlay-hints = true;
};
statusline = {
left = ["mode" "spinner"];
center = ["file-name"];
right = ["diagnostics" "selections" "position" "file-encoding" "file-line-ending" "file-type" "version-control"];
mode = {
normal = "NORMAL";
insert = "INSERT";
select = "SELECT";
};
};
};
};
};
programs.thunderbird = {
enable = true;
profiles = {
main = {
isDefault = true;
withExternalGnupg = true;
};
};
};
accounts.email.accounts = {
patrick = {
primary = true;
realName = "Patrick Michl";
address = "me@fuckwit.dev";
userName = "me@fuckwit.dev";
gpg = {
key = "5FA64909521A5C85992F26E0F819AEFF941BB849";
signByDefault = true;
};
imap = {
host = "mail.fuckwit.dev";
port = 143;
tls = {
useStartTls = true;
};
};
smtp = {
host = "mail.fuckwit.dev";
port = 587;
tls = {
useStartTls = true;
};
};
thunderbird = {
enable = true;
profiles = ["main"];
};
};
};
home.stateVersion = "23.11";
}