1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-05-13 06:35:15 +00:00

furry top

This commit is contained in:
nixzoid 2025-03-16 18:52:11 +09:00
parent d8b662baaf
commit 11a0efc709
31 changed files with 639 additions and 303 deletions
machines/jetpure/home/modules
modules
home
nixos
default.nix
hardware/sound
programs/common
xlib/builder

View file

@ -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")
];
};
}

View file

@ -4,10 +4,5 @@
}:
{
imports = lib.x.baseName (
lib.x.umport {
path = ./.;
exclude = [ ./default.nix ];
}
);
imports = lib.x.mkUmport ./. [ ./default.nix ];
}

View file

@ -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 [

View file

@ -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"

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.games = mkGroup [
module.games = mkGrpOn [
"mindustry"
"minecraft"
"openarena"

View file

@ -19,7 +19,7 @@ in
config = mkIf cfg.enable {
module = {
programs.gui = mkGroup [
programs.gui = mkGrpOn [
"mpv"
"swayimg"
"zathura"

View file

@ -19,7 +19,7 @@ in
config = mkIf cfg.enable {
module = {
programs.gui = mkGroup [
programs.gui = mkGrpOn [
"spotify"
];
};

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.programs.gui = mkGroup [
module.programs.gui = mkGrpOn [
"keepass"
"syncthing"
];

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.programs.gui = mkGroup [
module.programs.gui = mkGrpOn [
"nixcord"
"telegram"
];

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.themes = mkGroup [
module.themes = mkGrpOn [
"qt"
"stylix"
];

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.programs.gui = mkGroup [
module.programs.gui = mkGrpOn [
"qutebrowser"
"syncthing"
];

View file

@ -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"
];
};

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.programs.cli = mkGroup [
module.programs.cli = mkGrpOn [
"archivers"
"bat"
"eza"

View file

@ -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
;
};
};
}

View file

@ -18,9 +18,9 @@ in
};
config = mkIf cfg.enable {
module.programs.cli = genAttrs [
module.programs.cli = mkGrpOn [
"fastfetch"
"onefetch"
] (n: on);
];
};
}

View file

@ -18,7 +18,7 @@ in
};
config = mkIf cfg.enable {
module.programs.cli = mkGroup [
module.programs.cli = mkGrpOn [
"btop"
"nvtop"
];

View file

@ -41,6 +41,8 @@
freeTP = "freetp.org";
# study
proteh = "profteh.com/study";
chatGpt = "chatgpt.com";
gemini = "gemini.google.com";
};
whitelist."whitelist" = {
includes = [

View 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";
}
];
}

View file

@ -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 {

View file

@ -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;
};
}
);
}

View file

@ -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

View file

@ -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";
};

View file

@ -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";
}

View file

@ -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;

View file

@ -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";

View file

@ -143,6 +143,7 @@ in
"7" = [ ];
};
};
# right modules
"tray" = Tool // {
icon-size = 18;

View file

@ -4,13 +4,8 @@
}:
{
imports = lib.x.baseName (
lib.x.umport {
path = ./.;
exclude = [
./default.nix
./disko
];
}
);
imports = lib.x.mkUmport ./. [
./default.nix
./disko
];
}

View file

@ -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;
};
};
}

View file

@ -20,6 +20,7 @@ in
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
corefonts
killall
helix
fff

View file

@ -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;

View file

@ -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
;
}