added even more hyprland stuff
This commit is contained in:
parent
0022cf7d50
commit
ca920737c5
8 changed files with 68 additions and 109 deletions
|
@ -28,6 +28,8 @@
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
|
boot.kernelModules = [ "v4l2loopback" ];
|
||||||
|
boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ];
|
||||||
# services.picom.enable = true;
|
# services.picom.enable = true;
|
||||||
modules = {
|
modules = {
|
||||||
other = {
|
other = {
|
||||||
|
@ -59,23 +61,11 @@
|
||||||
pipewire.enable = true;
|
pipewire.enable = true;
|
||||||
};
|
};
|
||||||
themes = {
|
themes = {
|
||||||
cursor = {
|
|
||||||
enable = false;
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
name = "Bibata-Modern-Classic";
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = false;
|
enable = true;
|
||||||
package = pkgs.materia-theme;
|
|
||||||
name = "Materia-dark";
|
|
||||||
# iconTheme = {
|
|
||||||
# name = "Papirus-Dark";
|
|
||||||
# package = pkgs.catppuccin-papirus-folders;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
qt = {
|
qt = {
|
||||||
enable = false;
|
enable = true;
|
||||||
package = pkgs.kde-gruvbox;
|
package = pkgs.kde-gruvbox;
|
||||||
name = "Gruvbox-Dark";
|
name = "Gruvbox-Dark";
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,6 +12,9 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
GTK_USE_PORTAL = "1";
|
||||||
|
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
XDG_SESSION_DESKTOP = "Hyprland";
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
@ -45,20 +48,20 @@ in {
|
||||||
monitor = [
|
monitor = [
|
||||||
"DP-2,1920x1080,0x0,1"
|
"DP-2,1920x1080,0x0,1"
|
||||||
"HDMI-A-2,1920x1080,1920x0,1"
|
"HDMI-A-2,1920x1080,1920x0,1"
|
||||||
"DP-1,1920x1080,3480x0,1"
|
"HDMI-A-1,1920x1080,3840x0,1"
|
||||||
"Unknown-1,disable"
|
"Unknown-1,disable"
|
||||||
];
|
];
|
||||||
workspace = [
|
workspace = [
|
||||||
"1, monitor:DP-2, default:true"
|
"1, monitor:HDMI-A-1, default:true"
|
||||||
"2, monitor:DP-2"
|
"2, monitor:HDMI-A-1"
|
||||||
"3, monitor:DP-2"
|
"3, monitor:HDMI-A-1"
|
||||||
"4, monitor:DP-2"
|
"4, monitor:HDMI-A-1"
|
||||||
"5, monitor:DP-2"
|
"5, monitor:HDMI-A-1"
|
||||||
"6, monitor:DP-2"
|
"6, monitor:HDMI-A-1"
|
||||||
"7, monitor:DP-2"
|
"7, monitor:HDMI-A-1"
|
||||||
"8, monitor:DP-2"
|
"8, monitor:HDMI-A-1"
|
||||||
"9, monitor:DP-2"
|
"9, monitor:HDMI-A-1"
|
||||||
"10, monitor:DP-2"
|
"10, monitor:HDMI-A-1"
|
||||||
|
|
||||||
"11, monitor:HDMI-A-2, default:true"
|
"11, monitor:HDMI-A-2, default:true"
|
||||||
"12, monitor:HDMI-A-2"
|
"12, monitor:HDMI-A-2"
|
||||||
|
@ -72,16 +75,16 @@ in {
|
||||||
"20, monitor:HDMI-A-2"
|
"20, monitor:HDMI-A-2"
|
||||||
|
|
||||||
|
|
||||||
"21, monitor:DP-1, default:true"
|
"21, monitor:DP-2, default:true"
|
||||||
"22, monitor:DP-1"
|
"22, monitor:DP-2"
|
||||||
"23, monitor:DP-1"
|
"23, monitor:DP-2"
|
||||||
"24, monitor:DP-1"
|
"24, monitor:DP-2"
|
||||||
"25, monitor:DP-1"
|
"25, monitor:DP-2"
|
||||||
"26, monitor:DP-1"
|
"26, monitor:DP-2"
|
||||||
"27, monitor:DP-1"
|
"27, monitor:DP-2"
|
||||||
"28, monitor:DP-1"
|
"28, monitor:DP-2"
|
||||||
"29, monitor:DP-1"
|
"29, monitor:DP-2"
|
||||||
"30, monitor:DP-1"
|
"30, monitor:DP-2"
|
||||||
|
|
||||||
# scratchpads
|
# scratchpads
|
||||||
"special:btop, decorate:false"
|
"special:btop, decorate:false"
|
||||||
|
@ -125,11 +128,13 @@ in {
|
||||||
shadow_ignore_window = 1;
|
shadow_ignore_window = 1;
|
||||||
shadow_offset = "2 4";
|
shadow_offset = "2 4";
|
||||||
shadow_scale = 1;
|
shadow_scale = 1;
|
||||||
|
active_opacity = 0.90;
|
||||||
|
inactive_opacity = 0.90;
|
||||||
|
|
||||||
#"col.shadow" = "0xAF1E1E2E";
|
#"col.shadow" = "0xAF1E1E2E";
|
||||||
};
|
};
|
||||||
bezier = [
|
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"
|
"apf,0.76,0,0.24,1"
|
||||||
"fast,0.34,1.56,0.64,1"
|
"fast,0.34,1.56,0.64,1"
|
||||||
];
|
];
|
||||||
|
@ -137,11 +142,10 @@ in {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
animation = [
|
animation = [
|
||||||
"windows, 1, 4, dupa, popin"
|
"windows, 1, 4, dupa, popin"
|
||||||
"windowsIn, 1, 4, dupa, popin"
|
"windowsOut, 1, 4, dupa, slide"
|
||||||
"windowsOut, 1, 4, dupa, popin"
|
|
||||||
"border, 1, 15, default"
|
"border, 1, 15, default"
|
||||||
"fade, 1, 10, default"
|
"fade, 1, 10, default"
|
||||||
"workspaces, 1, 5, dupa, slidefadevert"
|
"workspaces, 1, 5, dupa, slidevert"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
dwindle = {
|
dwindle = {
|
||||||
|
@ -181,6 +185,7 @@ in {
|
||||||
"$mainMod, F, fullscreen, 0"
|
"$mainMod, F, fullscreen, 0"
|
||||||
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
|
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
|
||||||
"$mainMod, SPACE, togglefloating, active"
|
"$mainMod, SPACE, togglefloating, active"
|
||||||
|
"$mainMod, O, exec, obsidian --ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --enable-features=WebRTCPipeWireCpaturer --disable-gpu"
|
||||||
# workspaces
|
# workspaces
|
||||||
"$mainMod, 1, split-workspace, 1"
|
"$mainMod, 1, split-workspace, 1"
|
||||||
"$mainMod, 2, split-workspace, 2"
|
"$mainMod, 2, split-workspace, 2"
|
||||||
|
@ -251,26 +256,15 @@ in {
|
||||||
pass_mouse_when_bound = false;
|
pass_mouse_when_bound = false;
|
||||||
movefocus_cycles_fullscreen = false;
|
movefocus_cycles_fullscreen = false;
|
||||||
};
|
};
|
||||||
exec-once = let
|
exec-once = [
|
||||||
handle_hyprland_events = pkgs.writeShellScriptBin "handle_hyprland_events" ''
|
#start waybar
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
handle() {
|
|
||||||
case $1 in
|
|
||||||
configreloaded*)
|
|
||||||
${hyprland}/bin/hyprctl notify 1 2500 "" " Reloading Hyprland..."
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in [
|
|
||||||
"${waybar}/bin/waybar"
|
"${waybar}/bin/waybar"
|
||||||
|
|
||||||
# run persistent special workspace windows
|
# run persistent special workspace windows
|
||||||
"[workspace special:nixos silent;tile] ${pkgs.kitty}/bin/kitty -d ~/repos/nichts -e nvim"
|
"[workspace special:nixos silent;tile] ${pkgs.kitty}/bin/kitty -d ~/repos/nichts -e nvim"
|
||||||
"[workspace special:keepassxc silent;tile] ${pkgs.keepassxc}/bin/keepassxc"
|
"[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"
|
"${wlsunset}/bin/wlsunset -S 06:00 -s 20:00"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ config, inputs, pkgs, ... }:
|
{ config, inputs, pkgs, ... }:
|
||||||
let
|
let
|
||||||
fenix = inputs.fenix.packages.${pkgs.system};
|
fenix = inputs.fenix.packages.${pkgs.system};
|
||||||
|
nixpkgs-wayland = inputs.nixpkgs-wayland.packages.${pkgs.system};
|
||||||
username = config.modules.other.system.username;
|
username = config.modules.other.system.username;
|
||||||
in {
|
in {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
alacritty
|
|
||||||
alsa-utils
|
alsa-utils
|
||||||
android-tools
|
android-tools
|
||||||
asciinema
|
asciinema
|
||||||
|
@ -28,10 +28,9 @@ in {
|
||||||
"rustfmt"
|
"rustfmt"
|
||||||
])
|
])
|
||||||
ffmpeg-full
|
ffmpeg-full
|
||||||
fftw flameshot
|
fftw
|
||||||
|
flameshot
|
||||||
grimblast
|
grimblast
|
||||||
heroic
|
|
||||||
imv
|
|
||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
gnumake
|
gnumake
|
||||||
|
@ -39,10 +38,12 @@ in {
|
||||||
grimblast
|
grimblast
|
||||||
git
|
git
|
||||||
helvum
|
helvum
|
||||||
|
heroic
|
||||||
httpie
|
httpie
|
||||||
i3lock
|
i3lock
|
||||||
imagemagick
|
imagemagick
|
||||||
img2pdf
|
img2pdf
|
||||||
|
imv
|
||||||
keepassxc
|
keepassxc
|
||||||
krita
|
krita
|
||||||
lazygit
|
lazygit
|
||||||
|
@ -56,8 +57,11 @@ in {
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
nicotine-plus
|
nicotine-plus
|
||||||
nitrogen
|
nitrogen
|
||||||
|
nixpkgs-wayland.swww
|
||||||
nmap
|
nmap
|
||||||
notesnook
|
notesnook
|
||||||
|
obs-studio
|
||||||
|
obsidian
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
pamixer
|
pamixer
|
||||||
pavucontrol
|
pavucontrol
|
||||||
|
@ -91,6 +95,7 @@ in {
|
||||||
tree
|
tree
|
||||||
unzip
|
unzip
|
||||||
util-linux
|
util-linux
|
||||||
|
v4l-utils
|
||||||
ventoy-full
|
ventoy-full
|
||||||
vlc
|
vlc
|
||||||
weechat
|
weechat
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +1,6 @@
|
||||||
_: {
|
_: {
|
||||||
imports = [
|
imports = [
|
||||||
./vesktop.nix
|
./vesktop.nix
|
||||||
./cursor.nix
|
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./mpv.nix
|
./mpv.nix
|
||||||
./qt.nix
|
./qt.nix
|
||||||
|
|
|
@ -36,16 +36,16 @@ in {
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
# inherit (cfg) name package;
|
#package = pkgs.gruvbox-gtk-theme;
|
||||||
package = pkgs.gruvbox-gtk-theme;
|
#name = "Gruvbox-Dark-BL";
|
||||||
name = "Gruvbox-Dark-BL";
|
};
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.catppuccin-papirus-folders;
|
||||||
};
|
};
|
||||||
# iconTheme = {
|
|
||||||
# inherit (cfg.iconTheme) name package;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
GTK_THEME = "Gruvbox-Dark-BL";
|
#GTK_THEME = "Gruvbox-Dark-BL";
|
||||||
# GTK_USE_PORTAL = "1";
|
# GTK_USE_PORTAL = "1";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ in {
|
||||||
#background_opacity = "0.9";
|
#background_opacity = "0.9";
|
||||||
confirm_os_window_close = "0";
|
confirm_os_window_close = "0";
|
||||||
#font_family = "JetBrainsMono Nerd Font";
|
#font_family = "JetBrainsMono Nerd Font";
|
||||||
|
/*
|
||||||
cursor_text_color = "background";
|
cursor_text_color = "background";
|
||||||
|
|
||||||
url_color = "#83a598";
|
url_color = "#83a598";
|
||||||
|
@ -69,6 +69,7 @@ in {
|
||||||
# white (fg4/fg3)
|
# white (fg4/fg3)
|
||||||
color7 = "#a89984";
|
color7 = "#a89984";
|
||||||
color15 = "#bdae93";
|
color15 = "#bdae93";
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,7 +21,6 @@ in {
|
||||||
zathura.enable = true;
|
zathura.enable = true;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -35,6 +34,7 @@ in {
|
||||||
name = "Bibata-Modern-Classic";
|
name = "Bibata-Modern-Classic";
|
||||||
size = 24;
|
size = 24;
|
||||||
};
|
};
|
||||||
|
targets.plymouth.enable = true;
|
||||||
opacity = {
|
opacity = {
|
||||||
applications = 0.7;
|
applications = 0.7;
|
||||||
popups = 0.7;
|
popups = 0.7;
|
||||||
|
@ -46,13 +46,22 @@ in {
|
||||||
popups = 14;
|
popups = 14;
|
||||||
|
|
||||||
};
|
};
|
||||||
sansSerif = config.stylix.fonts.monospace;
|
|
||||||
serif = config.stylix.fonts.monospace;
|
|
||||||
emoji = config.stylix.fonts.monospace;
|
|
||||||
monospace = {
|
monospace = {
|
||||||
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
|
package = (pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];});
|
||||||
name = "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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue