Add docker and fish to murk

Fix i3status
This commit is contained in:
muon 2025-08-05 08:34:53 +00:00
parent 0b2342ff13
commit 6478868ff0
2 changed files with 153 additions and 135 deletions

View file

@ -1,7 +1,14 @@
{ pkgs, lib, config, osConfig, inputs, ... }:
let cfg = osConfig.mods;
{
pkgs,
lib,
config,
osConfig,
inputs,
...
}: let
cfg = osConfig.mods;
in {
imports = [ inputs.impermanence.homeManagerModules.impermanence ];
imports = [inputs.impermanence.homeManagerModules.impermanence];
# Modules
mods.xdg.enable = true;
@ -20,11 +27,12 @@ in {
pulseaudio
pavucontrol
alsa-utils
docker
fish
]
# Non-free </3
++ [ google-cloud-sdk ];
++ [google-cloud-sdk];
# Hardware preferences
## Monitors

View file

@ -1,9 +1,14 @@
{ pkgs, lib, config, osConfig, ... }:
let
{
pkgs,
lib,
config,
osConfig,
...
}: let
fsss = with pkgs;
writeShellApplication {
name = "fsss";
runtimeInputs = [ flameshot curl xsel ];
runtimeInputs = [flameshot curl xsel];
text = ''
flameshot gui -r -s > /tmp/ss.png;if [ ! -s /tmp/ss.png ]; then
exit 1
@ -12,7 +17,8 @@ let
curl -H "authorization: $AUTH" https://share.muon.host/api/upload -F file=@/tmp/ss.png -H "Content-Type: multipart/form-data" -H "Format: date" -H "Image-Compression-Percent: 90" -H "No-JSON: true" | tr -d '\n' | xsel -ib;
'';
};
in with lib; {
in
with lib; {
options.mods.i3.enable = mkEnableOption "enables i3";
options.mods.battery.enable = mkEnableOption "enables battery";
@ -27,26 +33,28 @@ in with lib; {
blocks = lib.mkBefore [
{
block = "privacy";
driver = [ { name = "v4l"; } { name = "pipewire"; } ];
}
{
block = "net";
format = " $icon ";
inactive_format = " $icon ";
driver = [{name = "v4l";} {name = "pipewire";}];
}
# {
# block = "net";
# format = " $icon ";
# inactive_format = " $icon ";
# }
];
}
(lib.mkIf config.mods.battery.enable {
blocks = [{
blocks = [
{
block = "battery";
format = " $icon $percentage ";
# format_alt =
# " $icon $percentage {$time_remaining.dur(hms:true, min_unit:m) |}";
}];
}
];
})
{
settings.theme.overrides = lib.mkMerge [
{ separator = ""; }
{separator = "";}
config.lib.stylix.i3status-rust.bar
];
icons = "awesome5";
@ -54,10 +62,12 @@ in with lib; {
{
block = "sound";
format = " $icon {$volume |} ";
click = [{
click = [
{
button = "left";
cmd = "${lib.getExe pkgs.pavucontrol}";
}];
}
];
}
{
block = "time";
@ -75,7 +85,6 @@ in with lib; {
wsAmount = 10;
genSpaces = f: map builtins.toString (builtins.genList f wsAmount);
workspaces = genSpaces (x: x + 1);
in {
enable = true;
config = {
@ -97,41 +106,41 @@ in with lib; {
# }];
assigns = {
"2" = [{ class = "Vesktop"; }];
"3" = [{ class = "^Steam$"; }];
"2" = [{class = "Vesktop";}];
"3" = [{class = "^Steam$";}];
};
keybindings = let
# modKeyComb: string -> valueAction: string
# -> keys: [string] -> values: [string]
# -> keybindings: attrSet { string -> string }
zipBinds = comb: action: keys: values:
(builtins.listToAttrs (zipListsWith (k: v: {
zipBinds = comb: action: keys: values: (builtins.listToAttrs (zipListsWith (k: v: {
name = "${modifier}${comb}${k}";
value = "${action} ${v}";
}) keys values));
})
keys
values));
moveKeys = [ "h" "j" "k" "l" ];
moveDirs = [ "left" "down" "up" "right" ];
moveKeys = ["h" "j" "k" "l"];
moveDirs = ["left" "down" "up" "right"];
workspKeys = genSpaces (x: mod (x + 1) wsAmount);
in mkOptionDefault ((zipBinds "+" "focus" moveKeys moveDirs)
in
mkOptionDefault ((zipBinds "+" "focus" moveKeys moveDirs)
// (zipBinds "+Shift+" "move" moveKeys moveDirs)
// (zipBinds "+" "workspace number" workspKeys workspaces)
// (zipBinds "+Shift+" "move container to workspace number" workspKeys
workspaces) // {
"XF86AudioRaiseVolume" =
"exec --no-startup-id pactl set-sink-volume 0 +2%";
"XF86AudioLowerVolume" =
"exec --no-startup-id pactl set-sink-volume 0 -2%";
workspaces)
// {
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume 0 +2%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume 0 -2%";
"Print" = "exec ${getExe fsss}";
});
bars = let
status_conf =
"${config.xdg.configHome}/i3status-rust/config-default.toml";
stylix_bar = {
status_conf = "${config.xdg.configHome}/i3status-rust/config-default.toml";
stylix_bar =
{
mode = "dock";
hiddenState = "hide";
position = "bottom";
@ -140,9 +149,10 @@ in with lib; {
workspaceButtons = true;
workspaceNumbers = true;
trayOutput = "primary";
} // config.lib.stylix.i3.bar;
in [ stylix_bar ];
}
// config.lib.stylix.i3.bar;
in [stylix_bar];
};
};
};
}
}