1

Compare commits

..

3 Commits

4 changed files with 66 additions and 54 deletions

View File

@ -107,7 +107,7 @@ in
enable = !headless; enable = !headless;
}; };
waybar.enable = false; waybar.enable = !headless;
yazi.enable = true; yazi.enable = true;
zathura.enable = !headless; zathura.enable = !headless;
}; };

View File

@ -77,6 +77,7 @@ in {
typstyle typstyle
mbake mbake
just-formatter just-formatter
tombi
]) ])
[ [
@ -526,6 +527,7 @@ in {
qml = ["qmlformat"]; qml = ["qmlformat"];
rust = ["rustfmt"]; rust = ["rustfmt"];
svelte = ["prettierd" "prettier"]; svelte = ["prettierd" "prettier"];
toml = ["tombi"];
typescript = ["prettierd" "prettier"]; typescript = ["prettierd" "prettier"];
typst = ["typstyle"]; typst = ["typstyle"];
}; };

View File

@ -53,15 +53,30 @@ in {
}; };
}; };
# Disable niri polkit if we use DMS, as it has its own # Disable Niri's kde auth agent and start gnome auth agent instead
systemd.user.services.niri-flake-polkit = lib.mkForce {}; systemd.user.services.niri-flake-polkit = lib.mkForce {};
systemd.user.services.polkit-gnome-authentication-agent-1 = {
Unit = {
Description = "polkit-gnome-authentication-agent-1";
Wants = ["graphical-session.target"];
After = ["graphical-session.target"];
};
Install = {
WantedBy = ["graphical-session.target"];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
home = { home = {
file = { file = {
# Link theme for flatpak # Link theme for flatpak
".themes/${config.gtk.theme.name}".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}"; ".themes/${config.gtk.theme.name}".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}";
".config/ashell/config.toml".source = config.lib.file.mkOutOfStoreSymlink "${config.paths.dotfiles}/ashell/config.toml";
}; };
sessionVariables = { sessionVariables = {
@ -82,8 +97,6 @@ in {
# ncpamixer # Audio control # ncpamixer # Audio control
wiremix # Audio control wiremix # Audio control
ashell # Wayland bar
# GTK apps (look good and work well with xdg portals) # GTK apps (look good and work well with xdg portals)
nautilus # Fallback file chooser used by xdg-desktop-portal-gnome nautilus # Fallback file chooser used by xdg-desktop-portal-gnome
@ -141,9 +154,7 @@ in {
prefer-no-csd = true; # Disable client-side decorations (e.g. window titlebars) prefer-no-csd = true; # Disable client-side decorations (e.g. window titlebars)
spawn-at-startup = [ spawn-at-startup = [
# TODO: Depend on options {argv = ["ashell" "-c" "${config.paths.dotfiles}/ashell/config.toml"];}
# {argv = ["noctalia-shell"];}
{argv = ["dms" "run"];}
{argv = ["kitty" "--hold" "fastfetch"];} {argv = ["kitty" "--hold" "fastfetch"];}
{argv = ["fcitx5"];} {argv = ["fcitx5"];}
@ -330,14 +341,9 @@ in {
layer-rules = [ layer-rules = [
{ {
# Set the overview wallpaper on the backdrop (Noctalia). # Waybar rounded corners background clipping fix
matches = [{namespace = "^noctalia-overview*";}]; matches = [{namespace = "waybar";}];
place-within-backdrop = true; opacity = 0.99;
}
{
# Set the overview wallpaper on the backdrop (DMS).
matches = [{namespace = "^dms:blurwallpaper$";}];
place-within-backdrop = true;
} }
]; ];
@ -346,8 +352,6 @@ in {
honor-xdg-activation-with-invalid-serial = []; honor-xdg-activation-with-invalid-serial = [];
}; };
# TODO: Only start hypr... stuff with hyprland, not systemd (hypridle, hyprpaper currently)
# TODO: Move values to config option and set in home/christoph/niri.nix # TODO: Move values to config option and set in home/christoph/niri.nix
binds = with config.lib.niri.actions; { binds = with config.lib.niri.actions; {
# Applications # Applications

View File

@ -28,7 +28,7 @@ in {
modules-right = ["pulseaudio" "network" "cpu" "memory" "temperature" "clock" "tray"]; modules-right = ["pulseaudio" "network" "cpu" "memory" "temperature" "clock" "tray"];
"custom/launcher" = { "custom/launcher" = {
format = "<span></span>"; format = "<span></span>";
interval = "once"; interval = "once";
on-click = "rofi -drun-show-actions -show drun"; on-click = "rofi -drun-show-actions -show drun";
}; };
@ -43,90 +43,94 @@ in {
}; };
"pulseaudio" = { "pulseaudio" = {
format = "<span></span> {volume}%"; format = "<span>󰕾</span> {volume}%";
format-muted = "<span></span> "; format-muted = "<span>󰝟</span> ";
on-click = "kitty ncpamixer -t o"; on-click = "kitty ncpamixer -t o";
}; };
"network" = { "network" = {
format = "<span></span> {ipaddr}"; format = "<span>󰌀</span> {ipaddr}";
format-disconnected = "<span></span> "; format-disconnected = "<span></span> ";
interface = "enp8s0"; interface = "enp8s0";
tooltip-format = "{ifname} via {gwaddr}"; tooltip-format = "{ifname} via {gwaddr}";
}; };
cpu = { cpu = {
format = "<span></span> {load}%"; format = "<span></span> {load}%";
}; };
memory = { memory = {
format = "<span></span> {percentage}%"; format = "<span></span> {percentage}%";
}; };
temperature = { temperature = {
format = "<span></span> {temperatureC}°C"; format = "<span></span> {temperatureC}°C";
thermal-zone = 3; thermal-zone = 3;
}; };
clock = { clock = {
format = "<span></span> {:%H:%M}"; format = "<span>󰥔</span> {:%H:%M}";
timezone = "Europe/Berlin"; timezone = "Europe/Berlin";
tooltip-format = "<tt><small>{calendar}</small></tt>"; tooltip-format = "<tt><small>{calendar}</small></tt>";
}; };
tray = { tray = {
icon-size = 20; icon-size = 22;
show-passive-items = true; show-passive-items = true;
spacing = 5; spacing = 5;
}; };
}; };
}; };
style = '' style = let
border-width = "2px";
border-radius = "10px";
in ''
/* Order is Top-Right-Bottom-Left for combined properties */ /* Order is Top-Right-Bottom-Left for combined properties */
* { * {
color: #${color.hex.dark.base};
font-family: ${color.font}; font-family: ${color.font};
font-weight: bold;
} }
window#waybar { window#waybar {
border-style: solid; border-style: solid;
border-width: 2px; border-width: ${border-width};
border-radius: 6px; border-radius: ${border-radius};
border-color: #${color.hex.dark.lavender}; border-color: #${color.hex.accent};
background-color: rgba(${color.rgbString.light.base}, 0.3); background-color: rgba(${color.rgbS.mantle}, 1.0);
} }
tooltip { tooltip {
border-style: solid; color: #${color.hex.text};
border-width: 2px;
border-radius: 6px;
border-color: #${color.hex.dark.lavender};
background-color: rgba(${color.rgbString.light.base}, 0.7);
font-weight: normal; font-weight: normal;
border-style: solid;
border-width: ${border-width};
border-radius: ${border-radius};
border-color: #${color.hex.accent};
background-color: rgba(${color.rgbS.mantle}, 1.0);
} }
/* Background colors */ /* Background colors */
#custom-launcher {background-color: #${color.hex.dark.lavender};} #custom-launcher {background-color: #${color.hex.accent};}
#user {background-color: #${color.hex.dark.pink};} #user {background-color: #${color.hex.pink};}
#window {background-color: #${color.hex.dark.mauve};} #window {background-color: #${color.hex.mauve};}
#workspaces button {background-color: #${color.hex.dark.lavender};} #workspaces button {background-color: #${color.hex.lavender};}
#workspaces button.active {background-color: #${color.hex.dark.pink};} #workspaces button.active {background-color: #${color.hex.pink};}
#pulseaudio {background-color: #${color.hex.dark.maroon};} #pulseaudio {background-color: #${color.hex.maroon};}
#network {background-color: #${color.hex.dark.peach};} #network {background-color: #${color.hex.peach};}
#cpu {background-color: #${color.hex.dark.yellow};} #cpu {background-color: #${color.hex.yellow};}
#memory {background-color: #${color.hex.dark.green};} #memory {background-color: #${color.hex.green};}
#temperature {background-color: #${color.hex.dark.teal};} #temperature {background-color: #${color.hex.teal};}
#clock {background-color: #${color.hex.dark.sky};} #clock {background-color: #${color.hex.sky};}
#tray {background-color: #${color.hex.dark.lavender};} #tray {background-color: #${color.hex.accent};}
/* Square Widgets */ /* Square Widgets */
#custom-launcher, #custom-launcher,
#workspaces button, #workspaces button,
#tray { #tray {
color: #${color.hex.mantle};
font-weight: bold;
padding: 0px 10px 0px 10px; padding: 0px 10px 0px 10px;
border-radius: 6px; border-radius: ${border-radius};
} }
/* Rectangle Widgets */ /* Rectangle Widgets */
@ -138,9 +142,11 @@ in {
#memory, #memory,
#temperature, #temperature,
#clock { #clock {
color: #${color.hex.mantle};
font-weight: bold;
padding: 0px 10px 0px 10px; padding: 0px 10px 0px 10px;
margin: 8px 5px 8px 5px; margin: 8px 5px 8px 5px;
border-radius: 6px; border-radius: ${border-radius};
} }
/* Make window module transparent when no windows present */ /* Make window module transparent when no windows present */