232 lines
5.1 KiB
Nix
232 lines
5.1 KiB
Nix
{ inputs, config, pkgs, ... }:
|
|
|
|
{
|
|
home.username = "snurm";
|
|
home.homeDirectory = "/home/snurm";
|
|
home.stateVersion = "25.11";
|
|
programs.home-manager.enable = true;
|
|
home.sessionVariables = {
|
|
NIXOS_OZONE_WL = "1";
|
|
SUDO_EDITOR = "nvim";
|
|
GTK_IM_MODULE = "fcitx";
|
|
QT_IM_MODULE = "fcitx";
|
|
SDL_IM_MODULE = "fcitx";
|
|
};
|
|
xdg.autostart = {
|
|
enable = true;
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
hyprshutdown
|
|
grim
|
|
slurp
|
|
];
|
|
i18n.inputMethod = {
|
|
enable = true;
|
|
type = "fcitx5";
|
|
fcitx5.waylandFrontend = true;
|
|
fcitx5.addons = with pkgs; [
|
|
fcitx5-mozc
|
|
fcitx5-gtk
|
|
];
|
|
#fcitx5.settings.inputMethod = {
|
|
# GroupOrder."0" = "Default";
|
|
# "Groups/0" = {
|
|
# Name = "Default";
|
|
# "Default Layout" = "de";
|
|
# DefaultIM = "mozc";
|
|
# };
|
|
# "Groups/0/Items/0".Name = "keyboard-de";
|
|
# "Groups/0/Items/0".Layout = "";
|
|
# "Groups/0/Items/1".Name = "mozc";
|
|
# "Groups/0/Items/1".Layout = "de";
|
|
#};
|
|
|
|
#fcitx5.ignoreUserConfig = true;
|
|
};
|
|
|
|
fonts.fontconfig = {
|
|
enable = true;
|
|
};
|
|
wayland.windowManager.hyprland = {
|
|
enable = false;
|
|
systemd.enable = false;
|
|
#package = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.hyprland;
|
|
#portalPackage = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
|
settings = {
|
|
"$mainMod" = "SUPER";
|
|
"$menu" = "wofi --show drun";
|
|
"$terminal" = "kitty";
|
|
input = {
|
|
"kb_layout" = "de";
|
|
"follow_mouse" = "1";
|
|
};
|
|
monitor = [
|
|
"DP-2, highres@highrr, auto, auto"
|
|
"DP-3, highres@highrr, auto-left, auto"
|
|
"HDMI-A-1, highres@highrr, auto-right, auto"
|
|
];
|
|
general = {
|
|
"border_size" = "2";
|
|
"gaps_in" = "5";
|
|
"gaps_out" = "5";
|
|
};
|
|
bind = [
|
|
"$mainMod, Q, exec, $terminal"
|
|
"$mainMod, D, exec, $menu"
|
|
"$mainMod, C, killactive"
|
|
"$mainMod, F, fullscreen"
|
|
"$mainMod, S, exec, grim -g \"$(slurp -d)\" - | wl-copy"
|
|
"$mainMod, M, exec, hyprshutdown -t 'Shutting Down...' --post-cmd 'shutdown -P 0'"
|
|
"$mainMod, H, movefocus, l"
|
|
"$mainMod, L, movefocus, r"
|
|
"$mainMod, K, movefocus, u"
|
|
"$mainMod, J, movefocus, d"
|
|
"$mainMod SHIFT, H, movewindow, l"
|
|
"$mainMod SHIFT, L, movewindow, r"
|
|
"$mainMod SHIFT, K, movewindow, u"
|
|
"$mainMod SHIFT, J, movewindow, d"
|
|
]
|
|
++ (
|
|
builtins.concatLists (builtins.genList (i:
|
|
let ws = i + 1;
|
|
in [
|
|
"$mainMod, code:1${toString i}, workspace, ${toString ws}"
|
|
"$mainMod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
|
]
|
|
)
|
|
10)
|
|
);
|
|
bindm = [
|
|
"$mainMod, mouse:272, movewindow"
|
|
"$mainMod, mouse:273, resizewindow"
|
|
];
|
|
bindl = [
|
|
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
",XF86AudioNext, exec, playerctl next"
|
|
",XF86AudioPause, exec, playerctl play-pause"
|
|
",XF86AudioPlay, exec, playerctl play-pause"
|
|
",XF86AudioPrev, exec, playerctl previous"
|
|
|
|
];
|
|
exec-once = [
|
|
"hyprpaper"
|
|
];
|
|
};
|
|
};
|
|
programs.firefox = {
|
|
enable = true;
|
|
languagePacks = [
|
|
"en-US"
|
|
"ja"
|
|
];
|
|
# TODO add extensions/settings/bookmarks
|
|
};
|
|
programs.zathura = {
|
|
enable = true;
|
|
};
|
|
programs.btop = {
|
|
enable = true;
|
|
};
|
|
programs.keepassxc = {
|
|
enable = true;
|
|
autostart = true;
|
|
};
|
|
|
|
programs.mangohud = {
|
|
enable = true;
|
|
enableSessionWide = true;
|
|
};
|
|
programs.vesktop = {
|
|
enable = true;
|
|
settings = {
|
|
discordBranch = "stable";
|
|
arRPC = true;
|
|
minimizeToTray = true;
|
|
hardwareVideoAcceleration = true;
|
|
};
|
|
};
|
|
programs.anki = {
|
|
enable = true;
|
|
theme = "light";
|
|
addons = [
|
|
pkgs.ankiAddons.anki-connect
|
|
pkgs.ankiAddons.review-heatmap
|
|
pkgs.ankiAddons.adjust-sound-volume
|
|
];
|
|
};
|
|
programs.quickshell = {
|
|
enable = true;
|
|
systemd.enable = true;
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
shellAliases = {
|
|
cl = "clear";
|
|
rb = "sudo nixos-rebuild switch --flake /etc/nixos/";
|
|
};
|
|
profileExtra = ''
|
|
if uwsm check may-start && uwsm select; then
|
|
exec uwsm start default
|
|
fi
|
|
'';
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
settings.user = {
|
|
name = "snurm";
|
|
email = "user@example.com";
|
|
};
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
font = {
|
|
name = "JetBrains Mono";
|
|
size = 10;
|
|
};
|
|
settings = {
|
|
confirm_os_window_close = 0;
|
|
enable_auto_bell = false;
|
|
mouse_hide_wait = "-1.0";
|
|
background_opacity = "0.5";
|
|
background_blur = 5;
|
|
};
|
|
};
|
|
programs.wofi = {
|
|
enable = true;
|
|
};
|
|
services.playerctld = {
|
|
enable = true;
|
|
};
|
|
|
|
services.hyprpaper = {
|
|
enable = true;
|
|
settings = {
|
|
splash = false;
|
|
wallpaper = [
|
|
{
|
|
monitor = "DP-2";
|
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
|
fit_mode = "cover";
|
|
}
|
|
{
|
|
monitor = "DP-3";
|
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
|
fit_mode = "cover";
|
|
}
|
|
{
|
|
monitor = "HDMI-A-1";
|
|
path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg";
|
|
fit_mode = "cover";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|