Compare commits

...

22 Commits

Author SHA1 Message Date
598a7f2b45 fix: prefix color codes with '#' in mako config to fix parsing errors 2025-05-25 14:36:48 +02:00
f9192a65c4 25.05 ish 2025-05-25 12:31:52 +02:00
827d659160 feat: add gnome-themes-extra package to colors.nix for GTK theme support 2025-05-25 11:52:09 +02:00
c9db00532e style: remove redundant line in colors.nix theme package assignment 2025-05-25 11:52:07 +02:00
0755352a2e refactor: switch network status update to click-based cycling and remove polling interval 2025-05-25 11:18:50 +02:00
49bdc108e7 fix: correct color codes in markup and add wifi/ethernet glyphs to network formats 2025-05-25 11:17:05 +02:00
114648a9d2 style: remove redundant network tooltip styling in waybar config 2025-05-25 11:17:03 +02:00
10aed5245b fix: replace invalid 'max-width' with 'width' in GTK CSS tooltip style 2025-05-25 11:09:54 +02:00
a111590e39 fix: remove malformed comment block causing CSS parse error in waybar config 2025-05-25 11:08:12 +02:00
1b9e2a6b75 fix: remove invalid comment from JSON in waybar.nix to fix parse error 2025-05-25 11:05:23 +02:00
6efd73e6aa feat: add custom launcher and enhance network and clock modules with tooltips and styling 2025-05-25 11:05:22 +02:00
4e365a5e5c feat: add rounded corners, center window, and enlarge icons in config 2025-05-25 11:02:13 +02:00
cd7df6f38b style: apply b16 colorscheme to fuzzel configuration 2025-05-25 11:01:12 +02:00
b8fad8d4b4 feat: add fuzzel config and import it in niri.nix 2025-05-25 10:59:54 +02:00
a11050f6e5 refactor: update niri config for window proportions, bindings, and cleanup fonts 2025-05-25 10:59:53 +02:00
957facbd5d fix: import 0xproto font from pkgs.nerd-fonts in fonts.nix configuration 2025-05-24 23:59:18 +02:00
9a58df54ff fix: add 0xproto back to monospace default fonts list 2025-05-24 23:58:32 +02:00
eaa7e26cdc fix: remove missing 0xproto font from monospace fontconfig list 2025-05-24 23:57:01 +02:00
0a63318ddc feat: add common font configuration and packages for home environment 2025-05-24 23:57:00 +02:00
cc72effdce fix: Remove nixpkgs config and update kate alias in configurations 2025-05-24 03:30:24 +02:00
6e96f4749f fix: Update renamed options in mako, vscode, and pulseaudio configurations 2025-05-24 03:28:51 +02:00
c15d8f03c9 fix: Reduce default timeout from 5000ms to 3000ms in configuration 2025-05-24 03:28:50 +02:00
22 changed files with 245 additions and 349 deletions

2
.gitignore vendored
View File

@@ -3,3 +3,5 @@
./secrets/secrets.yaml.priv
./secrets/secrets.priv.yaml.gpg
.aider*
.env

View File

@@ -2,10 +2,10 @@
description = "My System flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-colors.url = "github:misterio77/nix-colors";

View File

