1

Compare commits

...

3 Commits

4 changed files with 66 additions and 54 deletions

View File

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

View File

@ -77,6 +77,7 @@ in {
typstyle
mbake
just-formatter
tombi
])
[
@ -526,6 +527,7 @@ in {
qml = ["qmlformat"];
rust = ["rustfmt"];
svelte = ["prettierd" "prettier"];
toml = ["tombi"];
typescript = ["prettierd" "prettier"];
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.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 = {
file = {
# Link theme for flatpak
".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 = {
@ -82,8 +97,6 @@ in {
# ncpamixer # Audio control
wiremix # Audio control
ashell # Wayland bar
# GTK apps (look good and work well with xdg portals)
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)
spawn-at-startup = [
# TODO: Depend on options
# {argv = ["noctalia-shell"];}
{argv = ["dms" "run"];}
{argv = ["ashell" "-c" "${config.paths.dotfiles}/ashell/config.toml"];}
{argv = ["kitty" "--hold" "fastfetch"];}
{argv = ["fcitx5"];}
@ -330,14 +341,9 @@ in {
layer-rules = [
{
# Set the overview wallpaper on the backdrop (Noctalia).
matches = [{namespace = "^noctalia-overview*";}];
place-within-backdrop = true;
}
{
# Set the overview wallpaper on the backdrop (DMS).
matches = [{namespace = "^dms:blurwallpaper$";}];
place-within-backdrop = true;
# Waybar rounded corners background clipping fix
matches = [{namespace = "waybar";}];
opacity = 0.99;
}
];
@ -346,8 +352,6 @@ in {
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
binds = with config.lib.niri.actions; {
# Applications

View File

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