2023-07-03 22:35:58 +02:00
|
|
|
{
|
2024-06-15 15:25:39 +02:00
|
|
|
lib,
|
2023-07-03 22:35:58 +02:00
|
|
|
pkgs,
|
|
|
|
...
|
2024-04-12 21:50:51 +02:00
|
|
|
}: let
|
2024-04-01 00:59:16 +02:00
|
|
|
qutebrowser_firejail = pkgs.writeShellScriptBin "qutebrowser" ''
|
2024-06-15 15:43:06 +02:00
|
|
|
firejail -- ${lib.getExe pkgs.qutebrowser} "$@"
|
2024-04-01 00:59:16 +02:00
|
|
|
'';
|
2024-04-12 21:50:51 +02:00
|
|
|
in {
|
2023-07-03 22:35:58 +02:00
|
|
|
imports = [./zsh.nix ./i3status-rust.nix ./sway.nix ./i3.nix ./home_packages.nix ./whatsapp-for-linux.nix];
|
|
|
|
|
|
|
|
home.stateVersion = "22.11";
|
|
|
|
home.username = "akill";
|
|
|
|
home.homeDirectory = "/home/akill";
|
|
|
|
|
|
|
|
xdg.enable = true;
|
|
|
|
xdg.mimeApps = {
|
|
|
|
enable = true;
|
|
|
|
defaultApplications = {
|
2023-11-11 23:07:11 +01:00
|
|
|
"application/pdf" = "sioyek.desktop";
|
2024-06-15 12:28:57 +02:00
|
|
|
"default-web-browser" = "org.qutebrowser.qutebrowser.desktop";
|
2023-11-11 23:07:11 +01:00
|
|
|
"text/html" = "org.qutebrowser.qutebrowser.desktop";
|
|
|
|
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
|
|
|
|
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
|
|
|
|
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
|
|
|
|
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
|
2023-07-03 22:35:58 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
|
2023-11-11 23:07:11 +01:00
|
|
|
home.sessionVariables = rec {
|
2024-06-15 15:25:39 +02:00
|
|
|
BROWSER = lib.getExe qutebrowser_firejail;
|
2023-11-11 23:07:11 +01:00
|
|
|
DEFAULT_BROWSER = "${BROWSER}";
|
2023-07-03 22:35:58 +02:00
|
|
|
EDITOR = "nvim";
|
|
|
|
_JAVA_AWT_WM_NONREPARENTING = "1";
|
|
|
|
MOZ_ENABLE_WAYLAND = "1";
|
2024-09-03 11:48:53 +02:00
|
|
|
NIXOS_OZONE_WL = "1";
|
2023-07-03 22:35:58 +02:00
|
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
|
|
SUDO_EDITOR = "nvim";
|
2024-03-30 13:50:00 +01:00
|
|
|
WLR_RENDERER = "vulkan";
|
2023-07-03 22:35:58 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
wayland.windowManager.sway = {enable = true;};
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
home-manager.enable = true;
|
|
|
|
|
|
|
|
librewolf = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.librewolf-wayland;
|
|
|
|
settings = {
|
|
|
|
"webgl.disable" = true;
|
|
|
|
"middlemouse.paste" = false;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-12-25 18:46:34 +01:00
|
|
|
tmux = {
|
|
|
|
enable = true;
|
|
|
|
clock24 = true;
|
|
|
|
keyMode = "vi";
|
|
|
|
terminal = "screen-256color";
|
2024-04-12 21:50:51 +02:00
|
|
|
plugins = with pkgs.tmuxPlugins; [sysstat net-speed gruvbox];
|
2023-12-25 18:46:34 +01:00
|
|
|
};
|
|
|
|
|
2023-07-03 22:35:58 +02:00
|
|
|
mpv = {
|
|
|
|
enable = true;
|
|
|
|
config = {
|
|
|
|
slang = "eng,en";
|
|
|
|
alang = "eng,en";
|
|
|
|
hwdec = "auto";
|
2023-09-07 10:57:18 +02:00
|
|
|
vo = "gpu-next";
|
2023-07-03 22:35:58 +02:00
|
|
|
ao = "pipewire";
|
2023-07-29 21:32:54 +02:00
|
|
|
script-opts-set = "ytdl_hook-ytdl_path=yt-dlp,sponsorblock-local_database=no,sponsorblock-skip_categories=[sponsor,intro,selfpromo]";
|
2023-07-03 22:35:58 +02:00
|
|
|
ytdl-format = "bestvideo[height<=?1080]+bestaudio/best";
|
|
|
|
};
|
|
|
|
|
|
|
|
bindings = {
|
|
|
|
WHEEL_UP = "ignore";
|
|
|
|
WHEEL_DOWN = "ignore";
|
|
|
|
WHEEL_LEFT = "ignore";
|
|
|
|
WHEEL_RIGHT = "ignore";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
alacritty = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
font = {
|
|
|
|
normal.family = "JetBrainsMono";
|
|
|
|
italic.family = "JetBrainsMono";
|
|
|
|
bold.family = "JetBrainsMono";
|
|
|
|
bold_italic.family = "JetBrainsMono";
|
|
|
|
size = 14.0;
|
|
|
|
};
|
|
|
|
|
|
|
|
selection = {
|
|
|
|
text = "0xcfcfc2";
|
|
|
|
background = "0x232629";
|
|
|
|
|
|
|
|
normal = {
|
|
|
|
black = "0x1c1b19";
|
|
|
|
red = "0xef2f27";
|
|
|
|
green = "0x519f50";
|
|
|
|
yellow = "0xfbb829";
|
|
|
|
blue = "0x2c78bf";
|
|
|
|
magenta = "0xe02c6d";
|
|
|
|
cyan = "0x0aaeb3";
|
|
|
|
white = "0x918175";
|
|
|
|
};
|
|
|
|
|
|
|
|
bright = {
|
|
|
|
black = "0x2D2C29";
|
|
|
|
red = "0xf75341";
|
|
|
|
green = "0x98bc37";
|
|
|
|
yellow = "0xfed06e";
|
|
|
|
blue = "0x68A8E4";
|
|
|
|
magenta = "0xff5c8f";
|
|
|
|
cyan = "0x53fde9";
|
|
|
|
white = "0xfce8c3";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
rofi = {
|
|
|
|
enable = true;
|
|
|
|
theme = "gruvbox-dark";
|
|
|
|
};
|
|
|
|
|
|
|
|
foot = {
|
|
|
|
enable = true;
|
|
|
|
server.enable = true;
|
|
|
|
settings = {
|
|
|
|
main = {
|
|
|
|
font = "JetBrainsMono:size=10";
|
|
|
|
dpi-aware = "yes";
|
|
|
|
};
|
|
|
|
mouse = {hide-when-typing = "yes";};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
qutebrowser = {
|
|
|
|
enable = true;
|
2024-04-01 00:59:16 +02:00
|
|
|
package = qutebrowser_firejail;
|
2023-07-03 22:35:58 +02:00
|
|
|
keyBindings = {
|
|
|
|
normal = {
|
|
|
|
"j" = "scroll-px 0 25";
|
|
|
|
"k" = "scroll-px 0 -25";
|
|
|
|
"u" = "undo --window";
|
2023-09-20 19:44:52 +02:00
|
|
|
";v" = "hint links spawn mpv {hint-url}";
|
2023-07-03 22:35:58 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
content.notifications.enabled = false;
|
|
|
|
content.pdfjs = true;
|
|
|
|
content.webgl = false;
|
|
|
|
fonts.completion.category = "14pt monospace";
|
|
|
|
fonts.completion.entry = "14pt monospace";
|
|
|
|
fonts.contextmenu = "14pt monospace";
|
|
|
|
fonts.debug_console = "14pt monospace";
|
|
|
|
fonts.downloads = "14pt monospace";
|
|
|
|
fonts.hints = "14pt monospace";
|
|
|
|
fonts.keyhint = "14pt monospace";
|
|
|
|
fonts.messages.info = "14pt monospace";
|
|
|
|
fonts.prompts = "14pt monospace";
|
|
|
|
fonts.statusbar = "14pt monospace";
|
|
|
|
hints.chars = "1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol0p";
|
|
|
|
tabs.last_close = "close";
|
|
|
|
tabs.position = "left";
|
|
|
|
tabs.show = "multiple";
|
|
|
|
tabs.tabs_are_windows = true;
|
|
|
|
tabs.width = "12%";
|
|
|
|
zoom.default = "125%";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
git = {
|
|
|
|
enable = true;
|
|
|
|
userName = "Asmir A";
|
|
|
|
userEmail = "asmir.abdulahovic@gmail.com";
|
|
|
|
extraConfig = {
|
2024-12-04 15:22:01 +01:00
|
|
|
init.defaultBranch = "master";
|
2023-07-03 22:35:58 +02:00
|
|
|
pull = {rebase = true;};
|
|
|
|
credential = {helper = "store";};
|
|
|
|
};
|
2023-10-28 18:11:08 +02:00
|
|
|
signing.key = "020C42B7A9ABA3E2";
|
|
|
|
signing.signByDefault = true;
|
2023-07-03 22:35:58 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
obs-studio = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.obs-studio-plugins; [obs-vkcapture input-overlay obs-multi-rtmp obs-pipewire-audio-capture wlrobs obs-vaapi];
|
|
|
|
};
|
|
|
|
|
|
|
|
i3status-rust.enable = true;
|
|
|
|
z-lua.enable = true;
|
|
|
|
zsh.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
|
|
|
lorri.enable = false;
|
|
|
|
mako.enable = true;
|
2024-01-28 01:34:27 +01:00
|
|
|
cliphist.enable = true;
|
2023-07-03 22:35:58 +02:00
|
|
|
gammastep = {
|
|
|
|
enable = true;
|
|
|
|
latitude = "44.53";
|
|
|
|
longitude = "18.67";
|
|
|
|
temperature.day = 5500;
|
|
|
|
temperature.night = 2900;
|
|
|
|
};
|
|
|
|
|
|
|
|
gnome-keyring.enable = true;
|
|
|
|
|
|
|
|
gpg-agent = {
|
|
|
|
enable = true;
|
|
|
|
defaultCacheTtl = 1800;
|
|
|
|
enableSshSupport = true;
|
|
|
|
};
|
|
|
|
|
2023-11-13 16:50:38 +01:00
|
|
|
swayidle = let
|
|
|
|
locker = pkgs.writeShellScriptBin "swaylock_fancy" ''
|
|
|
|
TMP_FILE=$(${pkgs.coreutils}/bin/mktemp /tmp/.swaylock_ss_XXXXXX.jpg)
|
2024-06-15 15:25:39 +02:00
|
|
|
${lib.getExe pkgs.grim} -t ppm - | ${pkgs.imagemagick}/bin/convert - -blur 0x12 "$TMP_FILE"
|
|
|
|
${lib.getExe pkgs.swaylock} -f -i "$TMP_FILE"
|
2023-11-13 16:50:38 +01:00
|
|
|
${pkgs.coreutils}/bin/rm "$TMP_FILE"
|
|
|
|
'';
|
|
|
|
in {
|
2023-07-03 22:35:58 +02:00
|
|
|
enable = true;
|
|
|
|
events = [
|
|
|
|
{
|
|
|
|
event = "before-sleep";
|
2023-11-13 16:50:38 +01:00
|
|
|
command = "${locker}/bin/swaylock_fancy";
|
2023-07-03 22:35:58 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
event = "lock";
|
2023-11-13 16:50:38 +01:00
|
|
|
command = "${locker}/bin/swaylock_fancy";
|
2023-07-03 22:35:58 +02:00
|
|
|
}
|
|
|
|
{
|
|
|
|
event = "after-resume";
|
2023-11-13 16:50:38 +01:00
|
|
|
command = "${pkgs.procps}/bin/pkill -USR1 i3status-rs";
|
2023-07-03 22:35:58 +02:00
|
|
|
}
|
|
|
|
];
|
|
|
|
timeouts = [
|
|
|
|
{
|
|
|
|
timeout = 15 * 60;
|
2023-11-13 16:50:38 +01:00
|
|
|
command = "${locker}/bin/swaylock_fancy";
|
2023-07-03 22:35:58 +02:00
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2024-05-06 10:30:49 +02:00
|
|
|
|
|
|
|
kanshi = {
|
|
|
|
enable = true;
|
2024-06-01 19:14:23 +02:00
|
|
|
settings = [
|
2024-05-06 10:30:49 +02:00
|
|
|
{
|
2024-06-01 19:14:23 +02:00
|
|
|
profile.name = "undocked";
|
|
|
|
profile.outputs = [
|
|
|
|
{
|
|
|
|
criteria = "eDP-1";
|
|
|
|
}
|
|
|
|
];
|
2024-05-06 10:30:49 +02:00
|
|
|
}
|
2024-06-01 19:14:23 +02:00
|
|
|
|
2024-05-06 10:30:49 +02:00
|
|
|
{
|
2024-06-01 19:14:23 +02:00
|
|
|
profile.name = "docked";
|
|
|
|
profile.outputs = [
|
|
|
|
{
|
|
|
|
criteria = "eDP-1";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
criteria = "Philips Consumer Electronics Company PHL 272S1 UHB2347026536";
|
|
|
|
mode = "1920x1080@74.973Hz";
|
|
|
|
}
|
|
|
|
{
|
|
|
|
criteria = "Philips Consumer Electronics Company PHL 272S1 UHB2347026535";
|
|
|
|
mode = "1920x1080@74.973Hz";
|
|
|
|
}
|
|
|
|
];
|
2024-05-06 10:30:49 +02:00
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2023-07-03 22:35:58 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
systemd.user = {
|
|
|
|
services = {
|
|
|
|
/*
|
|
|
|
himalaya = {
|
|
|
|
Unit.Description = "Himalaya new messages notifier";
|
|
|
|
Service = {
|
|
|
|
ExecStart = "himalaya notify";
|
|
|
|
Restart = "always";
|
|
|
|
RestartSec = 10;
|
|
|
|
};
|
|
|
|
Install = {
|
|
|
|
WantedBy = [ "multi-user.target" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
*/
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|