reformating

This commit is contained in:
Ivan Kirilov Dimitrov 2024-07-07 16:01:23 +02:00
parent 9f44008493
commit e521af0b12
No known key found for this signature in database
GPG Key ID: 0BDAD4B211C49294
2 changed files with 167 additions and 346 deletions

View File

@ -8,42 +8,22 @@ toplevel@{ moduleWithSystem, ... }: {
password-store = { password-store = {
enable = true; enable = true;
package = pkgs.pass.withExtensions (e: with e; [ pass-otp pass-file ]); package = pkgs.pass.withExtensions (e: with e; [ pass-otp pass-file ]);
settings = { settings = { PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store"; };
PASSWORD_STORE_DIR = "${config.home.homeDirectory}/.password-store";
};
}; };
git = { git = {
enable = true; enable = true;
delta.enable = true; delta.enable = true;
userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov"; userName = pkgs.lib.mkDefault "Ivan Kirilov Dimitrov";
userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev"; userEmail = pkgs.lib.mkDefault "ivan@idimitrov.dev";
signing = { signing = { signByDefault = true; key = "ivan@idimitrov.dev"; };
signByDefault = true; extraConfig = { color.ui = "auto"; pull.rebase = true; push.autoSetupRemote = true; };
key = "ivan@idimitrov.dev"; aliases = { a = "add ."; c = "commit"; d = "diff --cached"; p = "push"; };
};
extraConfig = {
color.ui = "auto";
pull.rebase = true;
push.autoSetupRemote = true;
};
aliases = {
a = "add .";
c = "commit";
d = "diff --cached";
p = "push";
};
}; };
gpg.enable = true; gpg.enable = true;
}; };
services = { services = {
pueue.enable = true; pueue.enable = true;
gpg-agent = { gpg-agent = { enable = true; enableBashIntegration = true; enableZshIntegration = true; enableNushellIntegration = true; pinentryPackage = pkgs.pinentry-qt; };
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableNushellIntegration = true;
pinentryPackage = pkgs.pinentry-qt;
};
}; };
home = { home = {
stateVersion = toplevel.config.flake.stateVersion; stateVersion = toplevel.config.flake.stateVersion;
@ -55,17 +35,8 @@ toplevel@{ moduleWithSystem, ... }: {
TERM = "screen-256color"; TERM = "screen-256color";
MAKEFLAGS = "-j 4"; MAKEFLAGS = "-j 4";
}; };
pointerCursor = with pkgs; { pointerCursor = with pkgs; { name = "catppuccin-mocha-green-cursors"; package = catppuccin-cursors.mochaGreen; size = 24; gtk.enable = true; };
name = "catppuccin-mocha-green-cursors"; packages = with pkgs; [ transmission_4 speedtest-cli nvim ];
package = catppuccin-cursors.mochaGreen;
size = 24;
gtk.enable = true;
};
packages = with pkgs; [
transmission_4
speedtest-cli
nvim
];
}; };
xdg = { xdg = {
enable = true; enable = true;
@ -111,13 +82,12 @@ toplevel@{ moduleWithSystem, ... }: {
ls = "${pkgs.nushell}/bin/nu -c 'ls'"; ls = "${pkgs.nushell}/bin/nu -c 'ls'";
la = "${pkgs.nushell}/bin/nu -c 'ls -al'"; la = "${pkgs.nushell}/bin/nu -c 'ls -al'";
torrent = "transmission-remote"; torrent = "transmission-remote";
torrent-start = "transmission-daemon";
vi = "nvim"; vi = "nvim";
sc = "systemctl"; sc = "systemctl";
neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc"; neofetch = "${pkgs.fastfetch}/bin/fastfetch -c all.jsonc";
}; };
sessionVariables = { sessionVariables = { TERM = "screen-256color"; };
TERM = "screen-256color";
};
in in
{ {
bash = { bash = {
@ -125,11 +95,7 @@ toplevel@{ moduleWithSystem, ... }: {
enable = true; enable = true;
enableVteIntegration = true; enableVteIntegration = true;
historyControl = [ "erasedups" ]; historyControl = [ "erasedups" ];
historyIgnore = [ historyIgnore = [ "ls" "cd" "exit" ];
"ls"
"cd"
"exit"
];
}; };
zsh = { zsh = {
inherit shellAliases sessionVariables; inherit shellAliases sessionVariables;
@ -144,30 +110,10 @@ toplevel@{ moduleWithSystem, ... }: {
}; };
nushell = { nushell = {
enable = true; enable = true;
environmentVariables = { environmentVariables = { config = '' { show_banner: false, completions: { quick: false partial: false algorithm: "prefix" } } ''; };
config = '' shellAliases = shellAliases // { gcal = '' bash -c "cal $(date +%Y)" ''; la = "ls -al"; dev = "nix develop --command $env.SHELL"; };
{
show_banner: false,
completions: {
quick: false
partial: false
algorithm: "prefix"
}
}
'';
};
shellAliases = shellAliases // {
gcal = ''
bash -c "cal $(date +%Y)"
'';
la = "ls -al";
dev = "nix develop --command $env.SHELL";
};
};
kitty.shellIntegration = {
enableBashIntegration = true;
enableZshIntegration = true;
}; };
kitty.shellIntegration = { enableBashIntegration = true; enableZshIntegration = true; };
tmux = { tmux = {
enable = true; enable = true;
clock24 = true; clock24 = true;
@ -181,12 +127,7 @@ toplevel@{ moduleWithSystem, ... }: {
set-option -a terminal-features 'screen-256color:RGB' set-option -a terminal-features 'screen-256color:RGB'
''; '';
}; };
starship = { starship = { enable = true; enableNushellIntegration = true; enableZshIntegration = true; enableBashIntegration = true; };
enable = true;
enableNushellIntegration = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
}; };
} }
); );
@ -196,21 +137,12 @@ toplevel@{ moduleWithSystem, ... }: {
programs = { programs = {
tealdeer = { tealdeer = {
enable = true; enable = true;
settings = { settings = { display = { compact = true; }; updates = { auto_update = true; }; };
display = {
compact = true;
};
updates = {
auto_update = true;
};
};
}; };
bottom = { bottom = {
enable = true; enable = true;
settings = { settings = {
flags = { flags = { rate = "250ms"; };
rate = "250ms";
};
row = [ row = [
{ ratio = 40; child = [{ type = "cpu"; } { type = "mem"; } { type = "net"; }]; } { ratio = 40; child = [{ type = "cpu"; } { type = "mem"; } { type = "net"; }]; }
{ ratio = 35; child = [{ type = "temp"; } { type = "disk"; }]; } { ratio = 35; child = [{ type = "temp"; } { type = "disk"; }]; }
@ -233,46 +165,34 @@ toplevel@{ moduleWithSystem, ... }: {
terminal = "kitty"; terminal = "kitty";
modifier = "Mod4"; modifier = "Mod4";
startup = [ startup = [
{ command = "swaymsg 'workspace 1; exec kitty'"; }
{ command = "swaymsg 'workspace 2; exec firefox'"; } { command = "swaymsg 'workspace 2; exec firefox'"; }
{ command = "swaymsg 'workspace 1; exec kitty'"; }
]; ];
bars = [ ]; bars = [ ];
window.titlebar = false; window.titlebar = false;
keybindings = pkgs.lib.mkOptionDefault { keybindings = pkgs.lib.mkOptionDefault {
# Audio
"XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle"; "XF86AudioMicMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%"; "XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%"; "XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%";
"Alt+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%"; "Alt+XF86AudioRaiseVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ +5%";
"Alt+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%"; "Alt+XF86AudioLowerVolume" = "exec ${pkgs.pulseaudio}/bin/pactl set-source-volume @DEFAULT_SOURCE@ -5%";
"XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle"; "XF86AudioMute" = "exec ${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
# Display "Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock";
"Alt+Shift+l" = "exec ${pkgs.swaylock}/bin/swaylock"; # Lock screen "XF86ScreenSaver" = "output 'eDP-1' toggle";
"XF86ScreenSaver" = "output 'eDP-1' toggle"; # Turn screen off
"XF86MonBrightnessUp" = "exec doas ${pkgs.light}/bin/light -A 10"; "XF86MonBrightnessUp" = "exec doas ${pkgs.light}/bin/light -A 10";
"XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10"; "XF86MonBrightnessDown" = "exec doas ${pkgs.light}/bin/light -U 10";
# Programs
"${modifier}+p" = "exec ${menu}"; "${modifier}+p" = "exec ${menu}";
"${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area"; "${modifier}+Shift+a" = "exec ${pkgs.screenshot}/bin/screenshot area";
"${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot"; "${modifier}+Shift+s" = "exec ${pkgs.screenshot}/bin/screenshot";
"${modifier}+c" = "exec ${pkgs.sal}/bin/sal"; "${modifier}+c" = "exec ${pkgs.sal}/bin/sal";
"End" = "exec rofi -show calc"; "End" = "exec rofi -show calc";
# sway commands
"${modifier}+Shift+r" = "reload"; "${modifier}+Shift+r" = "reload";
"${modifier}+Shift+c" = "kill"; "${modifier}+Shift+c" = "kill";
"${modifier}+Shift+q" = "exit"; "${modifier}+Shift+q" = "exit";
}; };
input = { input = { "*" = { xkb_layout = "us,bg"; xkb_options = "grp:win_space_toggle"; xkb_variant = ",phonetic"; }; };
"*" = {
xkb_layout = "us,bg";
xkb_options = "grp:win_space_toggle";
xkb_variant = ",phonetic";
};
};
};
swaynag = {
enable = true;
}; };
swaynag = { enable = config.wayland.windowManager.sway.enable; };
}; };
programs = { programs = {
waybar = { waybar = {
@ -285,55 +205,33 @@ toplevel@{ moduleWithSystem, ... }: {
layer = "top"; layer = "top";
position = "top"; position = "top";
height = 30; height = 30;
output = [ output = [ "eDP-1" "HDMI-A-1" ];
"eDP-1"
"HDMI-A-1"
];
modules-left = [ "sway/workspaces" ]; modules-left = [ "sway/workspaces" ];
modules-center = [ "clock#week" "clock#year" "clock#time" ]; modules-center = [ "clock#week" "clock#year" "clock#time" ];
modules-right = [ "network" "pulseaudio" "memory" "cpu" "battery" ]; modules-right = [ "network" "pulseaudio" "memory" "cpu" "battery" ];
"clock#time" = { "clock#time" = { format = "{:%H:%M:%S}"; interval = 1; };
format = "{:%H:%M:%S}"; "clock#week" = { format = "{:%a}"; };
interval = 1; "clock#year" = { format = "{:%Y-%m-%d}"; };
};
"clock#week" = {
format = "{:%a}";
};
"clock#year" = {
format = "{:%Y-%m-%d}";
};
battery = { battery = {
format = "{icon} <span color='#cdd6f4'>{capacity}% {time}</span>"; format = "{icon} <span color='#cdd6f4'>{capacity}% {time}</span>";
format-time = " {H} h {M} m"; format-time = " {H} h {M} m";
format-icons = [ "" "" "" "" "" ]; format-icons = [ "" "" "" "" "" ];
states = { states = { warning = 30; critical = 15; };
warning = 30;
critical = 15;
};
}; };
cpu = { cpu = { format = "<span color='#74c7ec'></span> {usage}%"; };
format = "<span color='#74c7ec'></span> {usage}%";
};
memory = { memory = { format = "<span color='#89b4fa'></span> {percentage}%"; interval = 5; };
format = "<span color='#89b4fa'></span> {percentage}%";
interval = 5;
};
pulseaudio = { pulseaudio = {
format = "<span color='#a6e3a1'>{icon}</span> {volume}% | {format_source}"; format = "<span color='#a6e3a1'>{icon}</span> {volume}% | {format_source}";
format-muted = "<span color='#f38ba8'>󰝟</span> {volume}% | {format_source}"; format-muted = "<span color='#f38ba8'>󰝟</span> {volume}% | {format_source}";
format-source = "{volume}% <span color='#a6e3a1'></span>"; format-source = "{volume}% <span color='#a6e3a1'></span>";
format-source-muted = "{volume}% <span color='#f38ba8'></span>"; format-source-muted = "{volume}% <span color='#f38ba8'></span>";
format-icons = { format-icons = { headphone = ""; default = [ "" "" "" ]; };
headphone = "";
default = [ "" "" "" ];
};
}; };
network = { network = {
@ -344,153 +242,146 @@ toplevel@{ moduleWithSystem, ... }: {
interval = 5; interval = 5;
}; };
"sway/workspaces" = { "sway/workspaces" = { disable-scroll = true; all-outputs = true; };
disable-scroll = true;
all-outputs = true;
};
}; };
}; };
systemd = { systemd = { enable = true; target = "sway-session.target"; };
enable = true; style = /* CSS */
target = "sway-session.target"; ''
}; @define-color rosewater #f5e0dc;
style = /* CSS */ '' @define-color flamingo #f2cdcd;
@define-color rosewater #f5e0dc; @define-color pink #f5c2e7;
@define-color flamingo #f2cdcd; @define-color mauve #cba6f7;
@define-color pink #f5c2e7; @define-color red #f38ba8;
@define-color mauve #cba6f7; @define-color maroon #eba0ac;
@define-color red #f38ba8; @define-color peach #fab387;
@define-color maroon #eba0ac; @define-color yellow #f9e2af;
@define-color peach #fab387; @define-color green #a6e3a1;
@define-color yellow #f9e2af; @define-color teal #94e2d5;
@define-color green #a6e3a1; @define-color sky #89dceb;
@define-color teal #94e2d5; @define-color sapphire #74c7ec;
@define-color sky #89dceb; @define-color blue #89b4fa;
@define-color sapphire #74c7ec; @define-color lavender #b4befe;
@define-color blue #89b4fa; @define-color text #cdd6f4;
@define-color lavender #b4befe; @define-color subtext1 #bac2de;
@define-color text #cdd6f4; @define-color subtext0 #a6adc8;
@define-color subtext1 #bac2de; @define-color overlay2 #9399b2;
@define-color subtext0 #a6adc8; @define-color overlay1 #7f849c;
@define-color overlay2 #9399b2; @define-color overlay0 #6c7086;
@define-color overlay1 #7f849c; @define-color surface2 #585b70;
@define-color overlay0 #6c7086; @define-color surface1 #45475a;
@define-color surface2 #585b70; @define-color surface0 #313244;
@define-color surface1 #45475a; @define-color base #1e1e2e;
@define-color surface0 #313244; @define-color mantle #181825;
@define-color base #1e1e2e; @define-color crust #11111b;
@define-color mantle #181825; * {
@define-color crust #11111b; font-family: FontAwesome, 'Fira Code';
* { font-size: 13px;
font-family: FontAwesome, 'Fira Code'; }
font-size: 13px;
}
window#waybar { window#waybar {
background-color: rgba(43, 48, 59, 0.1); background-color: rgba(43, 48, 59, 0.1);
border-bottom: 2px solid rgba(100, 114, 125, 0.5); border-bottom: 2px solid rgba(100, 114, 125, 0.5);
color: @rosewater; color: @rosewater;
} }
#workspaces button { #workspaces button {
padding: 0 5px; padding: 0 5px;
background-color: @base; background-color: @base;
color: @text; color: @text;
border-radius: 6px; border-radius: 6px;
} }
#workspaces button:hover { #workspaces button:hover {
background: @mantle; background: @mantle;
} }
#workspaces button.focused { #workspaces button.focused {
background-color: @crust; background-color: @crust;
box-shadow: inset 0 -2px @sky; box-shadow: inset 0 -2px @sky;
} }
#workspaces button.urgent { #workspaces button.urgent {
background-color: @red; background-color: @red;
} }
#clock, #clock,
#battery, #battery,
#cpu, #cpu,
#memory, #memory,
#disk, #disk,
#temperature, #temperature,
#backlight, #backlight,
#network, #network,
#pulseaudio, #pulseaudio,
#wireplumber, #wireplumber,
#custom-media, #custom-media,
#tray, #tray,
#mode, #mode,
#idle_inhibitor, #idle_inhibitor,
#scratchpad, #scratchpad,
#power-profiles-daemon, #power-profiles-daemon,
#mpd { #mpd {
padding: 0 10px; padding: 0 10px;
color: @text; color: @text;
background-color: @base; background-color: @base;
margin: 0 .5em; margin: 0 .5em;
border-radius: 9999px; border-radius: 9999px;
} }
#clock.week { #clock.week {
margin-right: 0px; margin-right: 0px;
color: @peach; color: @peach;
border-radius: 9999px 0px 0px 9999px; border-radius: 9999px 0px 0px 9999px;
} }
#clock.year { #clock.year {
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
color: @pink; color: @pink;
border-radius: 0px; border-radius: 0px;
} }
#clock.time { #clock.time {
margin-left: 0px; margin-left: 0px;
color: @sky; color: @sky;
border-radius: 0px 9999px 9999px 0px; border-radius: 0px 9999px 9999px 0px;
} }
#battery.charging, #battery.plugged { #battery.charging, #battery.plugged {
color: @green; color: @green;
} }
#battery.discharging { #battery.discharging {
color: @yellow; color: @yellow;
} }
@keyframes blink { @keyframes blink {
to { to {
background-color: #ffffff; background-color: #ffffff;
color: #000000; color: #000000;
} }
} }
#battery.warning:not(.charging) { #battery.warning:not(.charging) {
background-color: @red; background-color: @red;
} }
/* Using steps() instead of linear as a timing function to limit cpu usage */ /* Using steps() instead of linear as a timing function to limit cpu usage */
#battery.critical:not(.charging) { #battery.critical:not(.charging) {
background-color: @red; background-color: @red;
animation-name: blink; animation-name: blink;
animation-duration: 0.5s; animation-duration: 0.5s;
animation-timing-function: steps(12); animation-timing-function: steps(12);
animation-iteration-count: infinite; animation-iteration-count: infinite;
animation-direction: alternate; animation-direction: alternate;
} }
''; ''
;
}; };
swaylock = { swaylock = {
enable = true; enable = true;
settings = { settings = { show-failed-attempts = true; image = config.home.homeDirectory + "/pic/bg.png"; };
show-failed-attempts = true;
image = config.home.homeDirectory + "/pic/bg.png";
};
}; };
rofi = { rofi = {
enable = true; enable = true;
@ -510,45 +401,22 @@ toplevel@{ moduleWithSystem, ... }: {
}; };
kitty = { kitty = {
enable = true; enable = true;
font = { font = { package = pkgs.fira-code; name = "FiraCodeNFM-Reg"; };
package = pkgs.fira-code; settings = { background_opacity = "0.90"; cursor_shape = "beam"; term = "screen-256color"; };
name = "FiraCodeNFM-Reg";
};
settings = {
background_opacity = "0.90";
cursor_shape = "beam";
term = "screen-256color";
};
}; };
imv.enable = true; imv.enable = true;
mpv.enable = true; mpv.enable = true;
bash.profileExtra = '' bash.profileExtra = '' [ "$(tty)" = "/dev/tty1" ] && exec sway '';
[ "$(tty)" = "/dev/tty1" ] && exec sway zsh.loginExtra = '' [ "$(tty)" = "/dev/tty1" ] && exec sway '';
''; nushell.loginFile.text = '' if (tty) == "/dev/tty1" { 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";
};
}; };
services = { mako.enable = true; cliphist = { enable = true; systemdTarget = "sway-session.target"; }; };
systemd.user = { systemd.user = {
timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; }; timers = { rbingwp = { Timer = { OnCalendar = "*-*-* 10:00:00"; Persistent = true; }; Install = { WantedBy = [ "timers.target" ]; }; }; };
services = { services = {
wpd = { wpd = {
Service = { Service = {
Environment = [ Environment = [ "PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin" ];
"PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin"
];
ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ]; ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ];
}; };
}; };
@ -565,19 +433,7 @@ toplevel@{ moduleWithSystem, ... }: {
}; };
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [ audacity gimp grim libnotify libreoffice-qt mupdf slurp wl-clipboard xdg-user-dirs xdg-utils xwayland ];
audacity
gimp
grim
libnotify
libreoffice-qt
mupdf
slurp
wl-clipboard
xdg-user-dirs
xdg-utils
xwayland
];
} }
); );
web = moduleWithSystem ( web = moduleWithSystem (
@ -591,14 +447,8 @@ toplevel@{ moduleWithSystem, ... }: {
id = 0; id = 0;
search.default = "DuckDuckGo"; search.default = "DuckDuckGo";
bookmarks = [ bookmarks = [
{ { name = "home-options"; url = "https://nix-community.github.io/home-manager/options.xhtml"; }
name = "home-options"; { name = "nixvim-docs"; url = "https://nix-community.github.io/nixvim/"; }
url = "https://nix-community.github.io/home-manager/options.xhtml";
}
{
name = "nixvim-docs";
url = "https://nix-community.github.io/nixvim/";
}
]; ];
settings = { settings = {
"general.smoothScroll" = true; "general.smoothScroll" = true;
@ -617,31 +467,13 @@ toplevel@{ moduleWithSystem, ... }: {
OfferToSaveLoginsDefault = false; OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false; PasswordManagerEnabled = false;
FirefoxHome = { FirefoxHome = { Search = true; Pocket = false; Snippets = false; TopSites = false; Highlights = false; };
Search = true;
Pocket = false;
Snippets = false;
TopSites = false;
Highlights = false;
};
UserMessaging = { UserMessaging = { ExtensionRecommendations = false; SkipOnboarding = true; };
ExtensionRecommendations = false;
SkipOnboarding = true;
};
Handlers = { Handlers = {
schemes = { schemes = {
mailto = { mailto = { action = "useHelperApp"; ask = false; handlers = [{ name = "RoundCube"; uriTemplate = "https://mail.idimitrov.dev/?_task=mail&_action=compose&_to=%s"; }]; };
action = "useHelperApp";
ask = false;
handlers = [
{
name = "RoundCube";
uriTemplate = "https://mail.idimitrov.dev/?_task=mail&_action=compose&_to=%s";
}
];
};
}; };
}; };
}; };
@ -653,9 +485,7 @@ toplevel@{ moduleWithSystem, ... }: {
description = "Integration with GnuPG"; description = "Integration with GnuPG";
path = "${pkgs.gpgme.dev}/bin/gpgme-json"; path = "${pkgs.gpgme.dev}/bin/gpgme-json";
type = "stdio"; type = "stdio";
allowed_extensions = [ allowed_extensions = [ "jid1-AQqSMBYb0a8ADg@jetpack" ];
"jid1-AQqSMBYb0a8ADg@jetpack"
];
}; };
}; };
} }
@ -663,10 +493,7 @@ toplevel@{ moduleWithSystem, ... }: {
work = moduleWithSystem ( work = moduleWithSystem (
top@{ ... }: top@{ ... }:
perSystem@{ pkgs, ... }: { perSystem@{ pkgs, ... }: {
programs.chromium = { programs.chromium = { enable = true; package = pkgs.ungoogled-chromium; };
enable = true;
package = pkgs.ungoogled-chromium;
};
} }
); );
}; };

View File

@ -48,13 +48,7 @@ top@{ moduleWithSystem, ... }: {
security = moduleWithSystem (toplevel@{ ... }: perSystem@{ ... }: { security = moduleWithSystem (toplevel@{ ... }: perSystem@{ ... }: {
security = { security = {
sudo = { enable = false; execWheelOnly = true; extraRules = [{ groups = [ "wheel" ]; }]; }; sudo = { enable = false; execWheelOnly = true; extraRules = [{ groups = [ "wheel" ]; }]; };
doas = { doas = { enable = true; extraRules = [{ groups = [ "wheel" ]; noPass = true; keepEnv = true; }]; };
enable = true;
extraRules = [
# Allow wheel to run all commands without password and keep user env.
{ groups = [ "wheel" ]; noPass = true; keepEnv = true; }
];
};
polkit.enable = true; polkit.enable = true;
rtkit.enable = true; rtkit.enable = true;
}; };