mirror of
https://git.sr.ht/~neverness/ultima
synced 2025-05-13 06:35:15 +00:00
furry top
This commit is contained in:
parent
d8b662baaf
commit
11a0efc709
31 changed files with 639 additions and 303 deletions
machines/jetpure/home/modules
modules
home
default.nix
games/minecraft
groups
cliNeed
games
media
music
security
social
themes
web
windowManager
programs
cli
gui
themes
wm/misc
nixos
xlib/builder
|
@ -1,36 +1,43 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
tg = config.module.programs.gui.telegram.package;
|
||||
# regex
|
||||
mk =
|
||||
mod: sub: key: cmd:
|
||||
"${toString mod} ${toString sub}, ${key}, exec, ${cmd}";
|
||||
# mod & nomod
|
||||
m = (mk "$m" null);
|
||||
s = (mk "$m" "$s");
|
||||
in
|
||||
|
||||
{
|
||||
module.wm.hyprland = {
|
||||
autostart = [ "mako" ]; # autostart
|
||||
binds =
|
||||
let
|
||||
# regex
|
||||
mk =
|
||||
mod: sub: key: cmd:
|
||||
"${toString mod} ${toString sub}, ${key}, exec, ${cmd}";
|
||||
# mod & nomod
|
||||
m = (mk "$m" null);
|
||||
s = (mk "$m" "$s");
|
||||
in
|
||||
[
|
||||
# menus
|
||||
(m "$tb" "tofi-drun | xargs hyprctl dispatch exec -- ")
|
||||
(s "$tb" "wlogout -sc 12 -r 12")
|
||||
autostart = [ "mako" ];
|
||||
binds = [
|
||||
# menus
|
||||
(m "$tb" "tofi-drun | xargs hyprctl dispatch exec -- ")
|
||||
(s "$tb" "wlogout -sc 12 -r 12")
|
||||
|
||||
# programs
|
||||
(m "$rt" "kitty")
|
||||
(s "$rt" "kitty --class=termfloat")
|
||||
# programs
|
||||
(m "$rt" "kitty")
|
||||
(s "$rt" "kitty --class=termfloat")
|
||||
|
||||
(m "V" "telegram-desktop")
|
||||
(s "V" "vesktop")
|
||||
(m "V" (if (tg == pkgs.ayugram-desktop) then "ayugram-desktop" else "telegram-desktop"))
|
||||
(s "V" "vesktop")
|
||||
|
||||
(m "B" "qutebrowser")
|
||||
(s "B" "keepassxc")
|
||||
(m "B" "qutebrowser")
|
||||
(s "B" "keepassxc")
|
||||
|
||||
(m "N" "yazi")
|
||||
(s "N" "kitty --class=termfloat yazi")
|
||||
(m "N" "yazi")
|
||||
(s "N" "kitty --class=termfloat yazi")
|
||||
|
||||
(m "M" "spotify")
|
||||
(s "M" "kitty --class=ani anicli-ru -q 1080")
|
||||
];
|
||||
(m "M" "spotify")
|
||||
(s "M" "kitty --class=ani anicli-ru -q 1080")
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,10 +4,5 @@
|
|||
}:
|
||||
|
||||
{
|
||||
imports = lib.x.baseName (
|
||||
lib.x.umport {
|
||||
path = ./.;
|
||||
exclude = [ ./default.nix ];
|
||||
}
|
||||
);
|
||||
imports = lib.x.mkUmport ./. [ ./default.nix ];
|
||||
}
|
||||
|
|
|
@ -27,12 +27,14 @@ in
|
|||
gamemodeSupport = true;
|
||||
controllerSupport = true;
|
||||
textToSpeechSupport = false;
|
||||
jdks = [
|
||||
temurin-jre-bin-23
|
||||
temurin-jre-bin # 21
|
||||
temurin-jre-bin-17
|
||||
temurin-jre-bin-8
|
||||
];
|
||||
jdks = builtins.attrValues {
|
||||
inherit
|
||||
temurin-jre-bin-23
|
||||
temurin-jre-bin
|
||||
temurin-jre-bin-17
|
||||
temurin-jre-bin-8
|
||||
;
|
||||
};
|
||||
})
|
||||
]
|
||||
++ (optional cfg.cli.enable [
|
||||
|
|
|
@ -19,13 +19,13 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
module = {
|
||||
programs.cli = mkGroup [
|
||||
programs.cli = mkGrpOn [
|
||||
"common"
|
||||
"fetch"
|
||||
"helix"
|
||||
"yazi"
|
||||
];
|
||||
shells = mkGroup [
|
||||
shells = mkGrpOn [
|
||||
"fish"
|
||||
"starship"
|
||||
"translate"
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.games = mkGroup [
|
||||
module.games = mkGrpOn [
|
||||
"mindustry"
|
||||
"minecraft"
|
||||
"openarena"
|
||||
|
|
|
@ -19,7 +19,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
module = {
|
||||
programs.gui = mkGroup [
|
||||
programs.gui = mkGrpOn [
|
||||
"mpv"
|
||||
"swayimg"
|
||||
"zathura"
|
||||
|
|
|
@ -19,7 +19,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
module = {
|
||||
programs.gui = mkGroup [
|
||||
programs.gui = mkGrpOn [
|
||||
"spotify"
|
||||
];
|
||||
};
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.gui = mkGroup [
|
||||
module.programs.gui = mkGrpOn [
|
||||
"keepass"
|
||||
"syncthing"
|
||||
];
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.gui = mkGroup [
|
||||
module.programs.gui = mkGrpOn [
|
||||
"nixcord"
|
||||
"telegram"
|
||||
];
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.themes = mkGroup [
|
||||
module.themes = mkGrpOn [
|
||||
"qt"
|
||||
"stylix"
|
||||
];
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.gui = mkGroup [
|
||||
module.programs.gui = mkGrpOn [
|
||||
"qutebrowser"
|
||||
"syncthing"
|
||||
];
|
||||
|
|
|
@ -19,18 +19,18 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
module.wm =
|
||||
(mkGroup [
|
||||
(mkGrpOn [
|
||||
"hyprland"
|
||||
])
|
||||
// {
|
||||
misc = mkGroup [
|
||||
misc = mkGrpOn [
|
||||
"mako"
|
||||
"tofi"
|
||||
"wlogout"
|
||||
];
|
||||
}
|
||||
// {
|
||||
terminals = mkGroup [
|
||||
terminals = mkGrpOn [
|
||||
"kitty"
|
||||
];
|
||||
};
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.cli = mkGroup [
|
||||
module.programs.cli = mkGrpOn [
|
||||
"archivers"
|
||||
"bat"
|
||||
"eza"
|
||||
|
|
|
@ -19,11 +19,13 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
cachix
|
||||
wyvern
|
||||
hut
|
||||
sd
|
||||
];
|
||||
home.packages = builtins.attrValues {
|
||||
inherit (pkgs)
|
||||
cachix
|
||||
wyvern
|
||||
hut
|
||||
sd
|
||||
;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.cli = genAttrs [
|
||||
module.programs.cli = mkGrpOn [
|
||||
"fastfetch"
|
||||
"onefetch"
|
||||
] (n: on);
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
module.programs.cli = mkGroup [
|
||||
module.programs.cli = mkGrpOn [
|
||||
"btop"
|
||||
"nvtop"
|
||||
];
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
freeTP = "freetp.org";
|
||||
# study
|
||||
proteh = "profteh.com/study";
|
||||
chatGpt = "chatgpt.com";
|
||||
gemini = "gemini.google.com";
|
||||
};
|
||||
whitelist."whitelist" = {
|
||||
includes = [
|
||||
|
|
387
modules/home/programs/gui/telegram/configs.nix
Normal file
387
modules/home/programs/gui/telegram/configs.nix
Normal file
|
@ -0,0 +1,387 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (builtins) toJSON;
|
||||
cfg = config.module.programs.gui.telegram;
|
||||
pack = cfg.package == (pkgs._64gram);
|
||||
client =
|
||||
if cfg.package == (pkgs._64gram) then
|
||||
"64Gram"
|
||||
else if cfg.package == (pkgs.ayugram-desktop) then
|
||||
"AyuGramDesktop"
|
||||
else
|
||||
"TelegramDesktop";
|
||||
in
|
||||
|
||||
{
|
||||
"${client}/tdata/enhanced-settings-custom.json".text = toJSON {
|
||||
always_delete_for = 0;
|
||||
auto_unmute = false;
|
||||
bitrate = 0;
|
||||
blocked_user_spoiler_mode = false;
|
||||
disable_cloud_draft_sync = false;
|
||||
disable_global_search = false;
|
||||
disable_link_warning = true;
|
||||
disable_premium_animation = false;
|
||||
hd_video = false;
|
||||
hide_all_chats = true;
|
||||
hide_classic_fwd = true;
|
||||
hide_counter = false;
|
||||
hide_stories = false;
|
||||
net_dl_speed_boost = true;
|
||||
net_speed_boost = 0;
|
||||
radio_controller = "http//localhost2468";
|
||||
recent_display_limit = 0;
|
||||
repeater_reply_to_orig_msg = false;
|
||||
replace_edit_button = true;
|
||||
screenshot_mode = false;
|
||||
show_emoji_button_as_text = false;
|
||||
show_group_sender_avatar = false;
|
||||
show_messages_id = false;
|
||||
show_phone_number = false;
|
||||
show_repeater_option = false;
|
||||
show_scheduled_button = false;
|
||||
show_seconds = false;
|
||||
skip_to_next = true;
|
||||
stereo_mode = false;
|
||||
translate_to_tc = false;
|
||||
};
|
||||
"${client}/tdata/ayu_settings.json".text = toJSON {
|
||||
appIcon = "alt";
|
||||
channelBottomButton = 0;
|
||||
collapseSimilarChannels = true;
|
||||
deletedMark = "deleted";
|
||||
disableAds = true;
|
||||
disableCustomBackgrounds = true;
|
||||
disableNotificationsDelay = true;
|
||||
disableStories = false;
|
||||
editedMark = "edited";
|
||||
gifConfirmation = false;
|
||||
hideAllChatsFolder = true;
|
||||
hideFromBlocked = true;
|
||||
hideNotificationBadge = false;
|
||||
hideNotificationCounters = false;
|
||||
hideSimilarChannels = false;
|
||||
increaseWebviewHeight = true;
|
||||
increaseWebviewWidth = true;
|
||||
localPremium = true;
|
||||
markReadAfterAction = false;
|
||||
monoFont = "JetBrainsMono Nerd Font";
|
||||
recentStickersCount = 100;
|
||||
replaceBottomInfoWithIcons = true;
|
||||
saveDeletedMessages = false;
|
||||
saveForBots = false;
|
||||
saveMessagesHistory = true;
|
||||
sendOfflinePacketAfterOnline = false;
|
||||
sendOnlinePackets = true;
|
||||
sendReadMessages = true;
|
||||
sendReadStories = false;
|
||||
sendUploadProgress = true;
|
||||
sendWithoutSound = false;
|
||||
showAttachButtonInMessageField = true;
|
||||
showAttachPopup = true;
|
||||
showAutoDeleteButtonInMessageField = true;
|
||||
showCommandsButtonInMessageField = true;
|
||||
showEmojiButtonInMessageField = true;
|
||||
showEmojiPopup = true;
|
||||
showGhostToggleInDrawer = true;
|
||||
showGhostToggleInTray = true;
|
||||
showHideMessageInContextMenu = 0;
|
||||
showLReadToggleInDrawer = false;
|
||||
showMessageDetailsInContextMenu = 2;
|
||||
showMessageSeconds = false;
|
||||
showMessageShot = true;
|
||||
showMicrophoneButtonInMessageField = true;
|
||||
showPeerId = 2;
|
||||
showReactionsPanelInContextMenu = 1;
|
||||
showSReadToggleInDrawer = true;
|
||||
showStreamerToggleInDrawer = false;
|
||||
showStreamerToggleInTray = false;
|
||||
showUserMessagesInContextMenu = 2;
|
||||
showViewsPanelInContextMenu = 1;
|
||||
simpleQuotesAndReplies = true;
|
||||
spoofWebviewAsAndroid = false;
|
||||
stickerConfirmation = false;
|
||||
useScheduledMessages = false;
|
||||
voiceConfirmation = false;
|
||||
wideMultiplier = 1.0;
|
||||
};
|
||||
"${client}/tdata/shortcuts-custom.json".text = toJSON [
|
||||
{
|
||||
command = "previous_folder";
|
||||
keys = "alt+,";
|
||||
}
|
||||
{
|
||||
command = "next_folder";
|
||||
keys = "alt+.";
|
||||
}
|
||||
{
|
||||
command = "show_archive";
|
||||
keys = "alt+a";
|
||||
}
|
||||
{
|
||||
command = "folder4";
|
||||
keys = "alt+b";
|
||||
}
|
||||
{
|
||||
command = "folder2";
|
||||
keys = "alt+c";
|
||||
}
|
||||
{
|
||||
command = "self_chat";
|
||||
keys = "alt+d";
|
||||
}
|
||||
{
|
||||
command = "media_viewer_video_fullscreen";
|
||||
keys = "alt+f";
|
||||
}
|
||||
{
|
||||
command = "first_chat";
|
||||
keys = "alt+g";
|
||||
}
|
||||
{
|
||||
command = "next_chat";
|
||||
keys = "alt+j";
|
||||
}
|
||||
{
|
||||
command = "previous_chat";
|
||||
keys = "alt+k";
|
||||
}
|
||||
{
|
||||
command = "last_folder";
|
||||
keys = "alt+m";
|
||||
}
|
||||
{
|
||||
command = "folder5";
|
||||
keys = "alt+n";
|
||||
}
|
||||
{
|
||||
command = "close_telegram";
|
||||
keys = "alt+q";
|
||||
}
|
||||
{
|
||||
command = "read_chat";
|
||||
keys = "alt+r";
|
||||
}
|
||||
{
|
||||
command = "show_contacts";
|
||||
keys = "alt+s";
|
||||
}
|
||||
{
|
||||
command = "folder3";
|
||||
keys = "alt+v";
|
||||
}
|
||||
{
|
||||
command = "folder1";
|
||||
keys = "alt+x";
|
||||
}
|
||||
{
|
||||
command = "all_chats";
|
||||
keys = "alt+z";
|
||||
}
|
||||
{
|
||||
command = "message";
|
||||
keys = "alt+return";
|
||||
}
|
||||
{
|
||||
command = "media_previous";
|
||||
keys = "alt+shift+;";
|
||||
}
|
||||
{
|
||||
command = "media_next";
|
||||
keys = "alt+shift+.";
|
||||
}
|
||||
{
|
||||
command = "media_playpause";
|
||||
keys = "alt+shift+/";
|
||||
}
|
||||
{
|
||||
command = "account1";
|
||||
keys = "alt+shift+1";
|
||||
}
|
||||
{
|
||||
command = "account2";
|
||||
keys = "alt+shift+2";
|
||||
}
|
||||
{
|
||||
command = "account3";
|
||||
keys = "alt+shift+3";
|
||||
}
|
||||
{
|
||||
command = "account4";
|
||||
keys = "alt+shift+4";
|
||||
}
|
||||
{
|
||||
command = "account5";
|
||||
keys = "alt+shift+5";
|
||||
}
|
||||
{
|
||||
command = "account6";
|
||||
keys = "alt+shift+6";
|
||||
}
|
||||
{
|
||||
command = "archive_chat";
|
||||
keys = "alt+shift+a";
|
||||
}
|
||||
{
|
||||
command = "show_chat_menu";
|
||||
keys = "alt+shift+d";
|
||||
}
|
||||
{
|
||||
command = "last_chat";
|
||||
keys = "alt+shift+g";
|
||||
}
|
||||
{
|
||||
command = "quit_telegram";
|
||||
keys = "alt+shift+q";
|
||||
}
|
||||
{
|
||||
command = "show_scheduled";
|
||||
keys = "alt+shift+s";
|
||||
}
|
||||
{
|
||||
command = "message_silently";
|
||||
keys = "alt+shift+return";
|
||||
}
|
||||
{
|
||||
command = "message_scheduled";
|
||||
keys = "ctrl+alt+return";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "media previous";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "media next";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "toggle media play/pause";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+0";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+1";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+2";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+3";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+4";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+5";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+6";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+7";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+8";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+9";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+f";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+j";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+l";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+m";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+q";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+r";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+w";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+\\";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+tab";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+backtab";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+pgup";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+pgdown";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+f4";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+shift+tab";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+shift+up";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+shift+down";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "alt+up";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "alt+down";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+alt+home";
|
||||
}
|
||||
{
|
||||
command = null;
|
||||
keys = "ctrl+alt+end";
|
||||
}
|
||||
];
|
||||
}
|
|
@ -22,53 +22,13 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
xdg.dataFile =
|
||||
let
|
||||
client =
|
||||
if cfg.package == (pkgs._64gram) then
|
||||
"64Gram"
|
||||
else if cfg.package == (pkgs.ayugram-desktop) then
|
||||
"AyuGramDesktop"
|
||||
else
|
||||
(toString null);
|
||||
in
|
||||
{
|
||||
"${client}/tdata/enhanced-settings-custom.json".text = # json
|
||||
''
|
||||
{
|
||||
"always_delete_for": 0,
|
||||
"auto_unmute": false,
|
||||
"bitrate": 0,
|
||||
"blocked_user_spoiler_mode": false,
|
||||
"disable_cloud_draft_sync": false,
|
||||
"disable_global_search": false,
|
||||
"disable_link_warning": true,
|
||||
"disable_premium_animation": false,
|
||||
"hd_video": false,
|
||||
"hide_all_chats": true,
|
||||
"hide_classic_fwd": true,
|
||||
"hide_counter": false,
|
||||
"hide_stories": false,
|
||||
"net_dl_speed_boost": true,
|
||||
"net_speed_boost": 0,
|
||||
"radio_controller": "http://localhost:2468",
|
||||
"recent_display_limit": 0,
|
||||
"repeater_reply_to_orig_msg": false,
|
||||
"replace_edit_button": true,
|
||||
"screenshot_mode": false,
|
||||
"show_emoji_button_as_text": false,
|
||||
"show_group_sender_avatar": false,
|
||||
"show_messages_id": false,
|
||||
"show_phone_number": false,
|
||||
"show_repeater_option": false,
|
||||
"show_scheduled_button": false,
|
||||
"show_seconds": false,
|
||||
"skip_to_next": true,
|
||||
"stereo_mode": false,
|
||||
"translate_to_tc": false
|
||||
}
|
||||
'';
|
||||
};
|
||||
xdg.dataFile = import ./configs.nix {
|
||||
inherit
|
||||
pkgs
|
||||
lib
|
||||
config
|
||||
;
|
||||
};
|
||||
home.activation =
|
||||
let
|
||||
walogram = import ./walogram.nix {
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
with x;
|
||||
let
|
||||
cfg = config.module.themes.kvantum;
|
||||
in
|
||||
|
||||
{
|
||||
options = {
|
||||
module.themes.kvantum = {
|
||||
enable = mkBool false;
|
||||
icon = mkStr config.stylix.iconTheme.dark;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (
|
||||
let
|
||||
repo = pkgs.fetchFromGitHub {
|
||||
owner = "bluskript";
|
||||
repo = "stylix";
|
||||
rev = "5ea12b9d3865ae47e71df66d4fef35f6e1b1ee5d";
|
||||
hash = "sha256-Xz102PtwFKfz1y1CL2hmd/iYVfZALeW9QJsTHdCjBaw=";
|
||||
};
|
||||
kvconfig = config.lib.stylix.colors {
|
||||
template = "${repo}/modules/qt/kvconfig.mustache";
|
||||
extension = ".kvconfig";
|
||||
};
|
||||
svg = config.lib.stylix.colors {
|
||||
template = "${repo}/modules/qt/kvantum-svg.mustache";
|
||||
extension = "svg";
|
||||
};
|
||||
kvantumPackage = pkgs.runCommandLocal "base16-kvantum" { } ''
|
||||
directory="$out/share/Kvantum/Base16Kvantum"
|
||||
mkdir --parents "$directory"
|
||||
cat ${kvconfig} >>"$directory/Base16Kvantum.kvconfig"
|
||||
cat ${svg} >>"$directory/Base16Kvantum.svg"
|
||||
'';
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# qt5
|
||||
libsForQt5.qt5ct
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
# qt6
|
||||
qt6Packages.qt6ct
|
||||
qt6Packages.qtstyleplugin-kvantum
|
||||
kvantumPackage
|
||||
];
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "qtct";
|
||||
};
|
||||
|
||||
xdg.configFile =
|
||||
let
|
||||
qtct = ''
|
||||
[Appearance]
|
||||
style=kvantum
|
||||
icon_theme=${cfg.icon}
|
||||
'';
|
||||
in
|
||||
{
|
||||
"Kvantum/kvantum.kvconfig".source = (pkgs.formats.ini { }).generate "kvantum.kvconfig" {
|
||||
General.theme = "Base16Kvantum";
|
||||
};
|
||||
"Kvantum/Base16Kvantum".source = "${kvantumPackage}/share/Kvantum/Base16Kvantum";
|
||||
"qt5ct/qt5ct.conf".text = qtct;
|
||||
"qt6ct/qt6ct.conf".text = qtct;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
|
@ -1,22 +1,86 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
||||
with config.lib.stylix.colors;
|
||||
let
|
||||
mk = {
|
||||
text = lib.x.toGen "toINI" {
|
||||
ColorScheme = {
|
||||
active_colors = "#ff${base05}, #ff${base01}, #ff${base01}, #ff${base05}, #ff${base03}, #ff${base04}, #ff${base05}, #ff${base06}, #ff${base05}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base05}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base05}, #ff${base01}, #ff${base0E}, #8f${base0E}";
|
||||
inactive_colors = "#ff${base04}, #ff${base01}, #ff${base01}, #ff${base05}, #ff${base03}, #ff${base04}, #ff${base04}, #ff${base04}, #ff${base04}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base05}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base05}, #ff${base01}, #ff${base0E}, #8f${base0E}";
|
||||
disabled_colors = "#ff${base02}, #ff${base01}, #ff${base01}, #ff${base05}, #ff${base03}, #ff${base04}, #ff${base02}, #ff${base0F}, #ff${base0F}, #ff${base01}, #ff${base00}, #ff${base03}, #ff${base02}, #ff${base05}, #ff${base09}, #ff${base08}, #ff${base02}, #ff${base05}, #ff${base01}, #ff${base0F}, #8f${base0F}";
|
||||
};
|
||||
ini = pkgs.formats.ini { };
|
||||
|
||||
color = ini.generate "stylix.conf" {
|
||||
ColorScheme = {
|
||||
active_colors = builtins.concatStringsSep ", " [
|
||||
"#ff${base05}"
|
||||
"#ff${base01}"
|
||||
"#ff${base01}"
|
||||
"#ff${base05}"
|
||||
"#ff${base03}"
|
||||
"#ff${base04}"
|
||||
"#ff${base05}"
|
||||
"#ff${base06}"
|
||||
"#ff${base05}"
|
||||
"#ff${base01}"
|
||||
"#ff${base00}"
|
||||
"#ff${base03}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base09}"
|
||||
"#ff${base08}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base01}"
|
||||
"#ff${base0E}"
|
||||
"#8f${base0E}"
|
||||
];
|
||||
disabled_colors = builtins.concatStringsSep ", " [
|
||||
"#ff${base04}"
|
||||
"#ff${base01}"
|
||||
"#ff${base01}"
|
||||
"#ff${base05}"
|
||||
"#ff${base03}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base01}"
|
||||
"#ff${base00}"
|
||||
"#ff${base03}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base09}"
|
||||
"#ff${base08}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base01}"
|
||||
"#ff${base0E}"
|
||||
"#8f${base0E}"
|
||||
];
|
||||
inactive_colors = builtins.concatStringsSep ", " [
|
||||
"#ff${base04}"
|
||||
"#ff${base01}"
|
||||
"#ff${base01}"
|
||||
"#ff${base05}"
|
||||
"#ff${base03}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base04}"
|
||||
"#ff${base01}"
|
||||
"#ff${base00}"
|
||||
"#ff${base03}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base09}"
|
||||
"#ff${base08}"
|
||||
"#ff${base02}"
|
||||
"#ff${base05}"
|
||||
"#ff${base01}"
|
||||
"#ff${base0E}"
|
||||
"#8f${base0E}"
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
"qt5ct/colors/stylix.conf" = mk;
|
||||
"qt6ct/colors/stylix.conf" = mk;
|
||||
}
|
||||
|
||||
color
|
||||
|
|
|
@ -19,19 +19,13 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
xdg.configFile =
|
||||
import ./qtct.nix {
|
||||
inherit
|
||||
pkgs
|
||||
config
|
||||
;
|
||||
}
|
||||
// import ./color.nix {
|
||||
inherit
|
||||
lib
|
||||
config
|
||||
;
|
||||
};
|
||||
xdg.configFile = import ./qtct.nix {
|
||||
inherit
|
||||
pkgs
|
||||
lib
|
||||
config
|
||||
;
|
||||
};
|
||||
qt = on // {
|
||||
platformTheme.name = "qtct";
|
||||
};
|
||||
|
|
|
@ -5,49 +5,47 @@
|
|||
}:
|
||||
|
||||
let
|
||||
inherit (config.home) homeDirectory;
|
||||
inherit (pkgs.libsForQt5) qt5ct;
|
||||
inherit (pkgs) qt6ct;
|
||||
inherit (pkgs) qt6ct formats;
|
||||
ini = formats.ini { };
|
||||
font = config.stylix.fonts;
|
||||
icon = config.stylix.iconTheme;
|
||||
mk =
|
||||
package: name:
|
||||
let
|
||||
st = "${toString package}/share/${name}/qss";
|
||||
in
|
||||
# ini
|
||||
''
|
||||
[Appearance]
|
||||
color_scheme_path=${homeDirectory}/.config/${name}/colors/stylix.conf
|
||||
custom_palette=true
|
||||
icon_theme=${icon.dark}
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
[Fonts]
|
||||
fixed="${font.monospace.name},${toString font.sizes.applications},-1,5,50,0,0,0,0,0,Regular"
|
||||
general="${font.monospace.name},${toString font.sizes.applications},-1,5,50,0,0,0,0,0,Regular"
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=0
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=false
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
stylesheets=${st}/fusion-fixes.qss,${st}/scrollbar-simple.qss,${st}/sliders-simple.qss,${st}/tooltip-simple.qss,${st}/traynotification-simple.qss
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
||||
'';
|
||||
p: n:
|
||||
ini.generate n {
|
||||
Appearance = {
|
||||
custom_palette = true;
|
||||
color_scheme_path = import ./color.nix {
|
||||
inherit
|
||||
pkgs
|
||||
config
|
||||
;
|
||||
};
|
||||
icon_theme = icon.dark;
|
||||
standard_dialogs = ''"default"'';
|
||||
style = ''"Fusion"'';
|
||||
};
|
||||
Fonts = {
|
||||
fixed = ''"${font.monospace.name},${toString font.sizes.applications},-1,5,50,0,0,0,0,0,Regular"'';
|
||||
general = ''"${font.monospace.name},${toString font.sizes.applications},-1,5,50,0,0,0,0,0,Regular"'';
|
||||
};
|
||||
Interface = {
|
||||
activate_item_on_single_click = 1;
|
||||
buttonbox_layout = 0;
|
||||
cursor_flash_time = 1000;
|
||||
dialog_buttons_have_icons = 1;
|
||||
double_click_interval = 400;
|
||||
keyboard_scheme = 2;
|
||||
menus_have_icons = false;
|
||||
show_shortcuts_in_context_menus = true;
|
||||
toolbutton_style = 4;
|
||||
underline_shortcut = 1;
|
||||
wheel_scroll_lines = 3;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
"qt5ct/qt5ct.conf".text = mk qt5ct "qt5ct";
|
||||
"qt6ct/qt6ct.conf".text = mk qt6ct "qt6ct";
|
||||
"qt5ct/qt5ct.conf".source = mk qt5ct "qt5ct";
|
||||
"qt6ct/qt6ct.conf".source = mk qt6ct "qt6ct";
|
||||
}
|
||||
|
|
|
@ -23,15 +23,6 @@ in
|
|||
|
||||
imports = with inputs; [ niri.homeModules.stylix ];
|
||||
config = mkIf cfg.enable {
|
||||
home.packages =
|
||||
with pkgs;
|
||||
with nerd-fonts;
|
||||
[
|
||||
corefonts
|
||||
tinos
|
||||
code-new-roman
|
||||
dejavu-sans-mono
|
||||
];
|
||||
stylix = on // {
|
||||
autoEnable = false;
|
||||
cursor = with inputs.cursors.packages.${pkgs.system}; {
|
||||
|
@ -58,26 +49,29 @@ in
|
|||
iconTheme = on // {
|
||||
dark = "Papirus-Dark";
|
||||
light = "Papirus-Light";
|
||||
package =
|
||||
with pkgs;
|
||||
papirus-icon-theme.override {
|
||||
color = cfg.icon;
|
||||
package = pkgs.papirus-icon-theme.override {
|
||||
color = cfg.icon;
|
||||
};
|
||||
};
|
||||
fonts =
|
||||
let
|
||||
mk = name: package: { inherit name package; };
|
||||
in
|
||||
with pkgs;
|
||||
rec {
|
||||
emoji = mk "Noto Color Emoji" noto-fonts-emoji;
|
||||
monospace = mk "JetBrainsMono Nerd Font" nerd-fonts.jetbrains-mono;
|
||||
sansSerif = monospace;
|
||||
serif = monospace;
|
||||
}
|
||||
// {
|
||||
sizes = {
|
||||
desktop = 10;
|
||||
popups = 10;
|
||||
applications = 12;
|
||||
terminal = 12;
|
||||
};
|
||||
};
|
||||
fonts = rec {
|
||||
monospace = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
package = with pkgs.nerd-fonts; jetbrains-mono;
|
||||
};
|
||||
serif = monospace;
|
||||
emoji = monospace;
|
||||
sizes = {
|
||||
desktop = 10;
|
||||
popups = 10;
|
||||
applications = 12;
|
||||
terminal = 12;
|
||||
};
|
||||
};
|
||||
targets = {
|
||||
# cli
|
||||
tmux = on;
|
||||
|
|
|
@ -27,10 +27,8 @@ in
|
|||
actions = false;
|
||||
anchor = "top-right";
|
||||
font = "${font.monospace.name}";
|
||||
# DECORATION
|
||||
borderRadius = 8;
|
||||
borderSize = 2;
|
||||
# COLORS
|
||||
backgroundColor = base01;
|
||||
borderColor = base0E;
|
||||
textColor = base06;
|
||||
|
@ -42,12 +40,11 @@ in
|
|||
text-color = c;
|
||||
};
|
||||
in
|
||||
x.toGen "toINI" {
|
||||
toGen "toINI" {
|
||||
"urgency=low" = mk base00 base0D base06;
|
||||
"urgency=high" = mk base00 base0C base06;
|
||||
"urgency=critical" = mk base00 base0A base06;
|
||||
};
|
||||
# SETTINGS
|
||||
layer = "overlay";
|
||||
sort = "+time";
|
||||
margin = "20, 20, 20";
|
||||
|
|
|
@ -143,6 +143,7 @@ in
|
|||
"7" = [ ];
|
||||
};
|
||||
};
|
||||
|
||||
# right modules
|
||||
"tray" = Tool // {
|
||||
icon-size = 18;
|
||||
|
|
|
@ -4,13 +4,8 @@
|
|||
}:
|
||||
|
||||
{
|
||||
imports = lib.x.baseName (
|
||||
lib.x.umport {
|
||||
path = ./.;
|
||||
exclude = [
|
||||
./default.nix
|
||||
./disko
|
||||
];
|
||||
}
|
||||
);
|
||||
imports = lib.x.mkUmport ./. [
|
||||
./default.nix
|
||||
./disko
|
||||
];
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
imports = with inputs; [ gaming.nixosModules.pipewireLowLatency ];
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [ pulsemixer ];
|
||||
security.rtkit = on;
|
||||
|
@ -28,14 +29,7 @@ in
|
|||
alsa = on // {
|
||||
support32Bit = true;
|
||||
};
|
||||
extraConfig.pipewire."92-low-latency" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 48000;
|
||||
"default.clock.quantum" = 32;
|
||||
"default.clock.min-quantum" = 32;
|
||||
"default.clock.max-quantum" = 32;
|
||||
};
|
||||
};
|
||||
lowLatency = on;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
corefonts
|
||||
killall
|
||||
helix
|
||||
fff
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
let
|
||||
inherit (inputs) home nixcord;
|
||||
backup = "ba";
|
||||
secrets = ../../secrets.nix;
|
||||
# make configuration
|
||||
mkMachine =
|
||||
|
@ -86,7 +87,7 @@ let
|
|||
{
|
||||
home-manager = {
|
||||
sharedModules = [ nixcord.homeManagerModules.nixcord ];
|
||||
backupFileExtension = "BACKUPX";
|
||||
backupFileExtension = backup;
|
||||
extraSpecialArgs = spArgs;
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
|
|
|
@ -11,16 +11,31 @@ with types;
|
|||
|
||||
rec {
|
||||
# ylib & stylix
|
||||
umport = import ./umport.nix { inherit lib; };
|
||||
umport = import ./umport.nix {
|
||||
inherit
|
||||
lib
|
||||
;
|
||||
};
|
||||
baseName = filter (path: baseNameOf path == "default.nix");
|
||||
mkUmport =
|
||||
path: exclude:
|
||||
(lib.x.baseName (
|
||||
lib.x.umport {
|
||||
inherit
|
||||
path
|
||||
exclude
|
||||
;
|
||||
}
|
||||
));
|
||||
|
||||
# enable = true; ++ enable = false;
|
||||
on.enable = true;
|
||||
off.enable = false;
|
||||
|
||||
# for programs
|
||||
toGen = type: text: generators.${toString type} { } text;
|
||||
mkGroup = list: genAttrs list (n: on);
|
||||
toGen = t: e: generators.${toString t} { } e;
|
||||
mkGrpOn = l: genAttrs l (n: on);
|
||||
mkGrpOff = l: genAttrs l (n: off);
|
||||
wm.workspaces =
|
||||
with builtins;
|
||||
(concatLists (
|
||||
|
@ -36,4 +51,10 @@ rec {
|
|||
) 10
|
||||
));
|
||||
}
|
||||
// import ./nixpkgs.nix { inherit self inputs pkgs; }
|
||||
// import ./nixpkgs.nix {
|
||||
inherit
|
||||
self
|
||||
inputs
|
||||
pkgs
|
||||
;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue