mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-16 01:55:13 -05:00
feat: added niri
This commit is contained in:
parent
77c4768eaa
commit
5dd2fce8e0
8 changed files with 503 additions and 5 deletions
110
flake.lock
generated
110
flake.lock
generated
|
@ -1001,11 +1001,69 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"niri": {
|
||||||
|
"inputs": {
|
||||||
|
"niri-stable": "niri-stable",
|
||||||
|
"niri-unstable": "niri-unstable",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable_3",
|
||||||
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746142190,
|
||||||
|
"narHash": "sha256-t36K3TWLMRWoGyjYyo+H8bBquDcp4orZqNZVagWNjwY=",
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"rev": "af701c1c16c289b1b14f333d844b4f756308d244",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1740117926,
|
||||||
|
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"ref": "v25.02",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746124654,
|
||||||
|
"narHash": "sha256-LmhkAt2KLvf8lp+kEUQuTFmmv7iXO8IkwwSaPasfXJw=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "6c9705dd4b2eaba25f024d1a3efd7943fd393632",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-cosmic": {
|
"nixos-cosmic": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_5",
|
"flake-compat": "flake-compat_5",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_3",
|
"nixpkgs-stable": "nixpkgs-stable_4",
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -1071,6 +1129,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1746055187,
|
||||||
|
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746183838,
|
"lastModified": 1746183838,
|
||||||
"narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=",
|
"narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=",
|
||||||
|
@ -1291,6 +1365,7 @@
|
||||||
"hyprland-portal": "hyprland-portal",
|
"hyprland-portal": "hyprland-portal",
|
||||||
"lix-module": "lix-module",
|
"lix-module": "lix-module",
|
||||||
"ngipkgs": "ngipkgs",
|
"ngipkgs": "ngipkgs",
|
||||||
|
"niri": "niri",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
|
@ -1675,6 +1750,39 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"xwayland-satellite-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1739246919,
|
||||||
|
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"ref": "v0.5.1",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1745730655,
|
||||||
|
"narHash": "sha256-Tdsw5lD/XM8i1GnQr7ombqnEaCpt/voPs2AbjuYBbjI=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "56a681bfecc5831f41f8eb0ec8c7e96c6b277153",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"yants": {
|
"yants": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -17,6 +16,11 @@
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
niri = {
|
||||||
|
url = "github:sodiboo/niri-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
||||||
ghostty = {
|
ghostty = {
|
||||||
url = "github:ghostty-org/ghostty";
|
url = "github:ghostty-org/ghostty";
|
||||||
|
@ -82,6 +86,7 @@
|
||||||
inputs.nixos-cosmic.nixosModules.default
|
inputs.nixos-cosmic.nixosModules.default
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
|
inputs.niri.nixosModules.niri
|
||||||
inputs.nur.modules.nixos.default
|
inputs.nur.modules.nixos.default
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
|
|
|
@ -66,6 +66,9 @@ in
|
||||||
jamesDsp
|
jamesDsp
|
||||||
zoom
|
zoom
|
||||||
academic
|
academic
|
||||||
|
# hypr
|
||||||
|
niri
|
||||||
|
wayland
|
||||||
theming
|
theming
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
|
|
314
modules/home/gui/desktop/niri/default.nix
Executable file
314
modules/home/gui/desktop/niri/default.nix
Executable file
|
@ -0,0 +1,314 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
flake,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
|
||||||
|
inherit (flake.config.aesthetics.themes) currentTheme palettes cursor;
|
||||||
|
|
||||||
|
inherit (flake.config.people) user0 user1 user2;
|
||||||
|
|
||||||
|
user = config.home.username;
|
||||||
|
|
||||||
|
niri = config.lib.niri.actions;
|
||||||
|
|
||||||
|
themeLogic =
|
||||||
|
if user == user0 then
|
||||||
|
currentTheme.theme0
|
||||||
|
else if user == user1 then
|
||||||
|
currentTheme.theme1
|
||||||
|
else if user == user2 then
|
||||||
|
currentTheme.theme2
|
||||||
|
else
|
||||||
|
currentTheme.theme0;
|
||||||
|
|
||||||
|
el = palettes.${themeLogic}.colours;
|
||||||
|
makeColour = c: "#" + c;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.niri = {
|
||||||
|
settings =
|
||||||
|
let
|
||||||
|
workspace0 = "messaging";
|
||||||
|
workspace1 = "work";
|
||||||
|
workspace2 = "gaming";
|
||||||
|
workspace3 = "media";
|
||||||
|
workspace4 = "extra";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
prefer-no-csd = true;
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
size = cursor.size;
|
||||||
|
theme = "catppuccin-macchiato-dark-cursors";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
focus-follows-mouse.enable = true;
|
||||||
|
mouse.accel-profile = "flat";
|
||||||
|
};
|
||||||
|
|
||||||
|
spawn-at-startup = [
|
||||||
|
{ command = [ "swaylock" ]; }
|
||||||
|
{ command = [ "wl-clipboard" ]; }
|
||||||
|
{ command = [ "wpaperd" ]; }
|
||||||
|
{ command = [ "gammastep" ]; }
|
||||||
|
{ command = [ "dunst" ]; }
|
||||||
|
{ command = [ "playerctld" ]; }
|
||||||
|
{ command = [ "waybar" ]; }
|
||||||
|
{ command = [ "nm-applet" ]; }
|
||||||
|
{ command = [ "blueman-applet" ]; }
|
||||||
|
{ command = [ "rfkill block bluetooth" ]; }
|
||||||
|
{ command = [ "rfkill unblock bluetooth" ]; }
|
||||||
|
{ command = [ "easyeffects -r" ]; }
|
||||||
|
{ command = [ "vesktop" ]; }
|
||||||
|
{ command = [ "signal" ]; }
|
||||||
|
{ command = [ "floorp" ]; }
|
||||||
|
];
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enable = true;
|
||||||
|
config-notification-open-close = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 0.600000;
|
||||||
|
epsilon = 0.001000;
|
||||||
|
stiffness = 1000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
horizontal-view-movement = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 1.000000;
|
||||||
|
epsilon = 0.000100;
|
||||||
|
stiffness = 800;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window-close = {
|
||||||
|
easing = {
|
||||||
|
curve = "ease-out-quad";
|
||||||
|
duration-ms = 150;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window-open = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 1.000000;
|
||||||
|
epsilon = 0.000100;
|
||||||
|
stiffness = 800;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window-resize = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 1.000000;
|
||||||
|
epsilon = 0.000100;
|
||||||
|
stiffness = 800;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
workspace-switch = {
|
||||||
|
spring = {
|
||||||
|
damping-ratio = 1.000000;
|
||||||
|
epsilon = 0.000100;
|
||||||
|
stiffness = 1000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
binds = {
|
||||||
|
"Super+z".action = niri.spawn "obsidian";
|
||||||
|
"Super+l".action = niri.spawn "slack";
|
||||||
|
"Super+h".action = niri.spawn "feishin";
|
||||||
|
"Super+g".action = niri.spawn "scrcpy";
|
||||||
|
"Super+k".action = niri.spawn "ghostty -e nu -e y";
|
||||||
|
"Super+s".action = niri.spawn "steam";
|
||||||
|
"Super+r".action = niri.spawn "ghostty -e zellij a dotfiles";
|
||||||
|
"Super+n".action = niri.spawn "signal-desktop";
|
||||||
|
"Super+t".action = niri.spawn "zeditor";
|
||||||
|
"Super+b".action = niri.spawn "floorp";
|
||||||
|
"Super+x".action = niri.spawn "freetube";
|
||||||
|
"Super+v".action = niri.spawn "discordcanary";
|
||||||
|
"Super+m".action = niri.spawn "element-desktop";
|
||||||
|
"Super+d".action = niri.spawn "ghostty";
|
||||||
|
"Super+p".action = niri.spawn "bitwarden";
|
||||||
|
"Super+Space".action = niri.spawn "fuzzel";
|
||||||
|
"Super+Tab".action = niri.close-window;
|
||||||
|
"Super+u".action = niri.maximize-column;
|
||||||
|
"Super+comma".action = niri.focus-workspace-down;
|
||||||
|
"Super+period".action = niri.focus-workspace-up;
|
||||||
|
"Super+f".action = niri.swap-window-left;
|
||||||
|
"Super+o".action = niri.swap-window-right;
|
||||||
|
|
||||||
|
# "Ctrl+Alt+1".action = niri.move-window-to-workspace workspace0;
|
||||||
|
# "Ctrl+Alt+2".action = niri.move-window-to-workspace workspace1;
|
||||||
|
# "Ctrl+Alt+3".action = niri.move-window-to-workspace workspace2;
|
||||||
|
# "Ctrl+Alt+4".action = niri.move-window-to-workspace workspace3;
|
||||||
|
# "Ctrl+Alt+5".action = niri.move-window-to-workspace workspace4;
|
||||||
|
# "Super+Enter".action = niri.toggle-overview;
|
||||||
|
|
||||||
|
"Super+1".action = niri.focus-workspace workspace0;
|
||||||
|
"Super+2".action = niri.focus-workspace workspace1;
|
||||||
|
"Super+3".action = niri.focus-workspace workspace2;
|
||||||
|
"Super+4".action = niri.focus-workspace workspace3;
|
||||||
|
"Super+5".action = niri.focus-workspace workspace4;
|
||||||
|
|
||||||
|
"Super+c".action = niri.focus-column-or-monitor-left;
|
||||||
|
"Super+a".action = niri.focus-window-or-monitor-up;
|
||||||
|
"Super+e".action = niri.focus-window-or-monitor-down;
|
||||||
|
"Super+i".action = niri.focus-column-or-monitor-right;
|
||||||
|
|
||||||
|
"Super+Shift+t".action = niri.spawn "ghostty";
|
||||||
|
"Super+Shift+s".action = niri.spawn "flameshot gui";
|
||||||
|
"Super+Shift+period".action = niri.spawn "emote";
|
||||||
|
"Super+Shift+Tab".action = niri.fullscreen-window;
|
||||||
|
|
||||||
|
"Ctrl+Alt+c".action = niri.move-column-left;
|
||||||
|
"Ctrl+Alt+i".action = niri.move-column-right;
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
"DP-1" = {
|
||||||
|
background-color = makeColour el.base02;
|
||||||
|
mode = {
|
||||||
|
width = 2560;
|
||||||
|
height = 1080;
|
||||||
|
refresh = 199.92;
|
||||||
|
};
|
||||||
|
position = {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
open-focused = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches =
|
||||||
|
let
|
||||||
|
windowMatch = c: {
|
||||||
|
app-id = c;
|
||||||
|
is-floating = true;
|
||||||
|
is-focused = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(windowMatch ".blueman-manager-wrapped")
|
||||||
|
(windowMatch "org.gnome.Calculator")
|
||||||
|
(windowMatch "com.github.wwmm.easyeffects")
|
||||||
|
(windowMatch "emote")
|
||||||
|
(windowMatch "mpv")
|
||||||
|
(windowMatch "vlc")
|
||||||
|
(windowMatch "org.nomacs.ImageLounge")
|
||||||
|
(windowMatch "flameshot")
|
||||||
|
(windowMatch "^.protonvpn-app-wrapped$")
|
||||||
|
(windowMatch "^Picture-in-Picture$")
|
||||||
|
(windowMatch "^Discord Popout$")
|
||||||
|
(windowMatch "^Enter name of file to save to…$")
|
||||||
|
(windowMatch "^File Upload$")
|
||||||
|
(windowMatch ".scrcpy-wrapped")
|
||||||
|
(windowMatch "^Battle.net$")
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "floop"; }
|
||||||
|
{ app-id = "org.kde.kdenlive"; }
|
||||||
|
{ app-id = "krita"; }
|
||||||
|
{ app-id = "mpv"; }
|
||||||
|
{ app-id = "vlc"; }
|
||||||
|
{ app-id = "Brave-browser"; }
|
||||||
|
{ app-id = "org.kde.okular"; }
|
||||||
|
];
|
||||||
|
opacity = 1.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "signal"; }
|
||||||
|
{ app-id = "vesktop"; }
|
||||||
|
];
|
||||||
|
open-on-workspace = workspace0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "code"; }
|
||||||
|
{ app-id = "zeditor"; }
|
||||||
|
];
|
||||||
|
open-on-workspace = workspace1;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "steam"; }
|
||||||
|
{ app-id = "org.kde.kdenlive"; }
|
||||||
|
];
|
||||||
|
open-on-workspace = workspace2;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ app-id = "feishin"; }
|
||||||
|
{ app-id = ".scrcpy-wrapped"; }
|
||||||
|
];
|
||||||
|
open-on-workspace = workspace3;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
clip-to-geometry = true;
|
||||||
|
focus-ring = {
|
||||||
|
active.color = makeColour el.base0E;
|
||||||
|
inactive.color = makeColour el.base02;
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
width = 1;
|
||||||
|
active.color = makeColour el.base0E;
|
||||||
|
inactive.color = makeColour el.base02;
|
||||||
|
};
|
||||||
|
geometry-corner-radius =
|
||||||
|
let
|
||||||
|
radius = 10.0;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
top-left = radius;
|
||||||
|
top-right = radius;
|
||||||
|
bottom-left = radius;
|
||||||
|
bottom-right = radius;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
layout = {
|
||||||
|
gaps = 10;
|
||||||
|
focus-ring.enable = true;
|
||||||
|
# struts = {
|
||||||
|
# top = 0;
|
||||||
|
# bottom = 0;
|
||||||
|
# left = 0;
|
||||||
|
# right = 0;
|
||||||
|
# };
|
||||||
|
shadow = {
|
||||||
|
enable = true;
|
||||||
|
color = el.base11;
|
||||||
|
draw-behind-window = true;
|
||||||
|
offset.x = 0;
|
||||||
|
offset.y = 0;
|
||||||
|
spread = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
workspaces = {
|
||||||
|
default = {
|
||||||
|
name = workspace0;
|
||||||
|
};
|
||||||
|
${workspace1} = {
|
||||||
|
name = workspace1;
|
||||||
|
};
|
||||||
|
${workspace2} = {
|
||||||
|
name = workspace2;
|
||||||
|
};
|
||||||
|
${workspace3} = {
|
||||||
|
name = workspace3;
|
||||||
|
};
|
||||||
|
${workspace4} = {
|
||||||
|
name = workspace4;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
62
modules/home/gui/desktop/wayland/fuzzel/default.nix
Executable file
62
modules/home/gui/desktop/wayland/fuzzel/default.nix
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
flake,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
|
||||||
|
inherit (flake.config.aesthetics.themes) currentTheme palettes fonts;
|
||||||
|
|
||||||
|
inherit (flake.config.people) user0 user1 user2;
|
||||||
|
|
||||||
|
user = config.home.username;
|
||||||
|
|
||||||
|
themeLogic =
|
||||||
|
if user == user0 then
|
||||||
|
currentTheme.theme0
|
||||||
|
else if user == user1 then
|
||||||
|
currentTheme.theme1
|
||||||
|
else if user == user2 then
|
||||||
|
currentTheme.theme2
|
||||||
|
else
|
||||||
|
currentTheme.theme0;
|
||||||
|
|
||||||
|
el = palettes.${themeLogic}.colours;
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
prompt = "❯ ";
|
||||||
|
show-actions = "yes";
|
||||||
|
icon-theme = "Papirus-Dark";
|
||||||
|
width = 25;
|
||||||
|
font = "${fonts.names.name0}:weight=bold:size=${toString fonts.sizes.desktop.size0}";
|
||||||
|
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||||
|
layer = "overlay";
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
radius = 10;
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
background = "${el.base00}dd";
|
||||||
|
text = "${el.base05}ff";
|
||||||
|
match = "${el.base0E}ff";
|
||||||
|
selection = "${el.base04}ff";
|
||||||
|
selection-text = "${el.base05}ff";
|
||||||
|
selection-match = "${el.base0E}ff";
|
||||||
|
border = "${el.base0E}ff";
|
||||||
|
prompt = "${el.base07}ff";
|
||||||
|
input = "${el.base05}ff";
|
||||||
|
placeholder = "${el.base04}ff";
|
||||||
|
counter = "${el.base04}ff";
|
||||||
|
};
|
||||||
|
dmenu = {
|
||||||
|
exit-immediately-if-empty = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,8 +10,11 @@ in
|
||||||
mullvad
|
mullvad
|
||||||
syncthing
|
syncthing
|
||||||
ollama
|
ollama
|
||||||
plasma
|
# plasma
|
||||||
sddm
|
# sddm
|
||||||
|
# hypr
|
||||||
|
niri
|
||||||
|
wayland
|
||||||
searx
|
searx
|
||||||
portals
|
portals
|
||||||
xserver
|
xserver
|
||||||
|
|
3
modules/nixos/desktop/niri/default.nix
Executable file
3
modules/nixos/desktop/niri/default.nix
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
programs.niri.enable = true;
|
||||||
|
}
|
|
@ -23,7 +23,7 @@ in
|
||||||
3131 # Deskreen
|
3131 # Deskreen
|
||||||
1234 # Elm-land server
|
1234 # Elm-land server
|
||||||
5037 # ADB Server
|
5037 # ADB Server
|
||||||
39578
|
32929
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue