Nixfiles! :3
0

Configure Feed

Select the types of activity you want to include in your feed.

2026-02-22 02:33

MLC Bloeiman (Feb 22, 2026, 2:32 AM +0100) aeb5468d 57b23fb6

+89 -132
-1
configs/niri/config.kdl
··· 257 257 // See the binds section below for more spawn examples. 258 258 259 259 // spawn-at-startup "waybar" 260 - spawn-at-startup "bash" "/home/mar/.config/niri/scripts/show-osktoggle-if-fennekin.sh" 261 260 spawn-at-startup "noctalia-shell" 262 261 // spawn-at-startup "blueman-tray" 263 262 // spawn-at-startup "anyrun" "daemon"
+42 -117
home/modules/niri.nix
··· 5 5 ./niri/anyrun.nix 6 6 ./niri/noctalia.nix 7 7 ]; 8 - home.packages = 9 - with pkgs; 10 - [ 11 - niri 12 - kdePackages.krunner 13 - pavucontrol 14 - btop 15 - # htop 16 - hyprlock 17 - libnotify 18 - xwayland-satellite 19 - wireplumber 20 - kdePackages.kdeconnect-kde 21 - brightnessctl 22 - xclip 23 - wl-clipboard 24 - cliphist 25 - playerctl 26 - blueman 27 - killall 28 - wvkbd 29 - wlogout 30 - # mako 31 - # swww 32 - # fuzzel 33 - # waybar 34 - # waybar-mpris 35 - # I should make a proper input and a flake out of this but instead I'll be lazy and yeet the .so into my dotfiles. 36 - # ( 37 - # if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then 38 - # (runCommand "libniri-taskbar" { } '' 39 - # mkdir -p $out/lib 40 - # cp -r ${../../libs}/linux-x64/libniri-taskbar.so $out/lib/libniri-taskbar.so 41 - # '') 42 - # else 43 - # cowsay 44 - # ) 45 - ] 46 - ++ ( 47 - if hostname == "Fennekin" then 48 - [ 49 - waybar # re-enabled for osktoggle 50 - ] 51 - else 52 - [ ] 53 - ); 8 + home.packages = with pkgs; [ 9 + niri 10 + wev 11 + kdePackages.krunner 12 + pavucontrol 13 + btop 14 + hyprlock 15 + libnotify 16 + xwayland-satellite 17 + wireplumber 18 + kdePackages.kdeconnect-kde 19 + brightnessctl 20 + xclip 21 + wl-clipboard 22 + cliphist 23 + playerctl 24 + blueman 25 + killall 26 + wvkbd 27 + wlogout 28 + # htop 29 + # mako 30 + # swww 31 + # fuzzel 32 + # waybar 33 + # waybar-mpris 34 + # I should make a proper input and a flake out of this but instead I'll be lazy and yeet the .so into my dotfiles. 35 + # ( 36 + # if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then 37 + # (runCommand "libniri-taskbar" { } '' 38 + # mkdir -p $out/lib 39 + # cp -r ${../../libs}/linux-x64/libniri-taskbar.so $out/lib/libniri-taskbar.so 40 + # '') 41 + # else 42 + # cowsay 43 + # ) 44 + ]; 54 45 xdg.configFile."niri/config.kdl" = { 55 46 source = ../../configs/niri/config.kdl; 56 47 }; 57 - xdg.configFile."niri/scripts/show-osktoggle-if-fennekin.sh" = { 58 - text = '' 59 - #!/run/current-system/sw/bin/bash 60 - 61 - HOSTNAME=$(hostname) 62 - 63 - if [ "$HOSTNAME" = "Fennekin" ]; then 64 - waybar -c ~/.config/waybar/osktoggle-only.json -s ~/.config/waybar/osktoggle-only.css & 65 - fi 66 - ''; 67 - executable = true; 68 - }; 69 48 xdg.configFile."niri/scripts/osk.sh" = { 70 49 text = '' 71 50 #!/run/current-system/sw/bin/bash 72 51 # Relaunch the touch keyboard if it crashed 73 52 74 - line=$(ps -C wvkbd-mobintl --no-headers) 75 - if [ -z "$line" ]; then 76 - wvkbd-mobintl -L 300 53 + PID=$(pidof wvkbd-mobintl) 54 + 55 + if [ -z "$PID" ]; then 56 + wvkbd-mobintl -L 300 --bg e06666 --fg f4cccc --fg-sp fa8071 --text 000000 --text-sp 000000 --press ff4d47 --press-sp ff0000 --alpha 200 77 57 else 78 58 echo $line >/dev/null 79 59 # Its running, so send it a signal to toggle it up 80 - kill -34 $(ps -C wvkbd-mobintl) 60 + kill -34 "$PID" 81 61 fi 82 62 ''; 83 63 executable = true; 84 64 }; 85 65 86 - xdg.configFile."waybar/osktoggle-only.json".text = builtins.toJSON { 87 - "exclusive" = false; 88 - "passthrough" = false; 89 - "fixed-center" = false; 90 - "anchor" = { 91 - "bottom" = true; 92 - "right" = true; 93 - }; 94 - "layer" = "top"; 95 - "position" = "bottom"; 96 - "margin-right" = 0; 97 - "margin-bottom" = 0; 98 - "width" = 40; 99 - "height" = 40; 100 - "modules-right" = [ "custom/osktoggle" ]; 101 - "custom/osktoggle" = { 102 - "format" = " "; 103 - "on-click" = "/home/mar/.config/niri/scripts/osk.sh"; 104 - "tooltip-format" = "Toggle the on-screen keyboard (restarts the keyboard if needed.)"; 105 - 106 - }; 107 - }; 108 - xdg.configFile."waybar/osktoggle-only.css".text = '' 109 - * { 110 - font-family: 111 - Atkinson Hyperlegible Next, 112 - "Font Awesome 6 Free", 113 - FontAwesome, 114 - Ubuntu, 115 - Arial, 116 - sans-serif; 117 - border: none; 118 - border-radius: 0px; 119 - } 120 - 121 - window#waybar { 122 - background-color: transparent; 123 - /* border-bottom: 3px groove rgb(255,204,255); */ 124 - /* color: #FFFFFF; */ 125 - transition-property: background-color; 126 - transition-duration: 0.5s; 127 - } 128 - #custom-osktoggle { 129 - border-radius: 5px; 130 - font-size: 20px; 131 - padding: 4px; 132 - background-color: #e06666; 133 - color: #000000; 134 - margin: 5px 5px 5px 5px; 135 - border-radius: 5px; 136 - border: 0px; 137 - font-weight: bold; 138 - font-style: normal; 139 - } 140 - ''; 141 66 xdg.configFile."wlogout" = { 142 67 source = ../../configs/niri/wlogout; 143 68 recursive = true;
+47 -14
home/modules/niri/noctalia.nix
··· 58 58 left = [ 59 59 { 60 60 id = "Workspace"; 61 + # showApplications = true; 62 + showLabelsOnlyWhenOccupied = false; 63 + hideUnoccupied = true; 64 + iconScale = 0.8; 61 65 } 62 - # { 63 - # id = "Launcher"; 64 - # } 65 66 { 66 67 id = "ActiveWindow"; 68 + maxWidth = 260; 67 69 } 68 70 ]; 69 71 center = [ 70 72 { 71 73 id = "Clock"; 74 + formatHorizontal = "HH:mm\\ndddd, MMMM dd"; 75 + formatVertical = "HH:mm"; 76 + tooltipFormat = ""; 77 + } 78 + ]; 79 + right = [ 80 + { 81 + id = "Tray"; 72 82 } 73 83 { 74 - id = "plugin:kde-connect"; 84 + id = "NotificationHistory"; 85 + showUnreadBadge = false; 86 + hideWhenZeroUnread = true; 75 87 } 76 - ]; 77 - right = [ 78 88 { 79 89 id = "MediaMini"; 80 90 } 81 91 { 82 - id = "Tray"; 92 + id = "CustomButton"; 93 + icon = "keyboard"; 94 + leftClickExec = "bash -c '/home/mar/.config/niri/scripts/osk.sh'"; 95 + generalTooltipText = "Toggle the on-screen keyboard (restarts the keyboard if needed.)"; 96 + showIcon = true; 83 97 } 84 98 { 85 - id = "NotificationHistory"; 99 + id = "plugin:kde-connect"; 86 100 } 87 - # { 88 - # id = "SystemMonitor"; 89 - # } 90 101 { 91 102 id = "plugin:catwalk"; 92 103 } 93 104 { 94 - id = "Battery"; 105 + id = "Spacer"; 95 106 } 96 107 { 97 108 id = "Volume"; ··· 100 111 id = "Brightness"; 101 112 } 102 113 { 103 - id = "PowerProfile"; 114 + id = "NightLight"; 115 + } 116 + { 117 + id = "Spacer"; 118 + } 119 + { 120 + alwaysShowPercentage = false; 121 + id = "Battery"; 122 + warningThreshold = 30; 123 + displayMode = "graphic"; 124 + showPowerProfiles = true; 125 + showNoctaliaPerformance = true; 104 126 } 105 127 { 106 128 id = "Network"; ··· 109 131 id = "Bluetooth"; 110 132 } 111 133 { 112 - id = "NightLight"; 134 + id = "Spacer"; 135 + } 136 + { 137 + id = "LockKeys"; 138 + hideWhenOff = true; 139 + } 140 + { 141 + id = "CustomButton"; 142 + icon = "power"; 143 + leftClickExec = "wlogout"; 144 + generalTooltipText = "Power off options"; 145 + showIcon = true; 113 146 } 114 147 ]; 115 148 };