@@ -1,23 +1,28 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [
nerdfonts
home.packages = with pkgs; [
nerd-fonts._0xproto
_0xproto
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
noto-fonts-color-emoji
noto-fonts-emoji-blob-bin
unicode-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
nerd-fonts._0xproto
]++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
];
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {

View File

@@ -10,12 +10,6 @@
enable = true;
};
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
programs.bash = {
enable = true;

View File

@@ -2,12 +2,12 @@
programs.vscode = {
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
profiles.default.enableUpdateCheck = false;
profiles.default.enableExtensionUpdateCheck = false;
mutableExtensionsDir = true;
# Extensions
extensions = (with pkgs.vscode-extensions; [
profiles.default.extensions = (with pkgs.vscode-extensions; [
# Stable
ms-vscode-remote.remote-ssh
mhutchie.git-graph
@@ -39,7 +39,7 @@
]);
# Settings
userSettings = {
profiles.default.userSettings = {
# General
"editor.fontSize" = 16;
"editor.fontFamily" = "'Jetbrains Mono', 'monospace', monospace";

View File

@@ -62,7 +62,7 @@ in{
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome.gnome-themes-extra;
package = pkgs.gnome-themes-extra;
};
};
@@ -72,5 +72,10 @@ in{
style.name = "adwaita-dark";
};
# Ensure the Adwaita GTK theme is installed so wlogout can load gtk.css
home.packages = with pkgs; [
gnome-themes-extra
];
}

View File

@@ -1,162 +1,45 @@
{ pkgs, lib, config, ... }:
let
im = config.i18n.inputMethod;
cfg = im.fcitx5;
fcitx5Package = pkgs.libsForQt5.fcitx5-with-addons.override { inherit (cfg) addons; };
in
{ pkgs, lib, ... }:
{
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
fcitx5-chinese-addons
];
};
enable = true;
type = "fcitx5";
fcitx5 = {
# 1) Load the GTK bridge, the classic UI and the Catppuccin theme package
addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
catppuccin-fcitx5
];
xdg.configFile = let
format = pkgs.formats.iniWithGlobalSection { };
in {
"fcitx5/profile" = {
force = true;
source = format.generate "fcitx5-profile" {
sections = {
"Groups/0" = {
Name = "Default";
"Default Layout" = "us";
DefaultIM = "mozc";
};
"Groups/0/Items/0" = {
Name = "keyboard-us";
Layout = "";
};
"Groups/0/Items/1" = {
Name = "keyboard-no";
Layout = "";
};
"Groups/0/Items/2" = {
Name = "mozc";
Layout = "";
};
# 2) Install the Catppuccin theme under $XDG_DATA_HOME/fcitx5/themes/catppuccin
themes = {
catppuccin = {
highlightImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/highlight.svg";
panelImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/panel.svg";
theme = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/theme.conf";
};
}; # i18n.inputMethod.fcitx5.themes.<name> … [source_id=2]
settings = {
# 3) Tell the classic UI to use “catppuccin”
addons.classicui.globalSection = {
Theme = "catppuccin";
};
"Groups/1" = {
Name = "Default";
"Default Layout" = "jp";
DefaultIM = "mozc";
};
"Groups/1/Items/0" = {
Name = "keyboard-us";
Layout = "";
};
"Groups/1/Items/1" = {
Name = "keyboard-no";
Layout = "";
};
"Groups/1/Items/2" = {
Name = "mozc";
Layout = "";
};
GroupOrder = {
"0" = "Default";
"1" = "Secondary";
};
# 4) Your other config (hotkey, layouts, IM engines…)
globalOptions."Global" = {
TriggerKey = "Control+space";
};
inputMethod."Default" = {
Enabled = "xkb:us::eng,xkb:no::nob,xkb:jp::jpn,mozc";
};
};
};
"fcitx5/config".source = format.generate "fcitx5-config" {
sections = {
Hotkey = {
# Enumerate when press trigger key repeatedly
EnumerateWithTriggerKeys = "True";
# Temporally switch between first and current Input Method
AltTriggerKeys = "";
# Enumerate Input Method Forward
EnumerateForwardKeys = "";
# Enumerate Input Method Backward
EnumerateBackwardKeys = "";
# Skip first input method while enumerating
EnumerateSkipFirst = "False";
};
"Hotkey/TriggerKeys" = {
"0" = "Control+space";
"1" = "Zenkaku_Hankaku";
"2" = "Hangul";
};
"Hotkey/EnumerateGroupForwardKeys"."0" = "Super+space";
"Hotkey/EnumerateGroupBackwardKeys"."0" = "Shift+Super+space";
"Hotkey/ActivateKeys"."0" = "Hangul_Hanja";
"Hotkey/DeactivateKeys"."0" = "Hangul_Romaja";
"Hotkey/PrevPage"."0" = "Up";
"Hotkey/NextPage"."0" = "Down";
"Hotkey/PrevCandidate"."0" = "Shift+Tab";
"Hotkey/NextCandidate"."0" = "Tab";
"Hotkey/TogglePreedit"."0" = "Control+Alt+P";
Behaviour = {
# Active By Default
ActiveByDefault = "False";
# Share Input State
ShareInputState = "All";
# Show preedit in application
PreeditEnabledByDefault = "True";
# Show Input Method Information when switch input method
ShowInputMethodInformation = "True";
# Show Input Method Information when changing focus
showInputMethodInformationWhenFocusIn = "False";
# Show compact input method information
CompactInputMethodInformation = "True";
# Show first input method information
ShowFirstInputMethodInformation = "True";
# Default page size
DefaultPageSize = 5;
# Override Xkb Option
OverrideXkbOption = "False";
# Custom Xkb Option
CustomXkbOption = "";
# Force Enabled Addons
EnabledAddons = "";
# Force Disabled Addons
DisabledAddons = "";
# Preload input method to be used by default
PreloadInputMethod = "True";
# Allow input method in the password field
AllowInputMethodForPassword = "False";
# Show preedit text when typing password
ShowPreeditForPassword = "False";
# Interval of saving user data in minutes
AutoSavePeriod = 30;
};
};
};
"fcitx5/conf/classicui.conf".source = format.generate "fcitx5-classicui.conf" {
globalSection = {
Theme = "Material-Color";
PerScreenDPI = "True";
# Font = "";
"Vertical Candidate List" = "True";
};
};
};
xdg.dataFile."fcitx5/themes/Material-Color" = {
recursive = true;
source = "${pkgs.fcitx5-material-color}/share/fcitx5/themes/Material-Color-teal";
};
systemd.user.services.fcitx5-daemon = {
Service.Restart="on-failure";
Service.ExecStart = lib.mkForce "${fcitx5Package}/bin/fcitx5";
Service.ExecReload = "/bin/kill -HUP $MAINPID";
};
# 5) Force your own ExecStart so you never get “conflicting definition” errors
systemd.user.services.fcitx5-daemon.Service.ExecStart =
lib.mkForce "${pkgs.fcitx5-with-addons}/bin/fcitx5";
}

View File

@@ -5,6 +5,7 @@
./code.nix
./sway.nix
./niri.nix
../common/fonts.nix
./colors.nix
#./stylix.nix

32
home/gunalx/fuzzel.nix Normal file
View File

@@ -0,0 +1,32 @@
{ config, pkgs, lib, inputs, ... }:
let
palette = config.colorScheme.palette;
hex = colour: lib.removePrefix "#" colour;
in
{
programs.fuzzel = {
enable = true;
package = pkgs.fuzzel;
settings = {
main = {
terminal = "${pkgs.foot}/bin/foot";
layer = "overlay";
};
colors = {
background = "${hex palette.base00}ff";
foreground = "${hex palette.base05}ff";
highlight = "${hex palette.base0D}ff";
};
window = {
border-radius = 12;
x = "center";
y = "center";
};
icons = {
size = 48;
};
};
};
}

View File

@@ -8,62 +8,37 @@ in {
package = pkgs.mako; # Which package to use
# Colors (from your colorscheme)
backgroundColor = "${palette.base00}FF"; # popup background
textColor = "${palette.base05}FF"; # popup text
borderColor = "${palette.base03}FF"; # popup border
progressColor = "over ${palette.base0A}FF"; # progress bar
settings.background-color = "#${palette.base00}FF"; # popup background
settings.text-color = "#${palette.base05}FF"; # popup text
settings.border-color = "#${palette.base03}FF"; # popup border
settings.progress-color = "over #${palette.base0A}FF"; # progress bar
# Placement & layering
anchor = "top-right"; # corner on screen
layer = "overlay"; # appear above fullscreen
settings.anchor = "top-right"; # corner on screen
settings.layer = "overlay"; # appear above fullscreen
# Geometry
width = 320; # px
height = 120; # max px
margin = "10"; # all edges
padding = "8"; # all edges
borderSize = 2; # px
borderRadius = 12; # px
settings.width = 320; # px
settings.height = 120; # max px
settings.margin = "10"; # all edges
settings.padding = "8"; # all edges
settings.border-size = 2; # px
settings.border-radius = 12; # px
# Font & icons
font = "monospace 10"; # Pango font
icons = true; # show icons
iconPath = "/usr/share/icons:/usr/share/pixmaps";
maxIconSize = 48; # px
settings.font = "monospace 10"; # Pango font
settings.icons = true; # show icons
settings.icon-path = "/usr/share/icons:/usr/share/pixmaps";
settings.max-icon-size = 48; # px
# Behavior & timing
defaultTimeout = 5000; # ms; 0 = no timeout
ignoreTimeout = true; # use defaultTimeout always
actions = true; # clickable actions
maxVisible = 5; # simultaneous popups
sort = "-time"; # newest first
groupBy = "app-name"; # grouping criteria
markup = true; # enable Pango markup
settings.default-timeout = 3000; # ms; 0 = no timeout
settings.ignore-timeout = true; # use defaultTimeout always
settings.actions = true; # clickable actions
settings.max-visible = 5; # simultaneous popups
settings.sort = "-time"; # newest first
settings.group-by = "app-name"; # grouping criteria
settings.markup = true; # enable Pango markup
extraConfig = ''
# Urgency-specific colors
[urgency=critical]
background-color = ${palette.base08}FF
border-color = ${palette.base00}FF
text-color = ${palette.base01}FF
# Grouping settings
[grouped]
invisible = 1
on-button-right = dismiss-group
[group-index=0]
invisible = 0
on-button-right = dismiss-group
# Modes
[mode=away]
default-timeout = 0
ignore-timeout = 1
[mode=do-not-disturb]
invisible = 1
on-notify = none
'';
};
}

View File

@@ -91,17 +91,20 @@ layout {
proportion 0.3333333
proportion 0.5
proportion 0.6666667
proportion 0.9
// Fixed sets the width in logical pixels exactly.
// fixed 1920
}
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
// preset-window-heights { }
preset-window-heights {
proportion 1.0
proportion 0.5
}
// You can change the default width of the new windows.
default-column-width { proportion 0.5; }
default-column-width { proportion 1.0; }
// If you leave the brackets empty, the windows themselves will decide their initial width.
// default-column-width {}
@@ -119,7 +122,7 @@ layout {
// Uncomment this line to disable the focus ring.
// off
// How many logical pixels the ring extends out from the windows.
// How many logical pixels the ring extends out from the windows.
width 2
// Colors can be set in a variety of ways:
@@ -194,8 +197,6 @@ layout {
// Offset moves the shadow relative to the window.
offset x=0 y=5
// You can also change the shadow color and opacity.
color "#0007"
}
@@ -222,7 +223,7 @@ spawn-at-startup "foot" "--server"
spawn-at-startup "xwayland-satellite"
spawn-at-startup "mako"
spawn-at-startup "swww-daemon"
spawn-at-startup "waybar"
//spawn-at-startup "waybar" //spawns by system service instead
spawn-at-startup "swayidle" "-w" "timeout" "601" "niri msg action power-off-monitors" "timeout" "600" "swaylock -f" "before-sleep" "swaylock -f"
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
@@ -237,9 +238,6 @@ prefer-no-csd
// The path is formatted with strftime(3) to give you the screenshot date and time.
screenshot-path "~/Pictures/screenshots/screenshot-%Y-%m-%d %H-%M-%S.png"
// You can also set this to null to disable saving screenshots to disk.
// screenshot-path null
// Animation settings.
// The wiki explains how to configure individual animations:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations
@@ -248,7 +246,7 @@ animations {
off
// Slow down all animations by this factor. Values below 1 speed them up instead.
// slowdown 3.0
// slowdown 0.3
}
// Window rules let you adjust behavior for individual windows.
@@ -273,22 +271,12 @@ window-rule {
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
match app-id=r#"firefox$"# title="^Bitwarden$"
match app-id=r#"firefox$"# title="^Extension: (Bitwarden Password Manager) - Bitwarden Mozilla Firefox$"
match app-id=r#"Bitwarden$"#
match app-id="firefox" title="Extension: (Bitwarden Password Manager) - Bitwarden Mozilla Firefox"
match app-id="Bitwarden$"
match title="^Bitwarden"
open-floating true
}
//niri overview python script.
window-rule {
match app-id=r#"niri-overview.py"#
match app-id=r#"niri_overview.py"#
match app-id=r#"niri_overview.bin"#
match app-id=r#"niri_overview"#
open-focused true
open-floating true
default-window-height { proportion 0.5; }
default-column-width { proportion 0.8; }
}
//fix steam notifications to bottom rigth
window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
@@ -301,7 +289,7 @@ window-rule {
/-window-rule {
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
match app-id=r#"^org\.gnome\.World\.Secrets$"#
match app-id=r#"^Bitwarden$"#
match title=r#"^Bitwarden$"#
block-out-from "screen-capture"
@@ -335,18 +323,13 @@ binds {
// Mod-Shift-/, which is usually the same as Mod-?,
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// spawn niri overview script
Mod+Slash { spawn "/home/gunalx/.config/niri/niri_overview/niri_overview.bin"; }
// for next release
// Mod+Slash { toggle-overview; }
Mod+Slash { toggle-overview; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+Return { spawn "foot"; }
Mod+Return { spawn "footclient"; }
Mod+D { spawn "fuzzel"; }
Super+M { spawn "swaylock"; }
Mod+Escape { toggle-keyboard-shortcuts-inhibit; } //for diabling niri shortcuts for a while.
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
// Note: the entire command goes as a single argument in the end.
@@ -518,7 +501,8 @@ binds {
Mod+Ctrl+R { reset-window-height; }
Mod+F { maximize-column; }
Mod+Shift+F { fullscreen-window; }
Mod+Ctrl+Shift+F { toggle-windowed-fullscreen; }
// Expand the focused column to space not taken up by other fully visible columns.
// Makes the column "fill the rest of the space".
Mod+Ctrl+F { expand-column-to-available-width; }
@@ -599,8 +583,8 @@ in
./swaylock.nix
./wlogout.nix
./mako.nix
./fonts.nix
./fcitx5.nix
./fuzzel.nix
];
@@ -616,8 +600,6 @@ in
wdisplays
swww
wleave
xwayland-satellite
#bar applets and notifications
@@ -640,17 +622,14 @@ in
emote
xdg-desktop-portal-gtk
xdg-desktop-portal
xdg-desktop-portal-wlr
xdg-desktop-portal-gnome
#fonts
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5

View File

@@ -13,11 +13,11 @@ in
imports = [
./waybar.nix
./foot.nix
./fonts.nix
./fcitx5.nix
./kanshi.nix
./swaylock.nix
./mako.nix
./wlogout.nix
#./assets/wallpapers
];
@@ -48,7 +48,6 @@ in
#swaybg
swww
wleave
#bar applets and notifications
waybar
@@ -85,17 +84,6 @@ in
slurp
#fonts
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
@@ -287,7 +275,7 @@ in {
#"ctrl+space" = "exec xkb_switch_layout next"; #TODO:verify
"${cfg.config.modifier}+tab" = "${menu}";
"Alt+tab" = "workspace back_and_forth";
"XF86PowerOff" = "exec ${pkgs.wleave}/bin/wleave";
"XF86PowerOff" = "exec ${pkgs.wlogout}/bin/wlogout";
};
};

View File

@@ -18,9 +18,9 @@ in
settings = [
(builtins.fromJSON ''
{
"height": 30,
"height": 36,
"spacing": 2,
"modules-left": ["sway/workspaces","niri/workspaces"],
"modules-left": [ "custom/overview", "custom/launcher", "sway/workspaces","niri/workspaces"],
"modules-center": ["niri/window"],
"modules-right": [
"idle_inhibitor","backlight","pulseaudio","keyboard-state",
@@ -28,6 +28,11 @@ in
"power-profiles-daemon","clock","tray","custom/power"
],
"custom/launcher": {
"format": " ",
"on-click": "pkill fuzzel || fuzzel"
},
"sway/workspaces": {
"format": "{index}: {name} - {icon}",
"format-icons": {
@@ -50,6 +55,13 @@ in
"on-click": "niri msg workspace {index}"
},
"custom:overview": {
"format": "",
"tooltip": "Toggle Overview",
"on-click": "niri msg action toggle-overview"
},
"niri/window": {
"format": "{title}"
},
@@ -74,14 +86,26 @@ in
"keyboard-state": {
"numlock": true,
"capslock": true,
"format": "{icon}",
"format": "{icon}",
"format-icons": { "locked":"","unlocked":"" }
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": " {ipaddr}",
"format-disconnected": " Disconnected"
"format-ethernet": " {ipaddr}",
"format-disconnected": " Disconnected",
"format-alt": " {ipaddr}/{cidr}",
"format-alt-click": "click",
"tooltip": true,
"tooltip-format-wifi": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>WiFi</span>\n<span color='#${palette.base0A}'>SSID:</span> <span color='#${palette.base06}'>{essid}</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Frequency:</span> <span color='#${palette.base04}'>{frequency} MHz</span>\n<span color='#${palette.base0A}'>Signal:</span> <span color='#${palette.base0B}'>{signalStrength}%</span> <span color='#${palette.base04}'>({signaldBm} dBm)</span>",
"tooltip-format-ethernet": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>Ethernet</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Netmask:</span> <span color='#${palette.base04}'>{netmask}</span>",
"tooltip-format-disconnected": "<span color='#${palette.base08}'></span> <span color='#${palette.base08}'>No Connection</span>\n<span color='#${palette.base04}'>Click to refresh network info</span>",
"on-click": "nmcli device wifi rescan && nmcli connection show --active",
"on-click-right": "nmcli device status",
"max-length": 50
},
"cpu": { "format": " {usage}%" },
@@ -99,13 +123,6 @@ in
"states": { "warning": 30, "critical": 15 }
},
"power-profiles-daemon": {
"format": "{icon}",
"format-icons": {
"performance":"","balanced":"","power-saver":""
},
"on-click": "systemctl --user power-profiles-daemon set balanced"
},
"power-profiles-daemon": {
"format": "{icon}",
@@ -121,17 +138,37 @@ in
"clock": {
"format": "{:%H:%M}",
"format-alt": "{:%Y-%m-%d}"
"format-alt": "{:%Y-%m-%d}",
"tooltip": true,
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
"days": "<span color='#${palette.base04}'>{}</span>",
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"tray": {
"spacing": 6
"spacing": 8
},
"custom/power": {
"format": "",
"tooltip": "exit",
"on-click": "wleave"
"on-click": "wlogout || wleave"
}
}
'')
@@ -156,7 +193,7 @@ in
/* Module blocks */
#idle_inhibitor,#backlight,#pulseaudio,#keyboard-state,
#network,#cpu,#memory,#temperature,#battery,
#power-profiles-daemon,#clock,#tray,#custom-power,#niri-window {
#power-profiles-daemon,#clock,#tray,#custom-power,#custom-launcher,#custom-overview,#niri-window {
background-color: ${toRGBA palette.base01 "0.4"};
border-radius: 8px;
margin: 0 6px;
@@ -168,10 +205,29 @@ in
#idle_inhibitor:hover,#backlight:hover,#pulseaudio:hover,
#keyboard-state:hover,#network:hover,#cpu:hover,#memory:hover,
#temperature:hover,#battery:hover,#power-profiles-daemon:hover,
#clock:hover,#tray:hover,#custom-power:hover,#niri-window:hover {
#clock:hover,#tray:hover,#custom-power:hover,#custom-launcher:hover,#custom-overview:hover,#niri-window:hover {
background-color: ${toRGBA palette.base02 "0.5"};
}
/* Tooltip styling */
tooltip {
background-color: ${toRGBA palette.base00 "0.9"};
border: 1px solid ${toRGBA palette.base07 "0.4"};
border-radius: 8px;
color: ${toRGBA palette.base05 "0.9"};
padding: 8px 12px;
font-size: 12px;
}
tooltip label {
color: ${toRGBA palette.base05 "0.9"};
}
#clock tooltip {
font-family: monospace;
}
/* Workspace buttons */
#sway-workspaces button,#niri-workspaces button {
padding: 0 6px;

View File

@@ -20,7 +20,7 @@ in
{
programs.wlogout = {
enable = true;
package = pkgs.wleave;
package = pkgs.wlogout;
# Your button layout
layout = [

View File

@@ -10,12 +10,6 @@
enable = true;
};
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
};
programs.bash = {
enable = true;

View File

@@ -1,33 +0,0 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
];
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
emoji = ["noto-fonts-emoji font-awesome"];
monospace = ["0xproto" "zpix" "fira-code"];
serif = [ "Noto Serif" "Source Han Serif" ];
sansSerif = [ "Noto Sans" "Source Han Sans" ];
};
}

View File

@@ -63,7 +63,7 @@
users.users.gunalx = {
isNormalUser = true;
description = "Adrian Gunnar Lauterer";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
];
};
@@ -90,7 +90,7 @@
#basic programming
kate
kdePackages.kate
vscode-fhs
gcc
gpp

View File

@@ -28,6 +28,7 @@ imports =
sops
atuin
upower
nvtopPackages.full
];
#just allow unfree, im fine with it.

View File

@@ -13,21 +13,25 @@ imports =
];
environment.systemPackages = with pkgs; [
openscad
#cura # broken
prusa-slicer
environment.systemPackages = with pkgs; [
libnotify
openscad
#cura # broken
prusa-slicer
#libsForQt5.qt5ct
#qt6Packages.qt6ct
where-is-my-sddm-theme
swww
#libsForQt5.qt5ct
#qt6Packages.qt6ct
where-is-my-sddm-theme
swww
];
fonts.packages = with pkgs; [
nerd-fonts._0xproto
_0xproto
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
@@ -37,10 +41,11 @@ imports =
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
nerdfonts
#nerdfonts
ubuntu_font_family
];
] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
# Enable CUPS to print documents.
services.printing.enable = false; #temp off because of CVE

View File

@@ -8,6 +8,15 @@ imports =
];
environment.systemPackages = with pkgs; [
zed-editor-fhs
aider-chat
python3Full
uv
python3Packages.pip
python3Packages.uv
poetry
texliveFull

View File

@@ -7,7 +7,7 @@ imports =
];
hardware.pulseaudio.enable = false;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;

View File

@@ -41,7 +41,7 @@ imports =
workstyle
#swayest-workstyle #migth switch to this.
autotiling-rs
wleave
wlogout
pass-wayland