Compare commits
3 Commits
4014ed0318
...
6305d9ca2e
| Author | SHA1 | Date | |
|---|---|---|---|
|
6305d9ca2e
|
|||
|
887f7db0c7
|
|||
|
d8dbdbc5de
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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"];
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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 */
|
||||||
|
|||||||
Reference in New Issue
Block a user