2022-03-10 21:52:12 +01:00
|
|
|
|
{
|
|
|
|
|
|
config,
|
|
|
|
|
|
pkgs,
|
|
|
|
|
|
lib,
|
2023-02-24 23:10:45 +01:00
|
|
|
|
niveumPackages,
|
2022-03-10 21:52:12 +01:00
|
|
|
|
...
|
|
|
|
|
|
}: let
|
2024-03-15 09:06:24 +01:00
|
|
|
|
dashboard = pkgs.writers.writeDashBin "dashboard" ''
|
2025-05-21 10:45:44 +02:00
|
|
|
|
${pkgs.alacritty}/bin/alacritty --option font.size=4 --class dashboard --command ${pkgs.writers.writeDash "dashboard-inner" ''
|
|
|
|
|
|
exec ${pkgs.procps}/bin/watch -c -n 10 ${niveumPackages.q}/bin/q
|
2024-03-15 09:06:24 +01:00
|
|
|
|
''}
|
|
|
|
|
|
'';
|
2023-07-26 07:38:52 +02:00
|
|
|
|
inherit (import ../lib) defaultApplications;
|
2023-02-24 23:10:45 +01:00
|
|
|
|
klem = niveumPackages.klem.override {
|
|
|
|
|
|
config.dmenu = "${pkgs.dmenu}/bin/dmenu -i -p klem";
|
2020-06-10 16:36:52 +02:00
|
|
|
|
config.scripts = {
|
2024-12-29 11:45:19 +01:00
|
|
|
|
"p.r paste" = pkgs.writers.writeDash "p.r" ''
|
2020-06-10 16:36:52 +02:00
|
|
|
|
${pkgs.curl}/bin/curl -fSs http://p.r --data-binary @- \
|
|
|
|
|
|
| ${pkgs.coreutils}/bin/tail --lines=1 \
|
|
|
|
|
|
| ${pkgs.gnused}/bin/sed 's/\\<r\\>/krebsco.de/'
|
|
|
|
|
|
'';
|
2024-12-29 11:45:19 +01:00
|
|
|
|
"envs.sh paste" = pkgs.writers.writeDash "envs-host" ''
|
|
|
|
|
|
${pkgs.curl}/bin/curl -F "file=@-" https://envs.sh
|
2022-11-22 11:48:09 +01:00
|
|
|
|
'';
|
2024-12-29 11:45:19 +01:00
|
|
|
|
# this segfaults
|
|
|
|
|
|
# "envs.sh mirror" = pkgs.writers.writeDash "envs-mirror" ''
|
|
|
|
|
|
# ${pkgs.curl}/bin/curl -F "url=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
|
|
|
|
|
|
# '';
|
2022-11-22 11:48:09 +01:00
|
|
|
|
"envs.sh shorten" = pkgs.writers.writeDash "envs-shorten" ''
|
|
|
|
|
|
${pkgs.curl}/bin/curl -F "shorten=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
|
|
|
|
|
|
'';
|
2024-12-29 11:45:19 +01:00
|
|
|
|
"go.r shorten" = pkgs.writers.writeDash "go.r" ''
|
2020-06-10 16:36:52 +02:00
|
|
|
|
${pkgs.curl}/bin/curl -fSs http://go.r -F "uri=$(${pkgs.coreutils}/bin/cat)"
|
|
|
|
|
|
'';
|
2024-12-29 11:45:19 +01:00
|
|
|
|
"4d2.org paste" = pkgs.writers.writeDash "4d2-paste" ''
|
|
|
|
|
|
${pkgs.curl}/bin/curl -F "file=@-" https://depot.4d2.org/
|
|
|
|
|
|
'';
|
|
|
|
|
|
"0x0.st shorten" = pkgs.writers.writeDash "0x0.st" ''
|
2020-06-10 16:36:52 +02:00
|
|
|
|
${pkgs.curl}/bin/curl -fSs https://0x0.st -F "shorten=$(${pkgs.coreutils}/bin/cat)"
|
|
|
|
|
|
'';
|
|
|
|
|
|
"rot13" = pkgs.writers.writeDash "rot13" ''
|
|
|
|
|
|
${pkgs.coreutils}/bin/tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
|
|
|
|
|
|
'';
|
|
|
|
|
|
"ipa" = pkgs.writers.writeDash "ipa" ''
|
2023-02-24 23:10:45 +01:00
|
|
|
|
${niveumPackages.ipa}/bin/ipa
|
2020-06-22 08:44:09 +02:00
|
|
|
|
'';
|
|
|
|
|
|
"betacode" = pkgs.writers.writeDash "betacode" ''
|
2023-02-24 23:10:45 +01:00
|
|
|
|
${niveumPackages.betacode}/bin/betacode
|
2020-06-10 16:36:52 +02:00
|
|
|
|
'';
|
2021-07-11 17:59:50 +02:00
|
|
|
|
"curl" = pkgs.writers.writeDash "curl" ''
|
|
|
|
|
|
${pkgs.curl}/bin/curl -fSs "$(${pkgs.coreutils}/bin/cat)"
|
|
|
|
|
|
'';
|
2022-01-06 20:16:54 +01:00
|
|
|
|
ocr = pkgs.writers.writeDash "ocr" ''
|
|
|
|
|
|
${pkgs.tesseract4}/bin/tesseract -l eng+deu - stdout
|
2022-01-05 21:37:36 +01:00
|
|
|
|
'';
|
2023-03-20 12:24:06 +01:00
|
|
|
|
emojai = pkgs.writers.writeDash "emojai" ''
|
|
|
|
|
|
${pkgs.curl}/bin/curl https://www.emojai.app/api/generate -X POST -H 'Content-Type: application/json' --data-raw "$(${pkgs.jq}/bin/jq -sR '{emoji:.}')" | ${pkgs.jq}/bin/jq -r .result
|
|
|
|
|
|
'';
|
2023-11-28 16:11:23 +01:00
|
|
|
|
"gpt-3.5" = pkgs.writers.writeDash "gpt" ''
|
|
|
|
|
|
${niveumPackages.gpt35}/bin/gpt
|
|
|
|
|
|
'';
|
|
|
|
|
|
gpt-4 = pkgs.writers.writeDash "gpt" ''
|
|
|
|
|
|
${niveumPackages.gpt4}/bin/gpt
|
2023-05-03 12:34:39 +02:00
|
|
|
|
'';
|
2020-06-10 16:36:52 +02:00
|
|
|
|
};
|
2020-06-09 21:31:58 +02:00
|
|
|
|
};
|
2020-10-30 11:05:26 +01:00
|
|
|
|
in {
|
2023-02-22 10:02:55 +01:00
|
|
|
|
age.secrets = {
|
|
|
|
|
|
github-token-i3status-rust = {
|
2023-07-04 16:28:26 +02:00
|
|
|
|
file = ../secrets/github-token-i3status-rust.age;
|
2023-02-24 23:10:45 +01:00
|
|
|
|
owner = config.users.users.me.name;
|
|
|
|
|
|
group = config.users.users.me.group;
|
2023-02-22 10:02:55 +01:00
|
|
|
|
mode = "400";
|
|
|
|
|
|
};
|
|
|
|
|
|
openweathermap-api-key = {
|
2023-07-04 16:28:26 +02:00
|
|
|
|
file = ../secrets/openweathermap-api-key.age;
|
2023-02-24 23:10:45 +01:00
|
|
|
|
owner = config.users.users.me.name;
|
|
|
|
|
|
group = config.users.users.me.group;
|
2023-02-22 10:02:55 +01:00
|
|
|
|
mode = "400";
|
|
|
|
|
|
};
|
2024-03-13 09:01:42 +01:00
|
|
|
|
miniflux-api-token = {
|
|
|
|
|
|
file = ../secrets/miniflux-api-token.age;
|
|
|
|
|
|
owner = config.users.users.me.name;
|
|
|
|
|
|
group = config.users.users.me.group;
|
|
|
|
|
|
mode = "400";
|
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
|
};
|
|
|
|
|
|
|
2023-03-21 19:13:48 +01:00
|
|
|
|
programs.slock.enable = true;
|
|
|
|
|
|
|
2024-03-15 09:06:24 +01:00
|
|
|
|
environment.systemPackages = [dashboard];
|
|
|
|
|
|
|
2024-06-03 07:27:01 +02:00
|
|
|
|
services.displayManager.defaultSession = "none+i3";
|
2019-04-19 03:11:51 +02:00
|
|
|
|
services.xserver = {
|
2020-04-10 14:52:28 +02:00
|
|
|
|
windowManager.i3 = {
|
|
|
|
|
|
enable = true;
|
2023-08-06 18:58:48 +02:00
|
|
|
|
package = pkgs.i3-gaps;
|
2020-04-10 14:52:28 +02:00
|
|
|
|
};
|
2019-04-19 03:11:51 +02:00
|
|
|
|
};
|
|
|
|
|
|
|
2025-07-08 20:56:40 +02:00
|
|
|
|
security.pam.services.swaylock = {};
|
|
|
|
|
|
|
2021-01-18 18:32:16 +01:00
|
|
|
|
services.xserver = {
|
|
|
|
|
|
monitorSection = ''Option "DPMS" "false"'';
|
|
|
|
|
|
serverFlagsSection = ''
|
|
|
|
|
|
Option "BlankTime" "0"
|
|
|
|
|
|
Option "StandbyTime" "0"
|
|
|
|
|
|
Option "SuspendTime" "0"
|
|
|
|
|
|
Option "OffTime" "0"
|
|
|
|
|
|
'';
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
|
Section "Extensions"
|
|
|
|
|
|
Option "DPMS" "Disable"
|
|
|
|
|
|
EndSection
|
|
|
|
|
|
'';
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2024-03-03 15:03:04 +01:00
|
|
|
|
home-manager.users.me = let
|
2023-03-24 17:04:34 +01:00
|
|
|
|
modifier = "Mod4";
|
2024-03-13 09:01:42 +01:00
|
|
|
|
infoWorkspace = "ℹ";
|
2024-03-30 23:11:03 +01:00
|
|
|
|
messageWorkspace = "✉";
|
2024-03-03 15:03:04 +01:00
|
|
|
|
modes.resize = {
|
|
|
|
|
|
"Escape" = ''mode "default"'';
|
|
|
|
|
|
"Return" = ''mode "default"'';
|
|
|
|
|
|
"h" = "resize shrink width 10 px or 5 ppt";
|
|
|
|
|
|
"j" = "resize grow height 10 px or 5 ppt";
|
|
|
|
|
|
"k" = "resize shrink height 10 px or 5 ppt";
|
|
|
|
|
|
"l" = "resize grow width 10 px or 5 ppt";
|
|
|
|
|
|
};
|
|
|
|
|
|
gaps.inner = 4;
|
|
|
|
|
|
floating = {
|
|
|
|
|
|
titlebar = false;
|
|
|
|
|
|
border = 1;
|
|
|
|
|
|
};
|
|
|
|
|
|
bars = [
|
|
|
|
|
|
(config.home-manager.users.me.lib.stylix.i3.bar
|
|
|
|
|
|
// rec {
|
2024-03-13 09:01:42 +01:00
|
|
|
|
workspaceButtons = true;
|
2024-03-14 18:19:11 +01:00
|
|
|
|
mode = "hide"; # "dock";
|
2024-03-03 15:03:04 +01:00
|
|
|
|
position = "bottom";
|
|
|
|
|
|
statusCommand = toString (pkgs.writers.writeDash "i3status-rust" ''
|
|
|
|
|
|
export I3RS_GITHUB_TOKEN="$(cat ${config.age.secrets.github-token-i3status-rust.path})"
|
|
|
|
|
|
export OPENWEATHERMAP_API_KEY="$(cat ${config.age.secrets.openweathermap-api-key.path})"
|
2024-03-13 09:01:42 +01:00
|
|
|
|
exec ${config.home-manager.users.me.programs.i3status-rust.package}/bin/i3status-rs ${config.home-manager.users.me.home.homeDirectory}/.config/i3status-rust/config-${position}.toml
|
2024-03-03 15:03:04 +01:00
|
|
|
|
'');
|
|
|
|
|
|
fonts = {
|
|
|
|
|
|
names = ["${config.stylix.fonts.sansSerif.name}" "FontAwesome 6 Free"];
|
|
|
|
|
|
size = config.stylix.fonts.sizes.desktop * 0.8;
|
|
|
|
|
|
};
|
|
|
|
|
|
})
|
|
|
|
|
|
];
|
|
|
|
|
|
window = {
|
|
|
|
|
|
titlebar = false;
|
|
|
|
|
|
border = 2;
|
|
|
|
|
|
hideEdgeBorders = "smart";
|
|
|
|
|
|
commands = [
|
|
|
|
|
|
{
|
|
|
|
|
|
criteria = {class = "floating";};
|
|
|
|
|
|
command = "floating enable";
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
criteria = {class = "fzfmenu";};
|
|
|
|
|
|
command = "floating enable";
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
criteria = {class = ".*";};
|
|
|
|
|
|
command = "border pixel 2";
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
criteria = {class = "mpv";};
|
|
|
|
|
|
command = lib.strings.concatStringsSep ", " [
|
|
|
|
|
|
"floating enable"
|
|
|
|
|
|
"sticky enable"
|
|
|
|
|
|
"fullscreen disable"
|
|
|
|
|
|
"resize set 640 480"
|
|
|
|
|
|
"move position mouse"
|
|
|
|
|
|
];
|
|
|
|
|
|
}
|
2022-03-10 21:52:12 +01:00
|
|
|
|
];
|
2024-03-03 15:03:04 +01:00
|
|
|
|
};
|
|
|
|
|
|
colors = let
|
|
|
|
|
|
background = config.lib.stylix.colors.withHashtag.base00;
|
|
|
|
|
|
in {
|
2024-07-29 08:01:44 +02:00
|
|
|
|
unfocused = {
|
|
|
|
|
|
border = lib.mkForce background;
|
|
|
|
|
|
childBorder = lib.mkForce background;
|
|
|
|
|
|
};
|
2024-03-03 15:03:04 +01:00
|
|
|
|
};
|
2024-03-13 09:01:42 +01:00
|
|
|
|
keybindings =
|
|
|
|
|
|
lib.listToAttrs (map (x: lib.nameValuePair "${modifier}+Shift+${toString x}" "move container to workspace ${toString x}") (lib.range 1 9))
|
|
|
|
|
|
// lib.listToAttrs (map (x: lib.nameValuePair "${modifier}+${toString x}" "workspace ${toString x}") (lib.range 1 9))
|
|
|
|
|
|
// {
|
2024-03-30 23:11:03 +01:00
|
|
|
|
"${modifier}+i" = "workspace ${infoWorkspace}";
|
|
|
|
|
|
"${modifier}+m" = "workspace ${messageWorkspace}";
|
2020-04-15 14:56:57 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+Shift+h" = "move left 25 px";
|
|
|
|
|
|
"${modifier}+Shift+j" = "move down 25 px";
|
|
|
|
|
|
"${modifier}+Shift+k" = "move up 25 px";
|
|
|
|
|
|
"${modifier}+Shift+l" = "move right 25 px";
|
|
|
|
|
|
"${modifier}+h" = "focus left";
|
|
|
|
|
|
"${modifier}+j" = "focus down";
|
|
|
|
|
|
"${modifier}+k" = "focus up";
|
|
|
|
|
|
"${modifier}+l" = "focus right";
|
2020-04-15 14:56:57 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
# "${modifier}+Shift+b" = "move container to workspace prev";
|
|
|
|
|
|
# "${modifier}+Shift+n" = "move container to workspace next";
|
|
|
|
|
|
# "${modifier}+b" = "workspace prev";
|
|
|
|
|
|
# "${modifier}+n" = "workspace next";
|
2021-09-17 20:49:19 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+Shift+c" = "reload";
|
|
|
|
|
|
"${modifier}+Shift+q" = "kill";
|
|
|
|
|
|
"${modifier}+Shift+r" = "restart";
|
2021-09-17 20:49:19 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+z" = "sticky toggle";
|
|
|
|
|
|
"${modifier}+Shift+z" = "floating toggle";
|
2020-04-15 14:56:57 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+Shift+s" = "move scratchpad";
|
2024-03-30 23:11:03 +01:00
|
|
|
|
"${modifier}+s" = ''[class="^(?i)(?!obsidian).*"] scratchpad show'';
|
2024-03-15 09:06:15 +01:00
|
|
|
|
"${modifier}+o" = ''[class="obsidian"] scratchpad show'';
|
2020-04-15 14:56:57 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+c" = "split h";
|
|
|
|
|
|
"${modifier}+e" = "layout toggle split";
|
|
|
|
|
|
"${modifier}+f" = "fullscreen toggle";
|
|
|
|
|
|
"${modifier}+r" = "mode resize";
|
|
|
|
|
|
"${modifier}+v" = "split v";
|
|
|
|
|
|
"${modifier}+w" = "layout tabbed";
|
|
|
|
|
|
"${modifier}+q" = "exec ${config.services.clipmenu.package}/bin/clipmenu";
|
2020-04-15 14:56:57 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+Return" = "exec ${(defaultApplications pkgs).terminal}";
|
|
|
|
|
|
"${modifier}+t" = "exec ${(defaultApplications pkgs).fileManager}";
|
|
|
|
|
|
"${modifier}+y" = "exec ${(defaultApplications pkgs).browser}";
|
2020-04-13 11:58:56 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+d" = "exec ${pkgs.writers.writeDash "run" ''exec rofi -modi run,ssh,window -show run''}";
|
|
|
|
|
|
"${modifier}+Shift+d" = "exec ${niveumPackages.notemenu}/bin/notemenu";
|
|
|
|
|
|
"${modifier}+p" = "exec rofi-pass";
|
|
|
|
|
|
"${modifier}+Shift+p" = "exec rofi-pass --insert";
|
|
|
|
|
|
"${modifier}+u" = "exec ${niveumPackages.unicodmenu}/bin/unicodmenu";
|
2024-07-10 10:39:45 +02:00
|
|
|
|
"${modifier}+Shift+u" = "exec ${pkgs.writers.writeDash "last-unicode" ''${pkgs.xdotool}/bin/xdotool type --delay 1000 "$(${pkgs.gawk}/bin/awk 'END{print $1}' ~/.cache/unicodmenu)"''}";
|
2020-09-09 09:35:50 +02:00
|
|
|
|
|
2024-03-13 09:01:42 +01:00
|
|
|
|
"${modifier}+F7" = "exec ${pkgs.writers.writeDash "showkeys-toggle" ''
|
|
|
|
|
|
if ${pkgs.procps}/bin/pgrep screenkey; then
|
|
|
|
|
|
exec ${pkgs.procps}/bin/pkill screenkey
|
|
|
|
|
|
else
|
|
|
|
|
|
exec ${pkgs.screenkey}/bin/screenkey
|
|
|
|
|
|
fi
|
|
|
|
|
|
''}";
|
|
|
|
|
|
"${modifier}+F12" = "exec ${klem}/bin/klem";
|
|
|
|
|
|
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
|
|
|
|
|
|
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
|
|
|
|
|
|
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
|
|
|
|
|
|
"XF86Calculator" = "exec ${pkgs.st}/bin/st -c floating -e ${pkgs.bc}/bin/bc";
|
|
|
|
|
|
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
|
|
|
|
|
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
|
|
|
|
|
|
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
|
|
|
|
|
|
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
|
|
|
|
|
|
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
|
|
|
|
|
|
"XF86ScreenSaver" = "exec ${niveumPackages.k-lock}/bin/k-lock";
|
|
|
|
|
|
|
|
|
|
|
|
# key names detected with xorg.xev:
|
|
|
|
|
|
# XF86WakeUp (fn twice)
|
|
|
|
|
|
# XF86Battery (fn f3)
|
|
|
|
|
|
# XF86Sleep (fn f4) - actually suspends
|
|
|
|
|
|
# XF86WLAN
|
|
|
|
|
|
# XF86WebCam (fn f6)
|
|
|
|
|
|
# XF86TouchpadToggle (fn f8)
|
|
|
|
|
|
# XF86Suspend (fn f12) - actually suspends to disk
|
|
|
|
|
|
# Num_Lock (fn Roll) - numlocks
|
|
|
|
|
|
# XF86Audio{Prev,Next,Mute,Play,Stop}
|
|
|
|
|
|
# XF86Forward
|
|
|
|
|
|
# XF86Back
|
|
|
|
|
|
# XF86Launch1 (thinkvantage)
|
|
|
|
|
|
};
|
2024-03-03 15:03:04 +01:00
|
|
|
|
in {
|
2025-07-08 20:56:40 +02:00
|
|
|
|
programs.swaylock.enable = true;
|
|
|
|
|
|
|
2024-03-03 15:03:04 +01:00
|
|
|
|
wayland.windowManager.sway = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
config = {
|
|
|
|
|
|
menu = "rofi -modi run,ssh,window -show run";
|
|
|
|
|
|
inherit modifier modes gaps bars floating window colors keybindings;
|
|
|
|
|
|
input = {
|
|
|
|
|
|
"*" = {
|
|
|
|
|
|
xkb_layout = "de";
|
|
|
|
|
|
xkb_variant = "T3";
|
|
|
|
|
|
};
|
2025-07-08 20:56:40 +02:00
|
|
|
|
"type:keyboard" = {
|
|
|
|
|
|
repeat_rate = "50";
|
|
|
|
|
|
};
|
|
|
|
|
|
"type:touchpad" = {
|
|
|
|
|
|
dwt = "enabled";
|
|
|
|
|
|
dwtp = "enabled";
|
|
|
|
|
|
tap = "enabled";
|
|
|
|
|
|
tap_button_map = "lrm";
|
|
|
|
|
|
};
|
2024-03-03 15:03:04 +01:00
|
|
|
|
};
|
|
|
|
|
|
terminal = (defaultApplications pkgs).terminal;
|
|
|
|
|
|
up = "k";
|
|
|
|
|
|
down = "j";
|
|
|
|
|
|
left = "h";
|
|
|
|
|
|
right = "l";
|
|
|
|
|
|
seat = {
|
|
|
|
|
|
"*" = {
|
|
|
|
|
|
hide_cursor = "when-typing enable";
|
|
|
|
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|
|
startup = [
|
|
|
|
|
|
{command = "echo hello";}
|
|
|
|
|
|
];
|
2019-04-19 03:11:51 +02:00
|
|
|
|
};
|
|
|
|
|
|
};
|
2024-03-03 15:03:04 +01:00
|
|
|
|
|
2025-07-11 11:31:00 +02:00
|
|
|
|
services.gammastep = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
provider = "geoclue2";
|
|
|
|
|
|
tray = true;
|
|
|
|
|
|
temperature.night = 1500;
|
|
|
|
|
|
temperature.day = 6500;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2024-03-03 15:03:04 +01:00
|
|
|
|
xsession.windowManager.i3 = {
|
|
|
|
|
|
enable = true;
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
|
bindsym --release ${modifier}+Shift+w exec /run/wrappers/bin/slock
|
2024-03-15 09:06:15 +01:00
|
|
|
|
|
|
|
|
|
|
exec "${pkgs.obsidian}/bin/obsidian"
|
|
|
|
|
|
for_window [class="obsidian"] , move scratchpad
|
|
|
|
|
|
|
2024-03-30 23:11:03 +01:00
|
|
|
|
assign [class="message"] ${messageWorkspace}
|
|
|
|
|
|
exec "${pkgs.writers.writeDash "irc" "exec ${pkgs.alacritty}/bin/alacritty --class message -e ssh weechat@makanek -t tmux attach-session -t IM"}"
|
|
|
|
|
|
exec "${pkgs.writers.writeDash "email" "exec ${pkgs.alacritty}/bin/alacritty --class message -e aerc"}"
|
2024-03-24 12:40:01 +01:00
|
|
|
|
|
2025-05-21 10:45:44 +02:00
|
|
|
|
assign [class="dashboard"] ${infoWorkspace}
|
2024-03-15 09:06:24 +01:00
|
|
|
|
exec ${dashboard}/bin/dashboard
|
2024-03-03 15:03:04 +01:00
|
|
|
|
'';
|
|
|
|
|
|
config = lib.mkMerge [
|
|
|
|
|
|
{
|
|
|
|
|
|
inherit modifier gaps modes bars floating window colors keybindings;
|
|
|
|
|
|
}
|
|
|
|
|
|
{
|
|
|
|
|
|
keybindings = let
|
|
|
|
|
|
new-workspace = pkgs.writers.writeDash "new-workspace" ''
|
|
|
|
|
|
i3-msg workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
|
|
|
|
|
|
'';
|
|
|
|
|
|
move-to-new-workspace = pkgs.writers.writeDash "new-workspace" ''
|
|
|
|
|
|
i3-msg move container to workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
|
|
|
|
|
|
'';
|
|
|
|
|
|
in {
|
2024-04-23 20:39:51 +02:00
|
|
|
|
"${modifier}+ß" = "exec ${niveumPackages.menu-calc}/bin/=";
|
2024-03-03 15:03:04 +01:00
|
|
|
|
"${modifier}+F6" = "exec ${pkgs.xorg.xkill}/bin/xkill";
|
|
|
|
|
|
"${modifier}+F9" = "exec ${pkgs.redshift}/bin/redshift -O 4000 -b 0.85";
|
|
|
|
|
|
"${modifier}+F10" = "exec ${pkgs.redshift}/bin/redshift -x";
|
|
|
|
|
|
"${modifier}+F11" = "exec ${pkgs.xcalib}/bin/xcalib -invert -alter";
|
|
|
|
|
|
"Print" = "exec flameshot gui";
|
2024-03-13 09:01:42 +01:00
|
|
|
|
# "${modifier}+Shift+x" = "exec ${move-to-new-workspace}";
|
|
|
|
|
|
# "${modifier}+x" = "exec ${new-workspace}";
|
2024-03-03 15:03:04 +01:00
|
|
|
|
"XF86Display" = "exec ${niveumPackages.dmenu-randr}/bin/dmenu-randr";
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
];
|
|
|
|
|
|
};
|
2019-04-19 03:11:51 +02:00
|
|
|
|
};
|
|
|
|
|
|
}
|