configuration.nix/home/modules/default.nix

718 lines
24 KiB
Nix
Raw Normal View History

2024-08-07 17:41:33 +02:00
toplevel @ {moduleWithSystem, ...}: {
2024-07-05 18:12:26 +02:00
flake.homeManagerModules = {
2024-07-05 18:19:34 +02:00
base = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {config, ...}: {
2024-07-10 11:17:08 +02:00
programs.home-manager.enable = true;
2024-08-02 06:54:15 +02:00
home.stateVersion = toplevel.config.flake.stateVersion;
2024-07-05 18:19:34 +02:00
xdg = {
enable = true;
userDirs = with config; {
enable = true;
createDirectories = true;
desktop = "${home.homeDirectory}/dt";
documents = "${home.homeDirectory}/doc";
download = "${home.homeDirectory}/dl";
pictures = "${home.homeDirectory}/pic";
videos = "${home.homeDirectory}/vid";
templates = "${home.homeDirectory}/tpl";
publicShare = "${home.homeDirectory}/pub";
music = "${home.homeDirectory}/mus";
};
2024-08-02 08:39:36 +02:00
mimeApps.enable = true;
2024-07-05 18:19:34 +02:00
};
}
);
2024-07-10 11:17:08 +02:00
ivand = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {pkgs, ...}: {
2024-08-02 06:54:15 +02:00
home = {
username = "ivand";
homeDirectory = "/home/ivand";
2024-08-07 17:41:33 +02:00
sessionVariables = {EDITOR = "nvim";};
packages = with pkgs; [nvim];
2024-08-02 06:54:15 +02:00
};
2024-07-10 11:17:08 +02:00
programs = {
2024-08-02 07:01:43 +02:00
git = with pkgs.lib; {
userName = mkForce "Ivan Kirilov Dimitrov";
userEmail = mkForce "ivan@idimitrov.dev";
2024-08-07 17:41:33 +02:00
signing = mkForce {
signByDefault = true;
key = "ivan@idimitrov.dev";
};
2024-07-10 11:17:08 +02:00
};
2024-07-24 22:08:37 +02:00
ssh = {
2024-08-03 17:22:31 +02:00
matchBlocks = {
2024-08-07 17:41:33 +02:00
vpsfree-ivand = {
hostname = "10.0.0.1";
user = "ivand";
};
vpsfree-root = {
hostname = "10.0.0.1";
user = "root";
};
2024-08-03 17:22:31 +02:00
};
2024-07-24 22:08:37 +02:00
};
2024-07-10 11:17:08 +02:00
};
}
);
2024-08-02 06:54:15 +02:00
util = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {
pkgs,
config,
...
}: {
2024-08-02 08:41:41 +02:00
home = {
2024-08-07 17:41:33 +02:00
packages = with pkgs; [openssl mlocate uutils-coreutils-noprefix speedtest-cli];
sessionVariables = {
PAGER = "bat";
BAT_THEME = "catppuccin-mocha";
};
2024-08-02 08:41:41 +02:00
};
2024-08-02 06:54:15 +02:00
programs = {
2024-08-07 17:41:33 +02:00
password-store = {
enable = true;
package = pkgs.pass.withExtensions (e: with e; [pass-otp pass-file]);
settings = {PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";};
};
2024-08-02 07:01:43 +02:00
git = {
enable = true;
delta.enable = true;
2024-08-07 17:41:33 +02:00
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
pa = "!git remote | xargs -L1 git push --all";
};
2024-08-02 07:01:43 +02:00
};
2024-08-02 06:54:15 +02:00
tealdeer = {
enable = true;
2024-08-07 17:41:33 +02:00
settings = {
display = {compact = true;};
updates = {auto_update = true;};
};
2024-08-02 06:54:15 +02:00
};
bottom = {
enable = true;
settings = {
2024-08-07 17:41:33 +02:00
flags = {rate = "250ms";};
2024-08-02 06:54:15 +02:00
row = [
2024-08-07 17:41:33 +02:00
{
ratio = 40;
child = [{type = "cpu";} {type = "mem";} {type = "net";}];
}
{
ratio = 35;
child = [{type = "temp";} {type = "disk";}];
}
{
ratio = 40;
child = [
{
type = "proc";
default = true;
}
];
}
2024-08-02 06:54:15 +02:00
];
};
};
2024-08-07 17:41:33 +02:00
fzf = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
nix-index = {
enable = true;
enableZshIntegration = false;
enableBashIntegration = false;
};
2024-08-02 09:29:07 +02:00
bat = {
enable = true;
2024-08-07 17:41:33 +02:00
themes = let
catppuccin = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "82e7ca555f805b53d2b377390e4ab38c20282e83";
sha256 = "sha256-/Ob9iCVyjJDBCXlss9KwFQTuxybmSSzYRBZxOT10PZg=";
};
in {
catppuccin-mocha = {
src = catppuccin;
file = "themes/Catppuccin Mocha.tmTheme";
};
catppuccin-macchiato = {
src = catppuccin;
file = "themes/Catppuccin Macchiato.tmTheme";
};
catppuccin-frappe = {
src = catppuccin;
file = "themes/Catppuccin Frappe.tmTheme";
};
catppuccin-latte = {
src = catppuccin;
file = "themes/Catppuccin Latte.tmTheme";
2024-08-02 09:29:07 +02:00
};
2024-08-07 17:41:33 +02:00
};
2024-08-02 09:29:07 +02:00
};
2024-08-02 07:01:43 +02:00
ssh.enable = true;
gpg.enable = true;
2024-08-02 06:54:15 +02:00
};
2024-08-07 17:41:33 +02:00
services = {
gpg-agent = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableNushellIntegration = true;
pinentryPackage = pkgs.pinentry-qt;
};
};
2024-08-02 06:54:15 +02:00
}
);
2024-07-05 18:12:26 +02:00
shell = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {pkgs, ...}: {
programs = let
shellAliases = {
cal = "cal $(date +%Y)";
GG = "git add . && git commit -m 'GG' && git push --set-upstream origin HEAD";
gad = "git add . && git diff --cached";
gac = "ga && gc";
ga = "git add .";
gc = "git commit";
dev = "nix develop --command $SHELL";
ls = "eza";
la = "eza --all";
lt = "eza --git-ignore --all --tree --level=10";
sc = "systemctl";
neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc";
};
sessionVariables = {};
in {
bash = {
inherit shellAliases sessionVariables;
enable = true;
enableVteIntegration = true;
historyControl = ["erasedups"];
historyIgnore = ["ls" "cd" "exit"];
};
zsh = {
inherit shellAliases sessionVariables;
enable = true;
dotDir = ".config/zsh";
defaultKeymap = "viins";
enableVteIntegration = true;
syntaxHighlighting.enable = true;
autosuggestion.enable = true;
history.expireDuplicatesFirst = true;
historySubstringSearch.enable = true;
};
nushell = {
enable = true;
environmentVariables = {config = ''{ show_banner: false, completions: { quick: false partial: false algorithm: "prefix" } } '';};
2024-07-05 18:12:26 +02:00
shellAliases = {
2024-08-07 17:41:33 +02:00
gcal = ''bash -c "cal $(date +%Y)" '';
la = "ls -al";
dev = "nix develop --command $env.SHELL";
2024-07-08 21:32:14 +02:00
};
2024-07-05 18:12:26 +02:00
};
2024-08-07 17:41:33 +02:00
kitty.shellIntegration = {
enableBashIntegration = true;
enableZshIntegration = true;
};
tmux = {
enable = true;
clock24 = true;
baseIndex = 1;
escapeTime = 0;
keyMode = "vi";
shell = "\${SHELL}";
terminal = "screen-256color";
plugins = with pkgs.tmuxPlugins; [tilish catppuccin];
extraConfig = ''
set-option -a terminal-features 'screen-256color:RGB'
'';
};
starship = {
enable = true;
enableNushellIntegration = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
eza = {
enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
extraOptions = [
"--long"
"--header"
"--icons"
"--smart-group"
"--mounts"
"--octal-permissions"
"--git"
];
};
};
2024-07-05 18:12:26 +02:00
}
);
swayland = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {
pkgs,
config,
...
}: {
2024-08-02 08:39:36 +02:00
home = {
2024-08-07 17:41:33 +02:00
packages = with pkgs; [audacity gimp grim libnotify libreoffice-qt mupdf slurp transmission_4 wl-clipboard xdg-user-dirs xdg-utils xwayland telegram-desktop];
pointerCursor = with pkgs; {
name = "catppuccin-mocha-green-cursors";
package = catppuccin-cursors.mochaGreen;
size = 24;
gtk.enable = true;
};
2024-08-02 08:39:36 +02:00
};
2024-07-05 18:12:26 +02:00
wayland.windowManager.sway = {
enable = true;
systemd.enable = true;
config = rec {
menu = "rofi -show run";
terminal = "kitty";
modifier = "Mod4";
startup = [
2024-08-07 17:41:33 +02:00
{command = "swaymsg 'workspace 2; exec firefox'";}
{command = "swaymsg 'workspace 1; exec kitty'";}
2024-07-05 18:12:26 +02:00
];
2024-08-07 17:41:33 +02:00
bars = [];
2024-07-05 18:12:26 +02:00
window.titlebar = false;
keybindings = pkgs.lib.mkOptionDefault {
2024-07-18 19:58:22 +02:00
"F1" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
"Shift+F1" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"F2" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"Shift+F2" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%";
"F3" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"Shift+F3" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%";
"F9" = "exec doas ${pkgs.light}/bin/light -A 10";
"F8" = "exec doas ${pkgs.light}/bin/light -U 10";
2024-07-07 16:01:23 +02:00
"Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock";
2024-07-05 18:12:26 +02:00
"${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot";
2024-07-05 18:12:26 +02:00
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc";
"${modifier}+Shift+r" = "reload";
"${modifier}+Shift+c" = "kill";
"${modifier}+Shift+q" = "exit";
};
2024-08-07 17:41:33 +02:00
input = {
"*" = {
xkb_layout = "us,bg";
xkb_options = "grp:win_space_toggle";
xkb_variant = ",phonetic";
};
};
2024-07-05 18:12:26 +02:00
};
2024-08-07 17:41:33 +02:00
swaynag = {enable = config.wayland.windowManager.sway.enable;};
2024-07-05 18:12:26 +02:00
};
programs = {
waybar = {
enable = true;
settings = {
2024-08-07 17:41:33 +02:00
mainBar = let
in {
layer = "top";
position = "top";
height = 30;
output = ["eDP-1" "HDMI-A-1" "*"];
2024-07-07 16:01:23 +02:00
2024-08-07 17:41:33 +02:00
modules-left = ["sway/workspaces" "sway/mode"];
modules-center = ["clock#week" "clock#year" "clock#time"];
modules-right = ["network" "pulseaudio" "memory" "cpu" "battery"];
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
"clock#time" = {
format = "{:%H:%M:%S}";
interval = 1;
tooltip = false;
};
"clock#week" = {
format = "{:%a}";
tooltip = false;
};
"clock#year" = {
format = "{:%Y-%m-%d}";
tooltip = false;
};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
battery = {
format = "{icon} <span color='#cdd6f4'>{capacity}% {time}</span>";
format-time = " {H} h {M} m";
format-icons = ["" "" "" "" ""];
states = {
warning = 30;
critical = 15;
2024-07-05 18:12:26 +02:00
};
2024-08-07 17:41:33 +02:00
tooltip = false;
};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
cpu = {format = "<span color='#74c7ec'></span> {usage}%";};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
memory = {
format = "<span color='#89b4fa'></span> {percentage}%";
interval = 5;
};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
pulseaudio = {
format = "<span color='#a6e3a1'>{icon}</span> {volume}% | {format_source}";
format-muted = "<span color='#f38ba8'>󰝟</span> {volume}% | {format_source}";
format-source = "{volume}% <span color='#a6e3a1'></span>";
format-source-muted = "{volume}% <span color='#f38ba8'></span>";
format-icons = {
headphone = "";
default = ["" "" ""];
2024-07-05 18:12:26 +02:00
};
2024-08-07 17:41:33 +02:00
tooltip = false;
};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
network = {
format-ethernet = "<span color='#89dceb'>󰈁</span> | <span color='#fab387'></span> {bandwidthUpBytes} <span color='#fab387'></span> {bandwidthDownBytes}";
format-wifi = "<span color='#06b6d4'>{icon}</span> | <span color='#fab387'></span> {bandwidthUpBytes} <span color='#fab387'></span> {bandwidthDownBytes}";
format-disconnected = "<span color='#eba0ac'>󰈂 no connection</span>";
format-icons = ["󰤟" "󰤢" "󰤥" "󰤨"];
interval = 5;
tooltip = false;
};
2024-07-05 18:12:26 +02:00
2024-08-07 17:41:33 +02:00
"sway/workspaces" = {
disable-scroll = true;
all-outputs = true;
2024-07-05 18:12:26 +02:00
};
2024-08-07 17:41:33 +02:00
};
};
systemd = {
enable = true;
target = "sway-session.target";
2024-07-05 18:12:26 +02:00
};
2024-08-02 06:40:39 +02:00
style = ''
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
* {
font-family: FontAwesome, 'Fira Code';
font-size: 13px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
window#waybar {
background-color: rgba(43, 48, 59, 0.1);
border-bottom: 2px solid rgba(100, 114, 125, 0.5);
color: @rosewater;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#workspaces button {
padding: 0 5px;
background-color: @base;
color: @text;
border-radius: 6px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#workspaces button:hover {
background: @mantle;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#workspaces button.focused {
background-color: @crust;
box-shadow: inset 0 -2px @sky;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#workspaces button.urgent {
background-color: @red;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#wireplumber,
#custom-media,
#tray,
#mode,
#idle_inhibitor,
#scratchpad,
#power-profiles-daemon,
#mpd {
padding: 0 10px;
color: @text;
background-color: @base;
margin: 0 .5em;
border-radius: 9999px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#clock.week {
margin-right: 0px;
color: @peach;
border-radius: 9999px 0px 0px 9999px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#clock.year {
margin: 0px;
padding: 0px;
color: @pink;
border-radius: 0px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#clock.time {
margin-left: 0px;
color: @sky;
border-radius: 0px 9999px 9999px 0px;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#battery.charging, #battery.plugged {
color: @green;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#battery.discharging {
color: @yellow;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
@keyframes blink {
to {
background-color: #ffffff;
color: #000000;
}
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
#battery.warning:not(.charging) {
background-color: @red;
}
2024-07-05 18:12:26 +02:00
2024-08-02 06:40:39 +02:00
/* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) {
background-color: @red;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: steps(12);
animation-iteration-count: infinite;
animation-direction: alternate;
}
2024-08-07 17:41:33 +02:00
'';
2024-07-05 18:12:26 +02:00
};
swaylock = {
enable = true;
2024-08-07 17:41:33 +02:00
settings = {
show-failed-attempts = true;
image = config.home.homeDirectory + "/pic/bg.png";
};
2024-07-05 18:12:26 +02:00
};
rofi = {
enable = true;
package = pkgs.rofi-wayland.override {
plugins = with pkgs; [
(
rofi-calc.override
2024-08-07 17:41:33 +02:00
{
rofi-unwrapped = rofi-wayland-unwrapped;
}
2024-07-05 18:12:26 +02:00
)
];
};
extraConfig = {
modi = "window,drun,run,ssh,calc";
};
};
kitty = {
enable = true;
2024-08-07 17:41:33 +02:00
font = {
package = pkgs.fira-code;
name = "FiraCodeNFM-Reg";
};
settings = {
background_opacity = "0.90";
cursor_shape = "beam";
};
};
imv = {
enable = true;
settings = {options.fullscreen = true;};
};
mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [uosc thumbfast];
};
bash.profileExtra = ''[ "$(tty)" = "/dev/tty1" ] && exec sway '';
zsh.loginExtra = ''[ "$(tty)" = "/dev/tty1" ] && exec sway '';
nushell.loginFile.text = ''if (tty) == "/dev/tty1" { sway } '';
};
services = {
mako.enable = true;
cliphist = {
enable = true;
systemdTarget = "sway-session.target";
};
2024-07-05 18:12:26 +02:00
};
systemd.user = {
2024-08-07 17:41:33 +02:00
timers = {
rbingwp = {
Timer = {
OnCalendar = "*-*-* 10:00:00";
Persistent = true;
};
Install = {WantedBy = ["timers.target"];};
};
};
2024-07-05 18:12:26 +02:00
services = {
wpd = {
2024-08-07 17:41:33 +02:00
Install = {WantedBy = ["sway-session.target"];};
Unit = {
Description = "Switch background every x minutes";
After = "graphical-session-pre.target";
PartOf = "graphical-session.target";
};
2024-07-05 18:12:26 +02:00
Service = {
2024-08-07 17:41:33 +02:00
ExecStart = ["${pkgs.wpd}/bin/wpd"];
2024-07-05 18:12:26 +02:00
};
};
};
};
2024-08-03 13:32:47 +02:00
xdg.mimeApps.defaultApplications = {
"image/jpg" = "imv.desktop";
"image/jpeg" = "imv.desktop";
"image/png" = "imv.desktop";
"image/webp" = "imv.desktop";
"image/gif" = "imv.desktop";
"image/svg+xml" = "imv.desktop";
"video/mp4" = "mpv.desktop";
"video/mpeg" = "mpv.desktop";
"video/ogg" = "mpv.desktop";
"video/webm" = "mpv.desktop";
"video/x-msvideo" = "mpv.desktop";
};
2024-07-05 18:12:26 +02:00
}
);
web = moduleWithSystem (
2024-08-07 17:41:33 +02:00
top @ {...}: perSystem @ {...}: {
2024-07-05 18:12:26 +02:00
programs = {
browserpass.enable = true;
firefox = {
enable = true;
profiles.ivand = {
id = 0;
2024-08-07 17:41:33 +02:00
search = {
default = "DuckDuckGo";
privateDefault = "DuckDuckGo";
force = true;
};
2024-07-05 18:12:26 +02:00
bookmarks = [
2024-08-07 17:41:33 +02:00
{
name = "home-options";
url = "https://nix-community.github.io/home-manager/options.xhtml";
}
{
name = "nixvim-docs";
url = "https://nix-community.github.io/nixvim/";
}
2024-07-05 18:12:26 +02:00
];
settings = {
"general.smoothScroll" = true;
"signon.rememberSignons" = false;
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
2024-08-03 12:48:52 +02:00
"layout.frame_rate" = 60;
2024-07-05 18:12:26 +02:00
};
};
policies = {
CaptivePortal = false;
DisableFirefoxStudies = true;
DisablePocket = true;
DisableTelemetry = true;
DisableFirefoxAccounts = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
2024-08-03 12:48:52 +02:00
NoDefaultBookmarks = true;
PopupBlocking.Default = false;
PromptForDownloadLocation = false;
TranslateEnabled = false;
SearchBar = "unified";
SearchSuggestEnabled = false;
2024-08-07 17:41:33 +02:00
SanitizeOnShutdown = {
Cache = true;
FormData = true;
Locked = true;
Cookies = false;
Downloads = false;
History = false;
Sessions = false;
SiteSettings = false;
OfflineApps = true;
};
FirefoxHome = {
Search = true;
Pocket = false;
Snippets = false;
TopSites = false;
Highlights = false;
};
UserMessaging = {
ExtensionRecommendations = false;
FeatureRecommendations = false;
UrlbarInterventions = false;
MoreFromMozilla = false;
SkipOnboarding = true;
};
2024-07-05 18:12:26 +02:00
Handlers = {
schemes = {
2024-08-07 17:41:33 +02:00
mailto = {
action = "useHelperApp";
ask = false;
handlers = [
{
name = "RoundCube";
uriTemplate = "https://mail.idimitrov.dev/?_task=mail&_action=compose&_to=%s";
}
];
};
2024-07-05 18:12:26 +02:00
};
};
};
};
};
2024-08-02 08:39:36 +02:00
xdg.mimeApps.defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
};
2024-07-05 18:12:26 +02:00
}
);
};
}