mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2026-01-15 16:43:06 +01:00
Compare commits
4 commits
0cb98d2868
...
4cc87ea1d6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4cc87ea1d6 |
||
|
|
45a85e7a82 |
||
|
|
73a428be90 |
||
|
|
3cacac4e6a |
26 changed files with 409 additions and 662 deletions
|
|
@ -4,8 +4,6 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
niri,
|
|
||||||
# lix-module,
|
|
||||||
rs-programs,
|
rs-programs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
|
||||||
146
flake.lock
generated
146
flake.lock
generated
|
|
@ -283,67 +283,11 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"niri": {
|
|
||||||
"inputs": {
|
|
||||||
"niri-stable": "niri-stable",
|
|
||||||
"niri-unstable": "niri-unstable",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767166320,
|
|
||||||
"narHash": "sha256-JhE7GgwcKCtkBmP4Gk7r27QmrlCV4As4Dq+fHESW+Ds=",
|
|
||||||
"owner": "sodiboo",
|
|
||||||
"repo": "niri-flake",
|
|
||||||
"rev": "947c5bc805ec346a305e00faa8cfe476b8a9c679",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "sodiboo",
|
|
||||||
"repo": "niri-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri-stable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1756556321,
|
|
||||||
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"ref": "v25.08",
|
|
||||||
"repo": "niri",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri-unstable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767160009,
|
|
||||||
"narHash": "sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI=",
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"rev": "cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "YaLTeR",
|
|
||||||
"repo": "niri",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixcord": {
|
"nixcord": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767190262,
|
"lastModified": 1767190262,
|
||||||
|
|
@ -375,16 +319,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766902085,
|
"lastModified": 1766885793,
|
||||||
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
|
"narHash": "sha256-P6RVkrM9JLCW6xBjSwHfgTOQ1JwBUma5xe5LI8xAPC0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4",
|
"rev": "9ef261221d1e72399f2036786498d78c38185c46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -425,25 +369,9 @@
|
||||||
"rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a",
|
"rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751274312,
|
|
||||||
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixpkgs",
|
"id": "nixpkgs",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-25.11",
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -463,22 +391,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766885793,
|
|
||||||
"narHash": "sha256-P6RVkrM9JLCW6xBjSwHfgTOQ1JwBUma5xe5LI8xAPC0=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "9ef261221d1e72399f2036786498d78c38185c46",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766902085,
|
"lastModified": 1766902085,
|
||||||
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
|
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
|
||||||
|
|
@ -493,7 +405,7 @@
|
||||||
"type": "indirect"
|
"type": "indirect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764517877,
|
"lastModified": 1764517877,
|
||||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
||||||
|
|
@ -509,7 +421,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726937504,
|
"lastModified": 1726937504,
|
||||||
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
||||||
|
|
@ -555,11 +467,10 @@
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
|
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"typst-within": "typst-within"
|
"typst-within": "typst-within"
|
||||||
|
|
@ -620,7 +531,7 @@
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
|
|
@ -759,7 +670,7 @@
|
||||||
"crane": "crane_2",
|
"crane": "crane_2",
|
||||||
"fenix": "fenix_2",
|
"fenix": "fenix_2",
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts_3",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"rust-manifest": "rust-manifest",
|
"rust-manifest": "rust-manifest",
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
|
|
@ -776,39 +687,6 @@
|
||||||
"repo": "typst",
|
"repo": "typst",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"xwayland-satellite-stable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1755491097,
|
|
||||||
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"ref": "v0.7",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xwayland-satellite-unstable": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766429945,
|
|
||||||
"narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=",
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Supreeeme",
|
|
||||||
"repo": "xwayland-satellite",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,8 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
nixpkgs-stable.url = "nixpkgs/nixos-24.11";
|
nixpkgs-stable.url = "nixpkgs/nixos-25.11";
|
||||||
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
|
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
|
||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
typst-within.url = "github:schrottkatze/typst";
|
typst-within.url = "github:schrottkatze/typst";
|
||||||
crane.url = "github:ipetkov/crane";
|
crane.url = "github:ipetkov/crane";
|
||||||
|
|
@ -29,7 +28,6 @@
|
||||||
typst-within,
|
typst-within,
|
||||||
home-manager,
|
home-manager,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
niri,
|
|
||||||
stylix,
|
stylix,
|
||||||
fenix,
|
fenix,
|
||||||
crane,
|
crane,
|
||||||
|
|
@ -72,12 +70,10 @@
|
||||||
pkgs-unstable-small
|
pkgs-unstable-small
|
||||||
pkgs-stable
|
pkgs-stable
|
||||||
rs-programs
|
rs-programs
|
||||||
niri
|
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
inputs.niri.nixosModules.niri
|
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
./hosts/monosodium-glutamate-g/configuration.nix
|
./hosts/monosodium-glutamate-g/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|
@ -110,12 +106,10 @@
|
||||||
pkgs-unstable-small
|
pkgs-unstable-small
|
||||||
pkgs-stable
|
pkgs-stable
|
||||||
rs-programs
|
rs-programs
|
||||||
niri
|
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
inputs.niri.nixosModules.niri
|
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
./hosts/denkbrett/configuration.nix
|
./hosts/denkbrett/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,11 @@
|
||||||
./layaway.nix
|
./layaway.nix
|
||||||
./swayidle.nix
|
./swayidle.nix
|
||||||
./browser.nix
|
./browser.nix
|
||||||
|
./fuzzel.nix
|
||||||
./eww
|
./eww
|
||||||
./niri
|
./niri
|
||||||
];
|
];
|
||||||
|
|
||||||
# temporary(tm)
|
|
||||||
programs.wofi.enable = true;
|
|
||||||
programs.swaylock.enable = true;
|
programs.swaylock.enable = true;
|
||||||
services.network-manager-applet.enable = true;
|
services.network-manager-applet.enable = true;
|
||||||
xsession.enable = true;
|
xsession.enable = true;
|
||||||
|
|
@ -27,6 +26,10 @@
|
||||||
# fucking hell.
|
# fucking hell.
|
||||||
pkgs.obsidian
|
pkgs.obsidian
|
||||||
pkgs.zsh
|
pkgs.zsh
|
||||||
|
pkgs.hyprpicker
|
||||||
|
pkgs.bemoji
|
||||||
|
pkgs.librsvg
|
||||||
|
pkgs.cairo
|
||||||
];
|
];
|
||||||
|
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
|
|
|
||||||
28
modules/desktop/home/fuzzel.nix
Normal file
28
modules/desktop/home/fuzzel.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
programs.fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
font = lib.mkForce "Departure Mono:size=13";
|
||||||
|
terminal = "kitty";
|
||||||
|
lines = 15;
|
||||||
|
width = 50;
|
||||||
|
horizontal-pad = 20;
|
||||||
|
vertical-pad = 12;
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
background = lib.mkForce "282828ff";
|
||||||
|
match = lib.mkForce "d65d0eff";
|
||||||
|
selection-match = lib.mkForce "fe8019ff";
|
||||||
|
border = lib.mkForce "bab9e5ff";
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
radius = 10;
|
||||||
|
selection-radius = 3;
|
||||||
|
width = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings.binds = {
|
|
||||||
# spawn terminal
|
|
||||||
"Mod+Return".action.spawn = "kitty";
|
|
||||||
"Mod+Return".repeat = false;
|
|
||||||
"Mod+D".action.spawn = [
|
|
||||||
"wofi"
|
|
||||||
"-S"
|
|
||||||
"drun"
|
|
||||||
"--allow-images"
|
|
||||||
];
|
|
||||||
"Mod+D".repeat = false;
|
|
||||||
"Mod+I".action.spawn = [
|
|
||||||
"${pkgs.rofimoji}/bin/rofimoji"
|
|
||||||
"--selector"
|
|
||||||
"wofi"
|
|
||||||
"-f"
|
|
||||||
"alchemical_symbols"
|
|
||||||
"anatolian_hieroglyphs"
|
|
||||||
"emojis"
|
|
||||||
"braille_patterns"
|
|
||||||
"box_drawing"
|
|
||||||
"chess_symbols"
|
|
||||||
"emoticons"
|
|
||||||
"geometric_shapes"
|
|
||||||
"gothic"
|
|
||||||
"greek_extended"
|
|
||||||
"math"
|
|
||||||
"mathematical_alphanumeric_symbols"
|
|
||||||
"mathematical_operators"
|
|
||||||
"miscellaneous_symbols"
|
|
||||||
"miscellaneous_mathematical_symbols-a"
|
|
||||||
"miscellaneous_mathematical_symbols-b"
|
|
||||||
"miscellaneous_symbols_and_arrows"
|
|
||||||
"miscellaneous_symbols_and_pictographs"
|
|
||||||
"miscellaneous_technical"
|
|
||||||
"modi"
|
|
||||||
"modifier_tone_letters"
|
|
||||||
"musical_symbols"
|
|
||||||
"nerd_font"
|
|
||||||
"number_forms"
|
|
||||||
"shorthand_format_controls"
|
|
||||||
"specials"
|
|
||||||
"variation_selectors"
|
|
||||||
"vertical_forms"
|
|
||||||
"-a"
|
|
||||||
"copy"
|
|
||||||
];
|
|
||||||
|
|
||||||
"Mod+Shift+E".action.quit = [ ];
|
|
||||||
"Mod+Shift+Q".action.close-window = [ ];
|
|
||||||
"Mod+Ctrl+Shift+P".action.power-off-monitors = [ ];
|
|
||||||
|
|
||||||
"Mod+Shift+Ctrl+Slash".action.toggle-keyboard-shortcuts-inhibit = [ ];
|
|
||||||
"Mod+Shift+Ctrl+Slash".allow-inhibiting = false;
|
|
||||||
|
|
||||||
"Mod+Shift+Slash".action.show-hotkey-overlay = [ ];
|
|
||||||
|
|
||||||
"Mod+Shift+C".action.set-dynamic-cast-window = [ ];
|
|
||||||
"Mod+Ctrl+C".action.set-dynamic-cast-monitor = [ ];
|
|
||||||
"Mod+Shift+Ctrl+C".action.clear-dynamic-cast-target = [ ];
|
|
||||||
|
|
||||||
# window/columns controls
|
|
||||||
"Mod+H".action.focus-column-left = [ ];
|
|
||||||
"Mod+J".action.focus-window-down = [ ];
|
|
||||||
"Mod+K".action.focus-window-up = [ ];
|
|
||||||
"Mod+L".action.focus-column-right = [ ];
|
|
||||||
"Mod+Ctrl+H".action.move-column-left = [ ];
|
|
||||||
"Mod+Ctrl+J".action.move-window-down = [ ];
|
|
||||||
"Mod+Ctrl+K".action.move-window-up = [ ];
|
|
||||||
"Mod+Ctrl+L".action.move-column-right = [ ];
|
|
||||||
"Mod+R".action.switch-preset-column-width = [ ];
|
|
||||||
|
|
||||||
"Mod+G".action.toggle-overview = [ ];
|
|
||||||
|
|
||||||
"Mod+V".action.toggle-window-floating = [ ];
|
|
||||||
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ];
|
|
||||||
|
|
||||||
# monitor controls
|
|
||||||
"Mod+Shift+H".action.focus-monitor-left = [ ];
|
|
||||||
"Mod+Shift+J".action.focus-monitor-down = [ ];
|
|
||||||
"Mod+Shift+K".action.focus-monitor-up = [ ];
|
|
||||||
"Mod+Shift+L".action.focus-monitor-right = [ ];
|
|
||||||
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = [ ];
|
|
||||||
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = [ ];
|
|
||||||
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = [ ];
|
|
||||||
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = [ ];
|
|
||||||
|
|
||||||
# column editing stuffs
|
|
||||||
"Mod+BracketLeft".action.consume-or-expel-window-left = [ ];
|
|
||||||
"Mod+BracketRight".action.consume-or-expel-window-right = [ ];
|
|
||||||
"Mod+F".action.maximize-column = [ ];
|
|
||||||
"Mod+C".action.center-column = [ ];
|
|
||||||
"Mod+Minus".action.set-column-width = "-5%";
|
|
||||||
"Mod+Equal".action.set-column-width = "+5%";
|
|
||||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
|
||||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
|
||||||
"Mod+Shift+W".action.toggle-column-tabbed-display = [ ];
|
|
||||||
|
|
||||||
"Mod+Shift+F".action.expand-column-to-available-width = [ ];
|
|
||||||
"Mod+Ctrl+F".action.fullscreen-window = [ ];
|
|
||||||
"Mod+Shift+Ctrl+F".action.toggle-windowed-fullscreen = [ ];
|
|
||||||
|
|
||||||
# media keys
|
|
||||||
"XF86AudioRaiseVolume".action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-volume"
|
|
||||||
"@DEFAULT_AUDIO_SINK@"
|
|
||||||
"0.1+"
|
|
||||||
];
|
|
||||||
"XF86AudioLowerVolume".action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-volume"
|
|
||||||
"@DEFAULT_AUDIO_SINK@"
|
|
||||||
"0.1-"
|
|
||||||
];
|
|
||||||
"XF86AudioMute".action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-mute"
|
|
||||||
"@DEFAULT_AUDIO_SINK@"
|
|
||||||
"toggle"
|
|
||||||
];
|
|
||||||
"XF86AudioMicMute".action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-mute"
|
|
||||||
"@DEFAULT_AUDIO_SOURCE@"
|
|
||||||
"toggle"
|
|
||||||
];
|
|
||||||
"XF86AudioRaiseVolume".allow-when-locked = true;
|
|
||||||
"XF86AudioLowerVolume".allow-when-locked = true;
|
|
||||||
"XF86AudioMute".allow-when-locked = true;
|
|
||||||
"XF86AudioMicMute".allow-when-locked = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +1,43 @@
|
||||||
{ pkgs, ... }:
|
# this file must only be saved via autosave due to the formatter.
|
||||||
|
# else it will be ugly
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
home.file."config" =
|
||||||
./binds.nix
|
let
|
||||||
./input.nix
|
kdlfiles =
|
||||||
./privacy.nix
|
builtins.readDir ./kdl
|
||||||
./quirks.nix
|
|> lib.filterAttrs (key: value: value == "regular")
|
||||||
./screenshot.nix
|
|> lib.mapAttrsToList (filename: _value: "include \"${./kdl}/${filename}\"");
|
||||||
./style.nix
|
startups =
|
||||||
./workspaces.nix
|
[
|
||||||
./xwayland-sat.nix
|
[
|
||||||
];
|
|
||||||
programs.niri.settings = {
|
|
||||||
outputs."eDP-1" = {
|
|
||||||
scale = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
spawn-at-startup = [
|
|
||||||
{
|
|
||||||
command = [
|
|
||||||
"eww"
|
"eww"
|
||||||
"open-many"
|
"open-many"
|
||||||
"topBar"
|
"topBar"
|
||||||
"bottomBar"
|
"bottomBar"
|
||||||
];
|
]
|
||||||
}
|
[
|
||||||
{
|
|
||||||
command = [
|
|
||||||
"${pkgs.swaybg}/bin/swaybg"
|
"${pkgs.swaybg}/bin/swaybg"
|
||||||
"-i"
|
"-i"
|
||||||
"${./wallpaper.jpg}"
|
"${./wallpaper.jpg}"
|
||||||
"-m"
|
"-m"
|
||||||
"fill"
|
"fill"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"touch"
|
||||||
|
".config/niri/live.kdl"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
|> map (map (word: "\"${word}\""))
|
||||||
|
|> map (lib.concatStringsSep " ")
|
||||||
|
|> map (it: "spawn-at-startup ${it}");
|
||||||
|
other = [
|
||||||
|
"include \"live.kdl\""
|
||||||
|
"output \"eDP-1\" { scale 1.1; }"
|
||||||
];
|
];
|
||||||
}
|
in
|
||||||
];
|
{
|
||||||
|
target = ".config/niri/config.kdl";
|
||||||
|
text = lib.concatLines (startups ++ kdlfiles ++ other);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings.input = {
|
|
||||||
keyboard = {
|
|
||||||
xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "altgr-intl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mouse = {
|
|
||||||
accel-profile = "flat";
|
|
||||||
};
|
|
||||||
touchpad = {
|
|
||||||
tap = false;
|
|
||||||
natural-scroll = true;
|
|
||||||
dwt = true;
|
|
||||||
dwtp = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
77
modules/desktop/home/niri/kdl/binds.kdl
Normal file
77
modules/desktop/home/niri/kdl/binds.kdl
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
binds {
|
||||||
|
// spawn terminal
|
||||||
|
Mod+Return repeat=false { spawn "kitty"; }
|
||||||
|
Mod+D repeat=false { spawn "fuzzel"; }
|
||||||
|
Mod+I repeat=false { spawn "bemoji"; }
|
||||||
|
Mod+M repeat=false { spawn "hyprpicker"; }
|
||||||
|
Mod+E repeat=false { spawn "kitty" "hx" "~/.config/niri/live.kdl"; }
|
||||||
|
|
||||||
|
Mod+Shift+E { quit; }
|
||||||
|
Mod+Shift+Q { close-window; }
|
||||||
|
Mod+Ctrl+Shift+P { power-off-monitors; }
|
||||||
|
|
||||||
|
Mod+Shift+Ctrl+Slash allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||||
|
|
||||||
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
|
||||||
|
Mod+Shift+C { set-dynamic-cast-window; }
|
||||||
|
Mod+Ctrl+C { set-dynamic-cast-monitor; }
|
||||||
|
Mod+Shift+Ctrl+C { clear-dynamic-cast-target; }
|
||||||
|
|
||||||
|
// window/columns controls
|
||||||
|
Mod+H { focus-column-left; }
|
||||||
|
Mod+J { focus-window-down; }
|
||||||
|
Mod+K { focus-window-up; }
|
||||||
|
Mod+L { focus-column-right; }
|
||||||
|
Mod+Ctrl+H { move-column-left; }
|
||||||
|
Mod+Ctrl+J { move-window-down; }
|
||||||
|
Mod+Ctrl+K { move-window-up; }
|
||||||
|
Mod+Ctrl+L { move-column-right; }
|
||||||
|
Mod+R { switch-preset-column-width; }
|
||||||
|
|
||||||
|
Mod+G { toggle-overview; }
|
||||||
|
|
||||||
|
Mod+V { toggle-window-floating; }
|
||||||
|
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||||
|
|
||||||
|
// monitor controls
|
||||||
|
Mod+Shift+H { focus-monitor-left; }
|
||||||
|
Mod+Shift+J { focus-monitor-down; }
|
||||||
|
Mod+Shift+K { focus-monitor-up; }
|
||||||
|
Mod+Shift+L { focus-monitor-right; }
|
||||||
|
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||||
|
|
||||||
|
// column editing stuffs
|
||||||
|
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
Mod+C { center-column; }
|
||||||
|
Mod+Minus { set-column-width "-5%"; }
|
||||||
|
Mod+Equal { set-column-width "+5%"; }
|
||||||
|
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||||
|
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||||
|
Mod+Shift+W { toggle-column-tabbed-display; }
|
||||||
|
|
||||||
|
Mod+F { maximize-column; }
|
||||||
|
Alt+F { expand-column-to-available-width; }
|
||||||
|
Mod+Shift+F { maximize-window-to-edges; }
|
||||||
|
Mod+Ctrl+F { fullscreen-window; }
|
||||||
|
|
||||||
|
Mod+Shift+Ctrl+F { toggle-windowed-fullscreen; }
|
||||||
|
|
||||||
|
// media keys
|
||||||
|
XF86AudioLowerVolume \
|
||||||
|
allow-when-locked=true \
|
||||||
|
{ spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
|
||||||
|
XF86AudioMicMute \
|
||||||
|
allow-when-locked=true \
|
||||||
|
{ spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||||
|
XF86AudioMute \
|
||||||
|
allow-when-locked=true \
|
||||||
|
{ spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||||
|
XF86AudioRaiseVolume \
|
||||||
|
allow-when-locked=true \
|
||||||
|
{ spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
|
||||||
|
}
|
||||||
17
modules/desktop/home/niri/kdl/input.kdl
Normal file
17
modules/desktop/home/niri/kdl/input.kdl
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
input {
|
||||||
|
keyboard {
|
||||||
|
xkb {
|
||||||
|
layout "us"
|
||||||
|
variant "altgr-intl"
|
||||||
|
}
|
||||||
|
repeat-delay 600
|
||||||
|
repeat-rate 25
|
||||||
|
track-layout "global"
|
||||||
|
}
|
||||||
|
touchpad {
|
||||||
|
dwt
|
||||||
|
dwtp
|
||||||
|
natural-scroll
|
||||||
|
}
|
||||||
|
mouse { accel-profile "flat"; }
|
||||||
|
}
|
||||||
19
modules/desktop/home/niri/kdl/overviews.kdl
Normal file
19
modules/desktop/home/niri/kdl/overviews.kdl
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
overview {
|
||||||
|
backdrop-color "110000"
|
||||||
|
zoom 0.381966
|
||||||
|
workspace-shadow {
|
||||||
|
offset x=0 y=10
|
||||||
|
softness 60
|
||||||
|
color "#7f00008f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
recent-windows {
|
||||||
|
debounce-ms 1500
|
||||||
|
open-delay-ms 300
|
||||||
|
highlight {
|
||||||
|
active-color "f69ecf"
|
||||||
|
padding 5
|
||||||
|
corner-radius 2.5
|
||||||
|
}
|
||||||
|
}
|
||||||
12
modules/desktop/home/niri/kdl/privacy.kdl
Normal file
12
modules/desktop/home/niri/kdl/privacy.kdl
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
layer-rule {
|
||||||
|
match namespace="notifications"
|
||||||
|
block-out-from "screen-capture"
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id="^signal|Element|org.gnome.Evolution$"
|
||||||
|
match title="^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$"
|
||||||
|
exclude title="^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$"
|
||||||
|
exclude is-floating=true
|
||||||
|
block-out-from "screen-capture"
|
||||||
|
}
|
||||||
32
modules/desktop/home/niri/kdl/quirks.kdl
Normal file
32
modules/desktop/home/niri/kdl/quirks.kdl
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
// handle steam grabbing focus 1000 times on startup
|
||||||
|
window-rule {
|
||||||
|
match app-id="steam" title="Steam"
|
||||||
|
open-focused false
|
||||||
|
}
|
||||||
|
|
||||||
|
// position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues
|
||||||
|
window-rule {
|
||||||
|
match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$"
|
||||||
|
open-focused false
|
||||||
|
border { off; }
|
||||||
|
shadow { off; }
|
||||||
|
baba-is-float false
|
||||||
|
default-floating-position relative-to="bottom-right" x=0 y=0
|
||||||
|
}
|
||||||
|
|
||||||
|
// fix guild wars
|
||||||
|
window-rule {
|
||||||
|
match app-id="steam_app_1284210" title="Guild Wars 2"
|
||||||
|
match app-id="(steam_app_[0-9]+|[Mm]inecraft.*|gamescope)"
|
||||||
|
border { off; }
|
||||||
|
shadow { off; }
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id="vesktop" is-floating=true title="vesktop"
|
||||||
|
geometry-corner-radius 5
|
||||||
|
}
|
||||||
|
|
||||||
|
environment {
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||||
|
}
|
||||||
9
modules/desktop/home/niri/kdl/screenshot.kdl
Normal file
9
modules/desktop/home/niri/kdl/screenshot.kdl
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
screenshot-path "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png"
|
||||||
|
binds {
|
||||||
|
Ctrl+Print { screenshot-screen; }
|
||||||
|
Mod+Ctrl+S { screenshot-screen; }
|
||||||
|
Mod+Shift+S { screenshot-window; }
|
||||||
|
Shift+Print { screenshot-window; }
|
||||||
|
Mod+S { screenshot; }
|
||||||
|
Print { screenshot; }
|
||||||
|
}
|
||||||
85
modules/desktop/home/niri/kdl/style.kdl
Normal file
85
modules/desktop/home/niri/kdl/style.kdl
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
prefer-no-csd
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
xcursor-theme "phinger-cursors-dark"
|
||||||
|
xcursor-size 32
|
||||||
|
hide-when-typing
|
||||||
|
hide-after-inactive-ms 10000
|
||||||
|
}
|
||||||
|
|
||||||
|
layout {
|
||||||
|
gaps 15
|
||||||
|
struts {
|
||||||
|
left 0
|
||||||
|
right 0
|
||||||
|
top 0
|
||||||
|
bottom 0
|
||||||
|
}
|
||||||
|
focus-ring { off; }
|
||||||
|
border {
|
||||||
|
on
|
||||||
|
width 3
|
||||||
|
active-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#5bcefa"
|
||||||
|
inactive-gradient angle=135 from="#f69ecf" in="oklch shorter hue" relative-to="window" to="#ff9a56"
|
||||||
|
}
|
||||||
|
tab-indicator {
|
||||||
|
hide-when-single-tab
|
||||||
|
gap 2
|
||||||
|
width 5
|
||||||
|
length total-proportion=0.500000
|
||||||
|
position "left"
|
||||||
|
gaps-between-tabs 0
|
||||||
|
corner-radius 3
|
||||||
|
active-color "#5bcefa"
|
||||||
|
inactive-color "#3c3836"
|
||||||
|
}
|
||||||
|
default-column-width
|
||||||
|
center-focused-column "never"
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match is-floating=true
|
||||||
|
exclude app-id="steam_app_[0-9]+"
|
||||||
|
shadow {
|
||||||
|
on
|
||||||
|
offset x=0 y=0
|
||||||
|
softness 40
|
||||||
|
color "#bab9e5af"
|
||||||
|
inactive-color "#fa9d99af"
|
||||||
|
}
|
||||||
|
baba-is-float true
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
geometry-corner-radius 1
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match is-window-cast-target=true
|
||||||
|
border {
|
||||||
|
on
|
||||||
|
active-gradient angle=135 \
|
||||||
|
from="#64de50" \
|
||||||
|
in="oklch shorter hue" \
|
||||||
|
relative-to="window" \
|
||||||
|
to="#5bcefa"
|
||||||
|
inactive-gradient angle=135 \
|
||||||
|
from="#64de50" \
|
||||||
|
in="oklch shorter hue" \
|
||||||
|
relative-to="window" \
|
||||||
|
to="#ff9a56"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layer-rule {
|
||||||
|
match namespace="launcher"
|
||||||
|
geometry-corner-radius 10
|
||||||
|
shadow {
|
||||||
|
on
|
||||||
|
offset x=0 y=0
|
||||||
|
softness 40
|
||||||
|
color "#bab9e5af"
|
||||||
|
}
|
||||||
|
baba-is-float true
|
||||||
|
}
|
||||||
58
modules/desktop/home/niri/kdl/workspaces.kdl
Normal file
58
modules/desktop/home/niri/kdl/workspaces.kdl
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
// WS Social
|
||||||
|
workspace "social"
|
||||||
|
|
||||||
|
spawn-at-startup "signal-desktop"
|
||||||
|
spawn-at-startup ".evolution-wrapped_"
|
||||||
|
spawn-at-startup "vesktop"
|
||||||
|
spawn-at-startup "deltachat"
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id="^(signal|Element|org.gnome.Evolution|discord|steam|DeltaChat)$"
|
||||||
|
open-on-workspace "social"
|
||||||
|
}
|
||||||
|
|
||||||
|
// WS Browser
|
||||||
|
workspace "browser"
|
||||||
|
|
||||||
|
spawn-at-startup "firefox"
|
||||||
|
spawn-at-startup "obsidian"
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id="^firefox|Chromium-browser|obsidian$"
|
||||||
|
open-on-workspace "browser"
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
Mod+P { focus-workspace-up; }
|
||||||
|
Mod+N { focus-workspace-down; }
|
||||||
|
Mod+Ctrl+P { move-workspace-up; }
|
||||||
|
Mod+Ctrl+N { move-workspace-down; }
|
||||||
|
Mod+Shift+P { move-column-to-workspace-up; }
|
||||||
|
Mod+Shift+N { move-column-to-workspace-down; }
|
||||||
|
|
||||||
|
Mod+Q { focus-workspace "social"; }
|
||||||
|
Mod+W { focus-workspace "browser"; }
|
||||||
|
Mod+E { focus-workspace 3; }
|
||||||
|
Mod+Ctrl+Q { move-column-to-workspace "social"; }
|
||||||
|
Mod+Ctrl+W { move-column-to-workspace "browser"; }
|
||||||
|
Mod+Ctrl+E { move-column-to-workspace 3; }
|
||||||
|
|
||||||
|
Mod+1 { focus-workspace 4; }
|
||||||
|
Mod+2 { focus-workspace 5; }
|
||||||
|
Mod+3 { focus-workspace 6; }
|
||||||
|
Mod+4 { focus-workspace 7; }
|
||||||
|
Mod+5 { focus-workspace 8; }
|
||||||
|
Mod+6 { focus-workspace 9; }
|
||||||
|
Mod+7 { focus-workspace 10; }
|
||||||
|
Mod+8 { focus-workspace 11; }
|
||||||
|
Mod+9 { focus-workspace 12; }
|
||||||
|
Mod+Ctrl+1 { move-column-to-workspace 4; }
|
||||||
|
Mod+Ctrl+2 { move-column-to-workspace 5; }
|
||||||
|
Mod+Ctrl+3 { move-column-to-workspace 6; }
|
||||||
|
Mod+Ctrl+4 { move-column-to-workspace 7; }
|
||||||
|
Mod+Ctrl+5 { move-column-to-workspace 8; }
|
||||||
|
Mod+Ctrl+6 { move-column-to-workspace 9; }
|
||||||
|
Mod+Ctrl+7 { move-column-to-workspace 10; }
|
||||||
|
Mod+Ctrl+8 { move-column-to-workspace 11; }
|
||||||
|
Mod+Ctrl+9 { move-column-to-workspace 12; }
|
||||||
|
}
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings = {
|
|
||||||
layer-rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ namespace = "notifications"; }
|
|
||||||
];
|
|
||||||
block-out-from = "screen-capture";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "^signal|Element|org\.gnome\.Evolution$"; }
|
|
||||||
{ title = "^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$"; }
|
|
||||||
];
|
|
||||||
excludes = [
|
|
||||||
{
|
|
||||||
title = "^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$";
|
|
||||||
}
|
|
||||||
{ is-floating = true; }
|
|
||||||
];
|
|
||||||
block-out-from = "screen-capture";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = [ pkgs.gamescope ];
|
|
||||||
programs.niri.settings = {
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
# handle steam grabbing focus 1000 times on startup
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "steam";
|
|
||||||
title = "Steam";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
open-focused = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
# position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "steam";
|
|
||||||
title = "^notificationtoasts_[\\d]+_desktop$";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
default-floating-position = {
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
relative-to = "bottom-right";
|
|
||||||
};
|
|
||||||
shadow.enable = false;
|
|
||||||
border.enable = false;
|
|
||||||
baba-is-float = false;
|
|
||||||
open-focused = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
title = "Guild Wars 2";
|
|
||||||
app-id = "steam_app_1284210";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
border.enable = false;
|
|
||||||
shadow.enable = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "vesktop";
|
|
||||||
title = "vesktop";
|
|
||||||
is-floating = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
geometry-corner-radius =
|
|
||||||
let
|
|
||||||
val = 5.;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
bottom-left = val;
|
|
||||||
bottom-right = val;
|
|
||||||
top-left = val;
|
|
||||||
top-right = val;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# fix electron apps not doing wayland
|
|
||||||
environment.ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings = {
|
|
||||||
screenshot-path = "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png";
|
|
||||||
binds = {
|
|
||||||
"Print".action.screenshot = [ ];
|
|
||||||
"Ctrl+Print".action.screenshot-screen = [ ];
|
|
||||||
"Shift+Print".action.screenshot-window = [ ];
|
|
||||||
"Mod+S".action.screenshot = [ ];
|
|
||||||
"Mod+Ctrl+S".action.screenshot-screen = [ ];
|
|
||||||
"Mod+Shift+S".action.screenshot-window = [ ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings = {
|
|
||||||
prefer-no-csd = true;
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
theme = "phinger-cursors-dark";
|
|
||||||
size = 16;
|
|
||||||
hide-when-typing = true;
|
|
||||||
hide-after-inactive-ms = 10000;
|
|
||||||
};
|
|
||||||
|
|
||||||
# animations.window-open = {
|
|
||||||
# kind = "easing";
|
|
||||||
# curve = "linear";
|
|
||||||
# duration-ms = 230;
|
|
||||||
# };
|
|
||||||
# animations.window-open.custom-shader = builtins.readFile ./shaders/glitch-open.frag;
|
|
||||||
|
|
||||||
layout = {
|
|
||||||
gaps = 15; # :GAPS:- gaps = %GAPS%;-:#
|
|
||||||
focus-ring.enable = false;
|
|
||||||
border = {
|
|
||||||
enable = true;
|
|
||||||
width = 3;
|
|
||||||
inactive.gradient = {
|
|
||||||
from = "#f69ecf";
|
|
||||||
to = "#ff9a56";
|
|
||||||
in' = "oklch shorter hue";
|
|
||||||
relative-to = "window";
|
|
||||||
angle = 135;
|
|
||||||
};
|
|
||||||
active.gradient = {
|
|
||||||
from = "#f69ecf";
|
|
||||||
to = "#5bcefa";
|
|
||||||
in' = "oklch shorter hue";
|
|
||||||
relative-to = "window";
|
|
||||||
angle = 135;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
center-focused-column = "never";
|
|
||||||
empty-workspace-above-first = false;
|
|
||||||
tab-indicator = {
|
|
||||||
hide-when-single-tab = true;
|
|
||||||
active.color = "#5bcefa";
|
|
||||||
inactive.color = "#3c3836";
|
|
||||||
gap = 2;
|
|
||||||
width = 5;
|
|
||||||
corner-radius = 3;
|
|
||||||
position = "left";
|
|
||||||
gaps-between-tabs = 0;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
is-floating = true;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
excludes = [
|
|
||||||
{ app-id = "steam_app_[0-9]+"; }
|
|
||||||
];
|
|
||||||
baba-is-float = true;
|
|
||||||
shadow = {
|
|
||||||
offset.y = 0;
|
|
||||||
offset.x = 0;
|
|
||||||
softness = 40;
|
|
||||||
color = "#bab9e5af";
|
|
||||||
inactive-color = "#fa9d99af";
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "(steam_app_[0-9]+|[Mm]inecraft.*|gamescope)"; }
|
|
||||||
];
|
|
||||||
border.enable = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
geometry-corner-radius =
|
|
||||||
let
|
|
||||||
val = 1.;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
bottom-left = val;
|
|
||||||
bottom-right = val;
|
|
||||||
top-left = val;
|
|
||||||
top-right = val;
|
|
||||||
};
|
|
||||||
clip-to-geometry = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [ { is-window-cast-target = true; } ];
|
|
||||||
border = {
|
|
||||||
inactive.gradient = {
|
|
||||||
from = "#64de50";
|
|
||||||
to = "#ff9a56";
|
|
||||||
in' = "oklch shorter hue";
|
|
||||||
relative-to = "window";
|
|
||||||
angle = 135;
|
|
||||||
};
|
|
||||||
active.gradient = {
|
|
||||||
from = "#64de50";
|
|
||||||
to = "#5bcefa";
|
|
||||||
in' = "oklch shorter hue";
|
|
||||||
relative-to = "window";
|
|
||||||
angle = 135;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
# { ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings =
|
|
||||||
let
|
|
||||||
social = "aaa social";
|
|
||||||
browser = "bbb browser";
|
|
||||||
notes = "ccc notes";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
workspaces = {
|
|
||||||
"aaa social" = { };
|
|
||||||
"bbb browser" = { };
|
|
||||||
"ccc notes" = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
spawn-at-startup = [
|
|
||||||
{ command = [ "vesktop" ]; }
|
|
||||||
{ command = [ "element-desktop" ]; }
|
|
||||||
{ command = [ "signal-desktop" ]; }
|
|
||||||
{ command = [ ".evolution-wrapped_" ]; }
|
|
||||||
|
|
||||||
{ command = [ "obsidian" ]; }
|
|
||||||
{ command = [ "firefox" ]; }
|
|
||||||
];
|
|
||||||
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "^(signal|Element|org\.gnome\.Evolution|discord|steam)$"; }
|
|
||||||
];
|
|
||||||
open-on-workspace = social;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "^firefox|Chromium-browser$"; }
|
|
||||||
];
|
|
||||||
open-on-workspace = browser;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{ app-id = "obsidian"; }
|
|
||||||
];
|
|
||||||
open-on-workspace = notes;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# all workspace binds here,
|
|
||||||
binds = {
|
|
||||||
"Mod+P".action.focus-workspace-up = [ ];
|
|
||||||
"Mod+N".action.focus-workspace-down = [ ];
|
|
||||||
"Mod+Ctrl+P".action.move-workspace-up = [ ];
|
|
||||||
"Mod+Ctrl+N".action.move-workspace-down = [ ];
|
|
||||||
"Mod+Shift+P".action.move-column-to-workspace-up = [ ];
|
|
||||||
"Mod+Shift+N".action.move-column-to-workspace-down = [ ];
|
|
||||||
|
|
||||||
"Mod+Q".action.focus-workspace = social;
|
|
||||||
"Mod+W".action.focus-workspace = browser;
|
|
||||||
"Mod+E".action.focus-workspace = notes;
|
|
||||||
"Mod+Ctrl+Q".action.move-column-to-workspace = social;
|
|
||||||
"Mod+Ctrl+W".action.move-column-to-workspace = browser;
|
|
||||||
"Mod+Ctrl+E".action.move-column-to-workspace = notes;
|
|
||||||
|
|
||||||
"Mod+1".action.focus-workspace = 4;
|
|
||||||
"Mod+2".action.focus-workspace = 5;
|
|
||||||
"Mod+3".action.focus-workspace = 6;
|
|
||||||
"Mod+4".action.focus-workspace = 7;
|
|
||||||
"Mod+5".action.focus-workspace = 8;
|
|
||||||
"Mod+6".action.focus-workspace = 9;
|
|
||||||
"Mod+7".action.focus-workspace = 10;
|
|
||||||
"Mod+8".action.focus-workspace = 11;
|
|
||||||
"Mod+9".action.focus-workspace = 12;
|
|
||||||
"Mod+Ctrl+1".action.move-column-to-workspace = 4;
|
|
||||||
"Mod+Ctrl+2".action.move-column-to-workspace = 5;
|
|
||||||
"Mod+Ctrl+3".action.move-column-to-workspace = 6;
|
|
||||||
"Mod+Ctrl+4".action.move-column-to-workspace = 7;
|
|
||||||
"Mod+Ctrl+5".action.move-column-to-workspace = 8;
|
|
||||||
"Mod+Ctrl+6".action.move-column-to-workspace = 9;
|
|
||||||
"Mod+Ctrl+7".action.move-column-to-workspace = 10;
|
|
||||||
"Mod+Ctrl+8".action.move-column-to-workspace = 11;
|
|
||||||
"Mod+Ctrl+9".action.move-column-to-workspace = 12;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.niri.settings = {
|
|
||||||
spawn-at-startup = [
|
|
||||||
{ command = [ "${pkgs.xwayland-satellite}/bin/xwayland-satellite" ]; }
|
|
||||||
];
|
|
||||||
environment.DISPLAY = ":0";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -3,7 +3,6 @@ let
|
||||||
discord-presence-lsp = pkgs.callPackage ./discord-presence-lsp.nix { };
|
discord-presence-lsp = pkgs.callPackage ./discord-presence-lsp.nix { };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.niri.enable = true;
|
|
||||||
imports = [
|
imports = [
|
||||||
./zed
|
./zed
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
|
programs.helix.themes.gruvmeow = {
|
||||||
|
inherits = "gruvbox_dark_hard";
|
||||||
|
"ui.gutter".bg = "#282828";
|
||||||
|
};
|
||||||
programs.helix.settings = {
|
programs.helix.settings = {
|
||||||
theme = "gruvbox_dark_hard";
|
theme = "gruvmeow";
|
||||||
editor = {
|
editor = {
|
||||||
line-number = "relative";
|
line-number = "relative";
|
||||||
bufferline = "multiple";
|
bufferline = "multiple";
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,13 @@
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "fonts";
|
repo = "fonts";
|
||||||
rev = "8a0041ea7b92e339a7ce13e4e1dadcc85cb8f5df";
|
rev = "0bd2d5599819aa0774f5ca64c8ac3f54ae3fd54f";
|
||||||
sha256 = "sha256-9TzeihEKIEDRtDuv+NmLWjTpoGnBR+RP/jIBfB1O06U=";
|
sha256 = "sha256-E89GYJKG65Dh7TPI6TVre/4LCxXnxvTAPYS/OPj7nPg=";
|
||||||
};
|
};
|
||||||
installPhase = oldAttrs.installPhase + "mv $out/share/fonts/truetype $out/share/fonts/ttf";
|
installPhase =
|
||||||
|
oldAttrs.installPhase
|
||||||
|
+ "mv $out/share/fonts/truetype $out/share/fonts/ttf\n"
|
||||||
|
+ "rm $out/share/fonts/ttf/Noto*Emoji*.ttf";
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -17,8 +20,8 @@
|
||||||
nerd-fonts.fira-code
|
nerd-fonts.fira-code
|
||||||
nerd-fonts.departure-mono
|
nerd-fonts.departure-mono
|
||||||
google-fonts
|
google-fonts
|
||||||
|
noto-fonts-color-emoji
|
||||||
montserrat
|
montserrat
|
||||||
noto-fonts
|
|
||||||
atkinson-hyperlegible
|
atkinson-hyperlegible
|
||||||
arkpandora_ttf
|
arkpandora_ttf
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
|
|
@ -42,7 +45,7 @@
|
||||||
fonts.fontconfig = {
|
fonts.fontconfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
emoji = [ ];
|
emoji = [ "Noto Color Emoji" ];
|
||||||
monospace = [ ];
|
monospace = [ ];
|
||||||
sansSerif = [ "Atkinson Hyperlegible" ];
|
sansSerif = [ "Atkinson Hyperlegible" ];
|
||||||
serif = [ ];
|
serif = [ ];
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
{
|
{
|
||||||
rs-programs,
|
rs-programs,
|
||||||
niri,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
nix = {
|
nix = {
|
||||||
extraOptions = ''
|
extraOptions = ''
|
||||||
experimental-features = nix-command flakes
|
experimental-features = nix-command flakes pipe-operator
|
||||||
keep-outputs = true
|
keep-outputs = true
|
||||||
keep-derivations = true
|
keep-derivations = true
|
||||||
'';
|
'';
|
||||||
|
|
@ -27,7 +26,6 @@
|
||||||
};
|
};
|
||||||
overlays = [
|
overlays = [
|
||||||
rs-programs
|
rs-programs
|
||||||
niri.overlays.niri
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue