added even more hyprland stuff

This commit is contained in:
Charlie Root 2024-05-06 23:17:31 +02:00
commit ca920737c5
8 changed files with 68 additions and 109 deletions

View file

@ -28,6 +28,8 @@
security.polkit.enable = true;
programs.kdeconnect.enable = true;
programs.dconf.enable = true;
boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
# services.picom.enable = true;
modules = {
other = {
@ -59,23 +61,11 @@
pipewire.enable = true;
};
themes = {
cursor = {
enable = false;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 24;
};
gtk = {
enable = false;
package = pkgs.materia-theme;
name = "Materia-dark";
# iconTheme = {
# name = "Papirus-Dark";
# package = pkgs.catppuccin-papirus-folders;
# };
enable = true;
};
qt = {
enable = false;
enable = true;
package = pkgs.kde-gruvbox;
name = "Gruvbox-Dark";
};

View file

@ -12,6 +12,9 @@ in {
config = mkIf cfg.enable {
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "nvidia";
GTK_USE_PORTAL = "1";
NIXOS_XDG_OPEN_USE_PORTAL = "1";
XDG_CURRENT_DESKTOP = "Hyprland";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP = "Hyprland";
@ -45,20 +48,20 @@ in {
monitor = [
"DP-2,1920x1080,0x0,1"
"HDMI-A-2,1920x1080,1920x0,1"
"DP-1,1920x1080,3480x0,1"
"HDMI-A-1,1920x1080,3840x0,1"
"Unknown-1,disable"
];
workspace = [
"1, monitor:DP-2, default:true"
"2, monitor:DP-2"
"3, monitor:DP-2"
"4, monitor:DP-2"
"5, monitor:DP-2"
"6, monitor:DP-2"
"7, monitor:DP-2"
"8, monitor:DP-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"1, monitor:HDMI-A-1, default:true"
"2, monitor:HDMI-A-1"
"3, monitor:HDMI-A-1"
"4, monitor:HDMI-A-1"
"5, monitor:HDMI-A-1"
"6, monitor:HDMI-A-1"
"7, monitor:HDMI-A-1"
"8, monitor:HDMI-A-1"
"9, monitor:HDMI-A-1"
"10, monitor:HDMI-A-1"
"11, monitor:HDMI-A-2, default:true"
"12, monitor:HDMI-A-2"
@ -72,16 +75,16 @@ in {
"20, monitor:HDMI-A-2"
"21, monitor:DP-1, default:true"
"22, monitor:DP-1"
"23, monitor:DP-1"
"24, monitor:DP-1"
"25, monitor:DP-1"
"26, monitor:DP-1"
"27, monitor:DP-1"
"28, monitor:DP-1"
"29, monitor:DP-1"
"30, monitor:DP-1"
"21, monitor:DP-2, default:true"
"22, monitor:DP-2"
"23, monitor:DP-2"
"24, monitor:DP-2"
"25, monitor:DP-2"
"26, monitor:DP-2"
"27, monitor:DP-2"
"28, monitor:DP-2"
"29, monitor:DP-2"
"30, monitor:DP-2"
# scratchpads
"special:btop, decorate:false"
@ -125,11 +128,13 @@ in {
shadow_ignore_window = 1;
shadow_offset = "2 4";
shadow_scale = 1;
active_opacity = 0.90;
inactive_opacity = 0.90;
#"col.shadow" = "0xAF1E1E2E";
};
bezier = [
"dupa, 0.1, 0..9, 0.1, 1.05"
"dupa, 0.1, 0.9, 0.1, 1.05"
"apf,0.76,0,0.24,1"
"fast,0.34,1.56,0.64,1"
];
@ -137,11 +142,10 @@ in {
enabled = true;
animation = [
"windows, 1, 4, dupa, popin"
"windowsIn, 1, 4, dupa, popin"
"windowsOut, 1, 4, dupa, popin"
"windowsOut, 1, 4, dupa, slide"
"border, 1, 15, default"
"fade, 1, 10, default"
"workspaces, 1, 5, dupa, slidefadevert"
"workspaces, 1, 5, dupa, slidevert"
];
};
dwindle = {
@ -181,6 +185,7 @@ in {
"$mainMod, F, fullscreen, 0"
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
"$mainMod, SPACE, togglefloating, active"
"$mainMod, O, exec, obsidian --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
# workspaces
"$mainMod, 1, split-workspace, 1"
"$mainMod, 2, split-workspace, 2"
@ -251,26 +256,15 @@ in {
pass_mouse_when_bound = false;
movefocus_cycles_fullscreen = false;
};
exec-once = let
handle_hyprland_events = pkgs.writeShellScriptBin "handle_hyprland_events" ''
#!/bin/sh
handle() {
case $1 in
configreloaded*)
${hyprland}/bin/hyprctl notify 1 2500 "" " Reloading Hyprland..."
;;
esac
}
'';
in [
exec-once = [
#start waybar
"${waybar}/bin/waybar"
# run persistent special workspace windows
"[workspace special:nixos silent;tile] ${pkgs.kitty}/bin/kitty -d ~/repos/nichts -e nvim"
"[workspace special:keepassxc silent;tile] ${pkgs.keepassxc}/bin/keepassxc"
"${swww}/bin/swww init"
"${swww}/bin/swww-daemon"
"${wlsunset}/bin/wlsunset -S 06:00 -s 20:00"
];

View file

@ -1,10 +1,10 @@
{ config, inputs, pkgs, ... }:
let
fenix = inputs.fenix.packages.${pkgs.system};
nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system};
username = config.modules.other.system.username;
in {
environment.systemPackages = with pkgs; [
alacritty
alsa-utils
android-tools
asciinema
@ -28,10 +28,9 @@ in {
"rustfmt"
])
ffmpeg-full
fftw flameshot
fftw
flameshot
grimblast
heroic
imv
gcc
gdb
gnumake
@ -39,10 +38,12 @@ in {
grimblast
git
helvum
heroic
httpie
i3lock
imagemagick
img2pdf
imv
keepassxc
krita
lazygit
@ -56,8 +57,11 @@ in {
nextcloud-client
nicotine-plus
nitrogen
nixpkgs-wayland.swww
nmap
notesnook
obs-studio
obsidian
onlyoffice-bin
pamixer
pavucontrol
@ -91,6 +95,7 @@ in {
tree
unzip
util-linux
v4l-utils
ventoy-full
vlc
weechat

View file

@ -1,39 +0,0 @@
{
config,
lib,
...
}: with lib; let
cfg = config.modules.themes.cursor;
username = config.modules.other.system.username;
in {
options.modules.themes.cursor = {
enable = mkEnableOption "cursor theming";
package = mkOption {
description = "cursor theme package";
type = types.package;
};
name = mkOption {
description = "cursor theme name";
type = types.str;
};
size = mkOption {
description = "cursor size";
type = types.int;
};
};
config = mkIf cfg.enable {
environment.sessionVariables = {
XCURSOR_THEME = "${cfg.name}";
XCURSOR_SIZE = "${toString cfg.size}";
};
home-manager.users.${username} = {
home.pointerCursor = {
inherit (cfg) package name size;
gtk.enable = true;
x11.enable = true;
};
};
};
}

View file

@ -1,7 +1,6 @@
_: {
imports = [
./vesktop.nix
./cursor.nix
./gtk.nix
./mpv.nix
./qt.nix

View file

@ -36,16 +36,16 @@ in {
gtk = {
enable = true;
theme = {
# inherit (cfg) name package;
package = pkgs.gruvbox-gtk-theme;
name = "Gruvbox-Dark-BL";
#package = pkgs.gruvbox-gtk-theme;
#name = "Gruvbox-Dark-BL";
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.catppuccin-papirus-folders;
};
# iconTheme = {
# inherit (cfg.iconTheme) name package;
# };
};
home.sessionVariables = {
GTK_THEME = "Gruvbox-Dark-BL";
#GTK_THEME = "Gruvbox-Dark-BL";
# GTK_USE_PORTAL = "1";

View file

@ -17,7 +17,7 @@ in {
#background_opacity = "0.9";
confirm_os_window_close = "0";
#font_family = "JetBrainsMono Nerd Font";
/*
cursor_text_color = "background";
url_color = "#83a598";
@ -69,6 +69,7 @@ in {
# white (fg4/fg3)
color7 = "#a89984";
color15 = "#bdae93";
*/
};
};

View file

@ -21,7 +21,6 @@ in {
zathura.enable = true;
gtk.enable = true;
hyprland.enable = true;
};
};
};
@ -35,6 +34,7 @@ in {
name = "Bibata-Modern-Classic";
size = 24;
};
targets.plymouth.enable = true;
opacity = {
applications = 0.7;
popups = 0.7;
@ -46,13 +46,22 @@ in {
popups = 14;
};
sansSerif = config.stylix.fonts.monospace;
serif = config.stylix.fonts.monospace;
emoji = config.stylix.fonts.monospace;
monospace = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
name = "JetBrainsMono";
};
serif = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
name = "JetBrainsMono";
};
sansSerif = {
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
name = "JetBrainsMono";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
};
};