hm: hypr, vesktop, dunst

This commit is contained in:
2026-10-06 13:30:23 +02:00
parent c3234faf17
commit 597c0582a8
12 changed files with 267 additions and 103 deletions

View File

@@ -1,14 +1,17 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
# TODO: move into home-manager; edit all files to not use the home manager settings (its more modular)
imports = [ imports = [
./feh.nix ./feh.nix
./freetube.nix ./freetube.nix
./mpv.nix ./mpv.nix
./starship.nix ./starship.nix
./tealdeer.nix ./tealdeer.nix
./vesktop.nix
./zathura.nix ./zathura.nix
]; ];
services.flatpak = { services.flatpak = {
enable = true; enable = true;
update.onActivation = false; update.onActivation = false;
@@ -27,19 +30,38 @@
# productivity # productivity
libreoffice libreoffice
opencloud-desktop
w3m
zathura zathura
# media # media
feishin feishin
yt-dlp
streamlink streamlink
yt-dlp
# terminal # terminal
btop
bat bat
brightnessctl
btop
fastfetch fastfetch
file
fzf fzf
fzf
killall
starship starship
tree
unrar
unzip
zip
# tools
appimage-run
glib # for gio
gparted
grim
slop
slurp
yad
]; ];
home-manager.users.djai.xdg.desktopEntries = { home-manager.users.djai.xdg.desktopEntries = {
@@ -63,28 +85,15 @@
"x-scheme-handler/signalcaptcha" "x-scheme-handler/signalcaptcha"
]; ];
}; };
vesktop = {
name = "Webcord";
exec = "vesktop --disable-features=AudioServiceOutOfProcess %U";
terminal = false;
icon = "discord";
settings = { StartupWMClass = "vesktop";};
};
}; };
users.users.djai.packages = with pkgs; [ users.users.djai.packages = with pkgs; [
# chat # chat
element-desktop element-desktop
vesktop
easyeffects easyeffects
# productivity
w3m
# media # media
exiftool exiftool
feh
ffmpeg ffmpeg
gimp gimp
kdePackages.kdenlive kdePackages.kdenlive
@@ -93,23 +102,7 @@
puddletag puddletag
# tools # tools
appimage-run
gparted
slop
slurp
ranger
yazi yazi
killall
tealdeer
unrar
unzip
zip
fzf
yad
brightnessctl
grim
file
tree
]; ];
programs.appimage = { programs.appimage = {

0
modules/apps/element.nix Normal file
View File

159
modules/apps/vesktop.nix Normal file
View File

@@ -0,0 +1,159 @@
{ ... }:
{
home-manager.users.djai.xdg.desktopEntries = {
vesktop = {
name = "Webcord";
exec = "vesktop --disable-features=AudioServiceOutOfProcess %U";
terminal = false;
icon = "discord";
settings.StartupWMClass = "vesktop";
};
};
home-manager.users.djai.programs.vesktop = {
enable = true;
settings = {
minimizeToTray = false;
arRPC = true;
audio.deviceSelect = true;
tray = false;
spellCheckLanguages = [
"en-GB"
"en"
];
discordBranch = "stable";
};
vencord.settings = {
autoUpdate = false;
useQuickCss = true;
plugins = {
CommandsAPI = {
enabled = true;
};
MessageAccessoriesAPI = {
enabled = true;
};
MessageEventsAPI = {
enabled = true;
};
UserSettingsAPI = {
enabled = true;
};
AlwaysTrust = {
enabled = true;
domain = true;
file = true;
};
BetterGifPicker = {
enabled = true;
};
ConsoleJanitor = {
enabled = true;
disableLoggers = false;
disableSpotifyLogger = true;
whitelistedLoggers = [ "GatewaySocket" "Routing/Utils" ];
};
ConsoleShortcuts = {
enabled = true;
};
CrashHandler = {
enabled = true;
};
FakeNitro = {
enabled = true;
enableStickerBypass = true;
enableStreamQualityBypass = true;
enableEmojiBypass = true;
transformEmojis = true;
transformStickers = true;
transformCompoundSentence = false;
};
FavoriteGifSearch = {
enabled = true;
};
ForceOwnerCrown = {
enabled = true;
};
FriendsSince = {
enabled = true;
};
FullUserInChatbox = {
enabled = true;
};
GameActivityToggle = {
enabled = true;
location = "PANEL";
oldIcon = false;
};
ImplicitRelationships = {
enabled = true;
sortByAffinity = true;
};
IrcColors = {
enabled = true;
memberListColors = true;
lightness = 70;
applyColorOnlyInDms = false;
applyColorOnlyToUsersWithoutColor = false;
};
NoF1 = {
enabled = true;
};
NoTypingAnimation = {
enabled = true;
};
ReplaceGoogleSearch = {
enabled = true;
replacementEngine = "DuckDuckGo";
customEngineName = "DuckDuckGo";
customEngineURL = "https://duckduckgo.com/html?q=";
};
RoleColorEverywhere = {
enabled = true;
chatMentions = true;
memberList = true;
voiceUsers = true;
reactorsList = true;
pollResults = true;
colorChatMessages = false;
};
ShowHiddenChannels = {
enabled = true;
showMode = 0;
hideUnreads = true;
};
WebKeybinds = {
enabled = true;
};
WebScreenShareFixes = {
enabled = true;
};
YoutubeAdblock = {
enabled = true;
};
BadgeAPI = {
enabled = true;
};
NoTrack = {
enabled = true;
disableAnalytics = true;
};
Settings = {
enabled = true;
settingsLocation = "aboveNitro";
};
DisableDeepLinks = {
enabled = true;
};
SupportHelper = {
enabled = true;
};
WebContextMenus = {
enabled = true;
};
};
};
};
}

View File

@@ -18,6 +18,5 @@
home-manager.users.djai.programs.zathura = { home-manager.users.djai.programs.zathura = {
enable = true; enable = true;
# mappings = '''';# TODO extra zathura mappings
}; };
} }

