mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
configure wayland for kabsa
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
}: {
|
||||
home-manager.users.me = {
|
||||
services.flameshot = {
|
||||
package = pkgs.flameshot.override { enableWlrSupport = true; };
|
||||
enable = true;
|
||||
settings.General = {
|
||||
autoCloseIdleDaemon = true;
|
||||
|
||||
@@ -124,7 +124,7 @@ in {
|
||||
kdePackages.okular # the word is nucular
|
||||
xournalpp # for annotating pdfs
|
||||
pdfpc # presenter console for pdf slides
|
||||
niveumPackages.hc # print files as qr codes
|
||||
# niveumPackages.hc # print files as qr codes
|
||||
yt-dlp
|
||||
espeak
|
||||
rink # unit converter
|
||||
@@ -144,7 +144,7 @@ in {
|
||||
niveumPackages.pls
|
||||
niveumPackages.mpv-tv
|
||||
niveumPackages.mpv-iptv
|
||||
jellyfin-media-player
|
||||
# jellyfin-media-player
|
||||
niveumPackages.devanagari
|
||||
niveumPackages.betacode # ancient greek betacode to unicode converter
|
||||
niveumPackages.meteo
|
||||
@@ -240,7 +240,7 @@ in {
|
||||
nodePackages.csslint
|
||||
nodePackages.jsonlint
|
||||
deno # better node.js
|
||||
texlive.combined.scheme-full
|
||||
# texlive.combined.scheme-full
|
||||
latexrun
|
||||
(aspellWithDicts (dict: [dict.de dict.en dict.en-computers]))
|
||||
# haskellPackages.pandoc-citeproc
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
nur.overlays.default
|
||||
(self: super: {
|
||||
mpv = super.mpv.override {scripts = [inputs.self.packages.${system}.mpv-visualizer super.mpvScripts.mpris];};
|
||||
dmenu = super.writers.writeDashBin "dmenu" ''exec ${pkgs.rofi}/bin/rofi -dmenu "$@"'';
|
||||
dmenu = super.writers.writeDashBin "dmenu" ''exec ${pkgs.fuzzel}/bin/fuzzel --dmenu "$@"'';
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,17 +1,314 @@
|
||||
{
|
||||
config,
|
||||
niveumPackages,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../../lib) retiolumAddresses;
|
||||
in {
|
||||
}:
|
||||
let
|
||||
inherit (import ../../lib) retiolumAddresses defaultApplications;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../kibbeh/hardware-configuration.nix
|
||||
../../configs/tlp.nix
|
||||
../../configs/default.nix
|
||||
../../configs/networkmanager.nix
|
||||
../../configs/power-action.nix
|
||||
{
|
||||
programs.niri.enable = true;
|
||||
services.displayManager.defaultSession = lib.mkForce "niri";
|
||||
home-manager.users.me = {
|
||||
programs.alacritty.enable = true; # Super+T in the default setting (terminal)
|
||||
programs.fuzzel.enable = true; # Super+D in the default setting (app launcher)
|
||||
programs.swaylock.enable = true; # Super+Alt+L in the default setting (screen locker)
|
||||
programs.waybar.enable = true; # launch on startup in the default setting (bar)
|
||||
services.mako.enable = true; # notification daemon
|
||||
services.swayidle.enable = true; # idle management daemon
|
||||
home.packages = with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
swaybg
|
||||
];
|
||||
home.file.".config/niri/config.kdl".text =
|
||||
let
|
||||
klem = niveumPackages.klem.override {
|
||||
config.dmenu = "${pkgs.dmenu}/bin/dmenu -i -p klem";
|
||||
config.scripts = {
|
||||
"p.r paste" = pkgs.writers.writeDash "p.r" ''
|
||||
${pkgs.curl}/bin/curl -fSs http://p.r --data-binary @- \
|
||||
| ${pkgs.coreutils}/bin/tail --lines=1 \
|
||||
| ${pkgs.gnused}/bin/sed 's/\\<r\\>/krebsco.de/'
|
||||
'';
|
||||
"envs.sh paste" = pkgs.writers.writeDash "envs-host" ''
|
||||
${pkgs.curl}/bin/curl -F "file=@-" https://envs.sh
|
||||
'';
|
||||
"envs.sh shorten" = pkgs.writers.writeDash "envs-shorten" ''
|
||||
${pkgs.curl}/bin/curl -F "shorten=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
|
||||
'';
|
||||
"go.r shorten" = pkgs.writers.writeDash "go.r" ''
|
||||
${pkgs.curl}/bin/curl -fSs http://go.r -F "uri=$(${pkgs.coreutils}/bin/cat)"
|
||||
'';
|
||||
"4d2.org paste" = pkgs.writers.writeDash "4d2-paste" ''
|
||||
${pkgs.curl}/bin/curl -F "file=@-" https://depot.4d2.org/
|
||||
'';
|
||||
"0x0.st shorten" = pkgs.writers.writeDash "0x0.st" ''
|
||||
${pkgs.curl}/bin/curl -fSs https://0x0.st -F "shorten=$(${pkgs.coreutils}/bin/cat)"
|
||||
'';
|
||||
"rot13" = pkgs.writers.writeDash "rot13" ''
|
||||
${pkgs.coreutils}/bin/tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
|
||||
'';
|
||||
"ipa" = pkgs.writers.writeDash "ipa" ''
|
||||
${niveumPackages.ipa}/bin/ipa
|
||||
'';
|
||||
"betacode" = pkgs.writers.writeDash "betacode" ''
|
||||
${niveumPackages.betacode}/bin/betacode
|
||||
'';
|
||||
"curl" = pkgs.writers.writeDash "curl" ''
|
||||
${pkgs.curl}/bin/curl -fSs "$(${pkgs.coreutils}/bin/cat)"
|
||||
'';
|
||||
ocr = pkgs.writers.writeDash "ocr" ''
|
||||
${pkgs.tesseract4}/bin/tesseract -l eng+deu - stdout
|
||||
'';
|
||||
emojai = pkgs.writers.writeDash "emojai" ''
|
||||
${pkgs.curl}/bin/curl https://www.emojai.app/api/generate -X POST -H 'Content-Type: application/json' --data-raw "$(${pkgs.jq}/bin/jq -sR '{emoji:.}')" | ${pkgs.jq}/bin/jq -r .result
|
||||
'';
|
||||
"gpt-3.5" = pkgs.writers.writeDash "gpt" ''
|
||||
${niveumPackages.gpt35}/bin/gpt
|
||||
'';
|
||||
gpt-4 = pkgs.writers.writeDash "gpt" ''
|
||||
${niveumPackages.gpt4}/bin/gpt
|
||||
'';
|
||||
};
|
||||
};
|
||||
in
|
||||
''
|
||||
spawn-at-startup waybar
|
||||
|
||||
input {
|
||||
warp-mouse-to-focus
|
||||
focus-follows-mouse max-scroll-amount="0%"
|
||||
|
||||
keyboard {
|
||||
repeat-rate 35
|
||||
repeat-delay 350
|
||||
track-layout "global"
|
||||
|
||||
xkb {
|
||||
layout "de"
|
||||
variant "T3"
|
||||
options "ctrl:nocaps,compose:caps"
|
||||
}
|
||||
}
|
||||
touchpad {
|
||||
click-method "clickfinger"
|
||||
tap
|
||||
dwt
|
||||
dwtp
|
||||
}
|
||||
}
|
||||
|
||||
prefer-no-csd
|
||||
|
||||
hotkey-overlay {
|
||||
skip-at-startup
|
||||
}
|
||||
|
||||
layout {
|
||||
gaps 5
|
||||
|
||||
default-column-width {
|
||||
proportion 0.5
|
||||
}
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.33333
|
||||
proportion 0.5
|
||||
proportion 0.66667
|
||||
}
|
||||
|
||||
focus-ring {
|
||||
width 2
|
||||
}
|
||||
|
||||
shadow {
|
||||
// on
|
||||
softness 30
|
||||
spread 5
|
||||
offset x=0 y=5
|
||||
draw-behind-window true
|
||||
color "#00000070"
|
||||
// inactive-color "#00000054"
|
||||
}
|
||||
|
||||
tab-indicator {
|
||||
// off
|
||||
hide-when-single-tab
|
||||
place-within-column
|
||||
gap 5
|
||||
width 4
|
||||
length total-proportion=1.0
|
||||
position "right"
|
||||
gaps-between-tabs 2
|
||||
corner-radius 8
|
||||
active-color "red"
|
||||
inactive-color "gray"
|
||||
urgent-color "blue"
|
||||
// active-gradient from="#80c8ff" to="#bbddff" angle=45
|
||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||
// urgent-gradient from="#800" to="#a33" angle=45
|
||||
}
|
||||
|
||||
border {
|
||||
off
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
// off
|
||||
workspace-switch {
|
||||
spring damping-ratio=1.0 stiffness=1000 epsilon=0.0001
|
||||
}
|
||||
|
||||
window-open {
|
||||
duration-ms 150
|
||||
curve "ease-out-expo"
|
||||
}
|
||||
|
||||
window-close {
|
||||
duration-ms 150
|
||||
curve "ease-out-quad"
|
||||
}
|
||||
|
||||
horizontal-view-movement {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
||||
}
|
||||
|
||||
window-movement {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
||||
}
|
||||
|
||||
window-resize {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
||||
}
|
||||
|
||||
config-notification-open-close {
|
||||
spring damping-ratio=0.6 stiffness=1000 epsilon=0.001
|
||||
}
|
||||
|
||||
screenshot-ui-open {
|
||||
duration-ms 200
|
||||
curve "ease-out-quad"
|
||||
}
|
||||
|
||||
overview-open-close {
|
||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.0001
|
||||
}
|
||||
}
|
||||
|
||||
window-rule {
|
||||
geometry-corner-radius 0
|
||||
clip-to-geometry true
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match is-window-cast-target=true
|
||||
|
||||
border {
|
||||
on
|
||||
width 3
|
||||
active-color "#f38ba8"
|
||||
inactive-color "#7d0d2d"
|
||||
}
|
||||
}
|
||||
|
||||
binds {
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
Mod+Return { spawn "${(defaultApplications pkgs).terminal}"; }
|
||||
Mod+D { spawn "${pkgs.writers.writeDash "run" ''exec rofi -modi run,ssh,window -show run''}"; }
|
||||
Mod+Shift+D { spawn "${niveumPackages.notemenu}/bin/notemenu"; }
|
||||
Mod+T { spawn "${(defaultApplications pkgs).fileManager}"; }
|
||||
Mod+Y { spawn "${(defaultApplications pkgs).browser}"; }
|
||||
Mod+P { spawn "rofi-pass"; }
|
||||
Mod+U { spawn "${niveumPackages.unicodmenu}/bin/unicodmenu"; }
|
||||
|
||||
Mod+B { spawk "killall -SIGUSR1 waybar"; }
|
||||
Mod+F12 { spawn "${klem}/bin/klem"; }
|
||||
|
||||
Mod+Shift+Q { close-window; }
|
||||
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "${pkgs.pamixer}/bin/pamixer -i 5"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "${pkgs.pamixer}/bin/pamixer -d 5"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "${pkgs.pamixer}/bin/pamixer -t"; }
|
||||
|
||||
XF86AudioPause allow-when-locked=true { spawn "${pkgs.playerctl}/bin/playerctl play-pause"; }
|
||||
XF86AudioPlay allow-when-locked=true { spawn "${pkgs.playerctl}/bin/playerctl play-pause"; }
|
||||
XF86AudioNext allow-when-locked=true { spawn "${pkgs.playerctl}/bin/playerctl next"; }
|
||||
XF86AudioPrev allow-when-locked=true { spawn "${pkgs.playerctl}/bin/playerctl previous"; }
|
||||
XF86AudioStop allow-when-locked=true { spawn "${pkgs.playerctl}/bin/playerctl stop"; }
|
||||
Print { spawn "flameshot gui"; }
|
||||
Mod+Shift+W { spawn "swaylock"; }
|
||||
|
||||
Mod+Comma { consume-or-expel-window-left; }
|
||||
Mod+Period { consume-or-expel-window-right; }
|
||||
Mod+W { toggle-column-tabbed-display; }
|
||||
Mod+A repeat=false { toggle-overview; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+C { center-column; }
|
||||
Mod+Minus { set-column-width "-25%"; }
|
||||
Mod+Plus { set-column-width "+25%"; }
|
||||
|
||||
Mod+H { focus-column-or-monitor-left; }
|
||||
Mod+J { focus-window-or-workspace-down; }
|
||||
Mod+K { focus-window-or-workspace-up; }
|
||||
Mod+L { focus-column-or-monitor-right; }
|
||||
|
||||
Mod+Shift+H { move-column-left-or-to-monitor-left; }
|
||||
Mod+Shift+J { move-window-down-or-to-workspace-down; }
|
||||
Mod+Shift+K { move-window-up-or-to-workspace-up; }
|
||||
Mod+Shift+L { move-column-right-or-to-monitor-right; }
|
||||
|
||||
Mod+Ctrl+H { focus-monitor-left; }
|
||||
Mod+Ctrl+J { focus-monitor-down; }
|
||||
Mod+Ctrl+K { focus-monitor-up; }
|
||||
Mod+Ctrl+L { focus-monitor-right; }
|
||||
|
||||
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||
Mod+Shift+Ctrl+J { move-column-to-workspace-down; }
|
||||
Mod+Shift+Ctrl+K { move-column-to-workspace-up; }
|
||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||
|
||||
Mod+Shift+Alt+Ctrl+H { move-workspace-to-monitor-left; }
|
||||
Mod+Shift+Alt+Ctrl+J { move-workspace-down; }
|
||||
Mod+Shift+Alt+Ctrl+K { move-workspace-up; }
|
||||
Mod+Shift+Alt+Ctrl+L { move-workspace-to-monitor-right; }
|
||||
|
||||
Mod+1 { focus-workspace 1; }
|
||||
Mod+2 { focus-workspace 2; }
|
||||
Mod+3 { focus-workspace 3; }
|
||||
Mod+4 { focus-workspace 4; }
|
||||
Mod+5 { focus-workspace 5; }
|
||||
Mod+6 { focus-workspace 6; }
|
||||
Mod+7 { focus-workspace 7; }
|
||||
Mod+8 { focus-workspace 8; }
|
||||
Mod+9 { focus-workspace 9; }
|
||||
Mod+0 { focus-workspace 10; }
|
||||
|
||||
Mod+Shift+1 { move-window-to-workspace "1"; }
|
||||
Mod+Shift+2 { move-window-to-workspace "2"; }
|
||||
Mod+Shift+3 { move-window-to-workspace "3"; }
|
||||
Mod+Shift+4 { move-window-to-workspace "4"; }
|
||||
Mod+Shift+5 { move-window-to-workspace "5"; }
|
||||
Mod+Shift+6 { move-window-to-workspace "6"; }
|
||||
Mod+Shift+7 { move-window-to-workspace "7"; }
|
||||
Mod+Shift+8 { move-window-to-workspace "8"; }
|
||||
Mod+Shift+9 { move-window-to-workspace "9"; }
|
||||
Mod+Shift+0 { move-window-to-workspace "0"; }
|
||||
}
|
||||
'';
|
||||
};
|
||||
services.gnome.gnome-keyring.enable = true; # secret service
|
||||
security.pam.services.swaylock = { };
|
||||
}
|
||||
];
|
||||
|
||||
niveum = {
|
||||
@@ -45,13 +342,13 @@ in {
|
||||
wireguard-aether-psk.file = ../../secrets/kabsa-wireguard-aether-psk.age;
|
||||
};
|
||||
|
||||
networking.wg-quick.interfaces.aether.address = ["192.168.178.203/24"];
|
||||
networking.wg-quick.interfaces.aether.address = [ "192.168.178.203/24" ];
|
||||
|
||||
environment.systemPackages = [pkgs.zeroad];
|
||||
environment.systemPackages = [ pkgs.zeroad ];
|
||||
|
||||
networking = {
|
||||
hostName = "kabsa";
|
||||
wireless.interfaces = ["wlp3s0"];
|
||||
wireless.interfaces = [ "wlp3s0" ];
|
||||
retiolum = retiolumAddresses.kabsa;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user