View File

@@ -85,13 +85,7 @@ in
}; };
}; };
# TODO: switch to home manager home-manager.users.djai.home.packages = with pkgs; [
# home-manager.users.djai.home.packages = with pkgs; [
# pavucontrol
# qpwgraph
# ];
users.users.djai.packages = with pkgs; [
pulseaudio pulseaudio
pavucontrol pavucontrol
pipewire pipewire

View File

@@ -77,7 +77,7 @@
"$HOME/Scripts" "$HOME/Scripts"
]; ];
sessionVariables = { sessionVariables = { # TODO: add rest of .config/uwms/env.bck here
NEWT_COLORS_FILE = "$HOME/.newtColours"; NEWT_COLORS_FILE = "$HOME/.newtColours";
BROWSER = "librewolf"; BROWSER = "librewolf";
EDITOR = "nvim"; EDITOR = "nvim";

View File

@@ -64,14 +64,9 @@
wl-clipboard wl-clipboard
wl-clipboard-x11 wl-clipboard-x11
swaybg swaybg
catppuccin-qt5ct
]; ];
qt = {
enable = true;
platformTheme = "qt5ct"; # might have to go back to gnome if this makes kdenlive crash
style = "adwaita-dark";
};
# i have no clue what this does. # i have no clue what this does.
# GLib aborts any program that loads a GSettings schema it can't find, and Qt's GTK file dialog needs gtk3's. Nothing else puts these on the path. # GLib aborts any program that loads a GSettings schema it can't find, and Qt's GTK file dialog needs gtk3's. Nothing else puts these on the path.
environment.sessionVariables.GSETTINGS_SCHEMA_DIR = builtins.concatStringsSep ":" [ environment.sessionVariables.GSETTINGS_SCHEMA_DIR = builtins.concatStringsSep ":" [
@@ -79,30 +74,54 @@
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas" "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas"
]; ];
# TODO: other mimetypes? environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
xdg.mime.defaultApplications = { home-manager.users.djai = {
"inode/directory" = [ "kitty" ]; xdg = {
"text/html" = [ "librewolf.desktop" ]; mimeApps = {
"x-scheme-handler/http" = [ "librewolf.desktop" ]; enable = true;
"x-scheme-handler/https" = [ "librewolf.desktop" ]; defaultApplications = {
}; "inode/directory" = [ "kitty.desktop" ];
"image/gif" = [ "mpv.desktop" ];
xdg.portal = { "text/html" = [ "librewolf.desktop" ];
enable = true; "application/pdf" = [ "zathura.desktop" ];
config = { "image/*" = [ "feh.deskop" ];
common.default = [ "gtk" ]; "x-scheme-handler/http" = [ "librewolf.desktop" ];
hyprland = { "x-scheme-handler/https" = [ "librewolf.desktop" ];
default = [ };
"gtk"
"hyprland"
];
"org.freedesktop.impl.portal.FileChooser" = [ "termfilechooser" ];
}; };
# TODO: check termfilechooser still works; had to disable this becos of hyprland
# portal = {
# enable = true;
# config = {
# common.default = [ "gtk" ];
# hyprland = {
# default = [
# "gtk"
# "hyprland"
# ];
# org.freedesktop.impl.portal.FileChooser = [ "termfilechooser" ];
# };
# };
# extraPortals = with pkgs; [
# xdg-desktop-portal-gtk
# xdg-desktop-portal-termfilechooser
# ];
# };
};
catppuccin = {
cursors = {
enable = true;
accent = "mauve";
};
qt5ct.enable = true;
};
qt = {
style.name = "kvantum"; # required for catppuccin-nix
platformTheme.name = "qtct";
enable = true;
}; };
# programs.hyprland adds the Hyprland portal.
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-termfilechooser
];
}; };
} }

View File

@@ -28,7 +28,8 @@
device = [ device = [
{ {
name = "4152:6180:SteelSeries_SteelSeries_Rival_3"; # name = "4152:6180:SteelSeries_SteelSeries_Rival_3";
name = "steelseries-steelseries-rival-3";
disable_while_typing = false; disable_while_typing = false;
accel_profile = "flat"; accel_profile = "flat";
sensitivity = -0.3; sensitivity = -0.3;

View File

@@ -28,15 +28,15 @@ let
[ "2" "2"] [ "2" "2"]
[ "3" "3"] [ "3" "3"]
[ "4" "4"] [ "4" "4"]
[ "W" "5"] [ "w" "5"]
[ "A" "6"] [ "a" "6"]
[ "D" "7"] [ "d" "7"]
[ "F" "8"] [ "f" "8"]
[ "Z" "9"] [ "z" "9"]
[ "Q" "LEFT"] [ "q" "LEFT"]
[ "E" "RIGHT"] [ "e" "RIGHT"]
[ "S" "h"] [ "s" "h"]
[ "H" "h"] [ "h" "h"]
]; ];
feishinBinds = [ feishinBinds = [
[ "0" "0" "Send '0' to feishin"] [ "0" "0" "Send '0' to feishin"]
@@ -44,14 +44,14 @@ let
[ "2" "2" "Send '2' to feishin"] [ "2" "2" "Send '2' to feishin"]
[ "3" "3" "Send '3' to feishin"] [ "3" "3" "Send '3' to feishin"]
[ "4" "4" "Send '4' to feishin"] [ "4" "4" "Send '4' to feishin"]
[ "W" "5" "Send '5' to feishin"] [ "w" "5" "Send '5' to feishin"]
[ "S" "h" "Send 'h' to feishin"] [ "s" "h" "Send 'h' to feishin"]
[ "H" "h" "Send 'h' to feishin"] [ "h" "h" "Send 'h' to feishin"]
[ "Q" "q" "Send 'q' to feishin"] [ "q" "q" "Send 'q' to feishin"]
[ "E" "e" "Send 'e' to feishin"] [ "e" "e" "Send 'e' to feishin"]
[ "SPACE" "space" "Send 'space' to feishin"] [ "SPACE" "space" "Send 'space' to feishin"]
[ "A" "a" "Send 'a' to feishin"] [ "a" "a" "Send 'a' to feishin"]
[ "D" "d" "Send 'd' to feishin"] [ "d" "d" "Send 'd' to feishin"]
]; ];
in in
{ {
@@ -65,7 +65,7 @@ in
]; ];
define_submap = [ define_submap = [
(makeSubmap "feh" (makePassthrough "class:^*hideme)$" fehBinds)) (makeSubmap "feh" (makePassthrough "class:^(hideme)$" fehBinds))
(makeSubmap "feishin" (makePassthrough "class:^(feishin)$" feishinBinds)) (makeSubmap "feishin" (makePassthrough "class:^(feishin)$" feishinBinds))
]; ];
}; };

View File

@@ -39,6 +39,10 @@ in
home-manager.users."djai".home.file.".config/hypr/scripts".source = ./scripts; home-manager.users."djai".home.file.".config/hypr/scripts".source = ./scripts;
home-manager.users."djai".home.file.".config/hypr/shaders".source = ./shaders; home-manager.users."djai".home.file.".config/hypr/shaders".source = ./shaders;
home-manager.users."djai".xdg.configFile."uwsm/env-hyprland".text = ''
export AQ_ARM_DEVICES="/dev/dri/card1:/dev/dri/card2"
export AQ_NO_HARDWARE_CUSRORS="1"
'';
home-manager.users."djai".wayland.windowManager.hyprland = { home-manager.users."djai".wayland.windowManager.hyprland = {
@@ -54,14 +58,12 @@ in
settings = { settings = {
on = [ #TODO: set up exec oncess on = [ #TODO: set up exec oncess
(hyprLib.on-signal "hyprland.start" [ (hyprLib.on-signal "hyprland.start" [
# "uwsm app -- /home/djai/AppImages/opencloud.appimage" # TODO: get opencloud "uwsm app -- opencloud-desktop"
"uwsm app -- openrgb --noautoconnect -p aroace.orp" "uwsm app -- openrgb --noautoconnect -p aroace.orp"
"uwsm app -- kitty --class scratchme -d /home/djai/Documents/diary" "uwsm app -- kitty --class scratchme -d /home/djai/Documents/diary"
"uwsm app -- nohup flameshot"
# these should be done thru systemd already # these should be done thru systemd already
# hl.exec_cmd("nohup flameshot")
# hl.exec_cmd("hyprpm reload") # hl.exec_cmd("hyprpm reload")
# hl.exec_cmd("kanshi")
# hl.exec_cmd("dunst")
# hl.exec_cmd("hyprctl setcursor Catppuccin-Macchiato-Dark-Cursors 24") # hl.exec_cmd("hyprctl setcursor Catppuccin-Macchiato-Dark-Cursors 24")
]) ])
]; ];

View File

@@ -16,7 +16,7 @@
class = "Dunst"; class = "Dunst";
corner_radius = 10; corner_radius = 10;
corners = "bottom-left, top-right"; corners = "bottom-left, top-right";
ellipsize = "middle"; ellipsize = "end";
enable_posix_regex = true; enable_posix_regex = true;
follow = "mouse"; follow = "mouse";
font = "Iosevka Mono Nerd Font Medium 10"; font = "Iosevka Mono Nerd Font Medium 10";
@@ -51,15 +51,15 @@
separator_height = 2; separator_height = 2;
show_age_threshold = 60; show_age_threshold = 60;
show_indicators = true; show_indicators = true;
shrink = false; shrink = true;
sort = true; sort = true;
stack_duplicates = true; stack_duplicates = true;
sticky_history = true; sticky_history = true;
text_icon_padding = 15; text_icon_padding = 15;
title = "Dunst"; title = "Dunst";
vertical_alignment = "center"; vertical_alignment = "center";
width = 250; width = 480;
word_wrap = false; word_wrap = true;
}; };
experimental.per_monitor_dpi = false; experimental.per_monitor_dpi = false;

View File

@@ -1,10 +1,7 @@
set tempfile /tmp/chosendir set tempfile (mktemp -t "yazi-cwd.XXX")
command yazi cwd-file=$tempfile (pwd) $argv command yazi $argv --cwd-file=$tempfile
if test -f $tempfile if read -z cwd < "$tempfile"; and [ "$cwd" != "$PWD" ]; and test -d "$cwd"
if [ (cat $tempfile) != (pwd) ] builtin cd -- "$cwd"
cd (cat $tempfile)
end
end end
command rm -f -- "$tempfile"
rm -f $tempfile