diff --git a/dotfiles/dot_config/eww/eww.scss b/dotfiles/dot_config/eww/eww.scss
new file mode 100644
index 0000000..e69de29
diff --git a/dotfiles/dot_config/eww/eww.yuck b/dotfiles/dot_config/eww/eww.yuck
new file mode 100644
index 0000000..7b70028
--- /dev/null
+++ b/dotfiles/dot_config/eww/eww.yuck
@@ -0,0 +1,12 @@
+(defwindow example
+ :monitor 0
+ :geometry (geometry :x "0%"
+ :y "20px"
+ :width "90%"
+ :height "30px"
+ :anchor "top center")
+ :stacking "fg"
+ :reserve (struts :distance "40px" :side "top")
+ :windowtype "dock"
+ :wm-ignore false
+ "example content")
diff --git a/dotfiles/dot_config/niri/config.kdl b/dotfiles/dot_config/niri/config.kdl
index eba3f95..68e9d6e 100644
--- a/dotfiles/dot_config/niri/config.kdl
+++ b/dotfiles/dot_config/niri/config.kdl
@@ -20,22 +20,34 @@ input {
mouse {
natural-scroll
- // accel-speed 0.2
- // accel-profile "flat"
- // scroll-method "no-scroll"
+ accel-speed 0.2
+ accel-profile "flat"
}
- // Uncomment this to make the mouse warp to the center of newly focused windows.
- // warp-mouse-to-focus
+ workspace-auto-back-and-forth
}
output "eDP-1" {
mode "2560x1600"
background-color "#000000"
- scale 1.5
+ scale 1
transform "normal"
}
+output "DP-3" {
+ mode "3840x2160@59.997"
+ background-color "#000000"
+ scale 1.1
+ transform "normal"
+}
+
+environment {
+ DISPLAY ":0"
+ //QT_QPA_PLATFORM "wayland"
+ //XDG_CURRENT_DESKTOP "niri"
+ //XDG_SESSION_TYPE "wayland"
+}
+
layout {
gaps 10
center-focused-column "never"
@@ -57,21 +69,31 @@ layout {
}
}
-prefer-no-csd
+workspace "main"
+workspace "scratchpad"
-spawn-at-startup "mako"
-spawn-at-startup "yambar"
-spawn-at-startup "xwayland-satellite"
-spawn-at-startup "fuzzel"
+// prefer-no-csd
+
+// spawn-at-startup "mako"
+// spawn-at-startup "fuzzel"
+// spawn-at-startup "eww" "daemon"
+spawn-at-startup "xwayland-satellite" ":0"
+spawn-at-startup "clipse" "-listen"
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
- slowdown 3.0
+ slowdown 1.0
+}
+
+window-rule {
+ match app-id="plexamp"
+ open-on-workspace "scratchpad"
+ open-floating true
}
// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
-// Work around WezTerm's initial configure bug
+// Work around WezTerm initial configure bug
// by setting an empty default-column-width.
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
@@ -88,7 +110,7 @@ window-rule {
}
window-rule {
- geometry-corner-radius 6
+ geometry-corner-radius 12
clip-to-geometry true
}
@@ -98,7 +120,7 @@ binds {
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+T { spawn "wezterm"; }
- Mod+D { spawn "fuzzel"; }
+ Mod+Space { spawn "fuzzel"; }
Super+Alt+L { spawn "swaylock"; }
// Example volume keys mappings for PipeWire & WirePlumber.
@@ -258,7 +280,8 @@ binds {
// Move the focused window between the floating and the tiling layout.
Mod+X { toggle-window-floating; }
- Mod+Shift+X { switch-focus-between-floating-and-tiling; }
+ // Mod+Shift+X { switch-focus-between-floating-and-tiling; }
+ Mod+Shift+X { focus-workspace "scratchpad"; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
@@ -274,7 +297,7 @@ binds {
// The quit action will show a confirmation dialog to avoid accidental exits.
Mod+Shift+E { quit; }
- Ctrl+Alt+Delete { quit; }
+ //Ctrl+Alt+Delete { quit; }
// Powers off the monitors. To turn them back on, do any input like
// moving the mouse or pressing any other key.
diff --git a/dotfiles/dot_config/waybar/config b/dotfiles/dot_config/waybar/config
new file mode 100644
index 0000000..5a2f5e5
--- /dev/null
+++ b/dotfiles/dot_config/waybar/config
@@ -0,0 +1,51 @@
+{
+ "modules-left": ["clock", "niri/workspaces", "custom/media"],
+ "modules-center": ["niri/window"],
+ "modules-right": ["tray", "pulseaudio", "idle_inhibitor", "custom/power"],
+
+ "network": {
+ "format-wifi": "{essid} ({signalStrength}%) ",
+ "format-ethernet": "{ifname} ",
+ "format-disconnected": "",
+ "max-length": 50,
+ "on-click": "kitty -e 'nmtui'"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ },
+ },
+ "tray": {
+ "icon-size": 15,
+ "spacing": 10
+ },
+ "clock": {
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}",
+ "on-click": "gnome-calendar"
+ },
+ "pulseaudio": {
+ "format": "{volume}% {icon} ",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": "0% {icon} ",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/power": {
+ "format": " ",
+ "on-click": "wlogout"
+ }
+}
diff --git a/dotfiles/dot_config/waybar/style.css b/dotfiles/dot_config/waybar/style.css
new file mode 100644
index 0000000..7653e28
--- /dev/null
+++ b/dotfiles/dot_config/waybar/style.css
@@ -0,0 +1,101 @@
+* {
+ border: none;
+ font-size: 14px;
+ font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
+ min-height: 25px;
+}
+
+window#waybar {
+ background: transparent;
+ margin: 5px;
+ }
+
+#custom-logo {
+ padding: 0 10px;
+}
+
+.modules-right {
+ padding-left: 5px;
+ border-radius: 15px 0 0 15px;
+ margin-top: 2px;
+ background: #000000;
+}
+
+.modules-center {
+ padding: 0 15px;
+ margin-top: 2px;
+ border-radius: 15px 15px 15px 15px;
+ background: #000000;
+}
+
+.modules-left {
+ border-radius: 0 15px 15px 0;
+ margin-top: 2px;
+ background: #000000;
+}
+
+#battery,
+#custom-clipboard,
+#custom-colorpicker,
+#custom-powerDraw,
+#bluetooth,
+#pulseaudio,
+#network,
+#disk,
+#memory,
+#backlight,
+#cpu,
+#temperature,
+#custom-weather,
+#idle_inhibitor,
+#jack,
+#tray,
+#window,
+#workspaces,
+#clock {
+ padding: 0 5px;
+}
+#pulseaudio {
+ padding-top: 3px;
+}
+
+#temperature.critical,
+#pulseaudio.muted {
+ color: #FF0000;
+ padding-top: 0;
+}
+
+
+
+
+#clock{
+ color: #5fd1fa;
+}
+
+#battery.charging {
+ color: #ffffff;
+ background-color: #26A65B;
+}
+
+#battery.warning:not(.charging) {
+ background-color: #ffbe61;
+ color: black;
+}
+
+#battery.critical:not(.charging) {
+ background-color: #f53c3c;
+ color: #ffffff;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
+}
+
+
+@keyframes blink {
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
+}
diff --git a/dotfiles/dot_config/wezterm/wezterm.lua b/dotfiles/dot_config/wezterm/wezterm.lua
index 3cbc72e..2810d06 100644
--- a/dotfiles/dot_config/wezterm/wezterm.lua
+++ b/dotfiles/dot_config/wezterm/wezterm.lua
@@ -43,7 +43,7 @@ local workspace_switcher = wezterm.plugin.require("https://github.com/MLFlexer/s
config.enable_wayland = false;
config.front_end = "WebGpu";
-config.font_size = 11
+config.font_size = 13
config.font = wezterm.font {
family = 'JetBrains Mono',
weight = 'Medium'
diff --git a/dotfiles/dot_config/yambar/config.yml b/dotfiles/dot_config/yambar/config.yml
new file mode 100644
index 0000000..de23c17
--- /dev/null
+++ b/dotfiles/dot_config/yambar/config.yml
@@ -0,0 +1,12 @@
+bar:
+ height: 26
+ location: top
+ spacing: 5
+ margin: 7
+ background: 000000ff
+
+ right:
+ - clock:
+ time-format: "%H:%M %Z"
+ content:
+ - string: {text: "{time}"}
diff --git a/flake.lock b/flake.lock
index 4d86418..adfc1be 100644
--- a/flake.lock
+++ b/flake.lock
@@ -263,11 +263,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1737762889,
- "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=",
+ "lastModified": 1737968762,
+ "narHash": "sha256-xiPARGKwocaMtv+U/rgi+h2g56CZZEmrcl7ldRaslq8=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "daf04c5950b676f47a794300657f1d3d14c1a120",
+ "rev": "e1ae908bcc30af792b0bb0a52e53b03d2577255e",
"type": "github"
},
"original": {
@@ -290,11 +290,11 @@
"uv2nix": "uv2nix"
},
"locked": {
- "lastModified": 1737906146,
- "narHash": "sha256-Mjw+78n0oAT5lZfGI+d7QMPdqEGcBfDz13XlGCXfNnE=",
+ "lastModified": 1737961863,
+ "narHash": "sha256-OTkGVz75+CuRnwng+fwdv0LuRzDX5TesFMAN5uRjOaI=",
"owner": "isd-project",
"repo": "isd",
- "rev": "01ffd8464018d08c4e1d44dc06b4dc2edec1742b",
+ "rev": "9c1a95c5cc66fa847f46e5f76c71022daf5ec1fa",
"type": "github"
},
"original": {
@@ -364,6 +364,28 @@
"type": "github"
}
},
+ "niri": {
+ "inputs": {
+ "nix-filter": "nix-filter_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "rust-overlay": "rust-overlay"
+ },
+ "locked": {
+ "lastModified": 1737956052,
+ "narHash": "sha256-Gr+tkCSuhQ5NT04hv/PoHExCgbuqRA/GZQv+le40LNY=",
+ "owner": "YaLTeR",
+ "repo": "niri",
+ "rev": "9b4d73f13a6906537faf01b5c5e5e2fee9dd602e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "YaLTeR",
+ "repo": "niri",
+ "type": "github"
+ }
+ },
"nix-appimage": {
"inputs": {
"flake-compat": "flake-compat_3",
@@ -399,6 +421,21 @@
"type": "github"
}
},
+ "nix-filter_2": {
+ "locked": {
+ "lastModified": 1731533336,
+ "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=",
+ "owner": "numtide",
+ "repo": "nix-filter",
+ "rev": "f7653272fd234696ae94229839a99b73c9ab7de0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "nix-filter",
+ "type": "github"
+ }
+ },
"nix-flatpak": {
"locked": {
"lastModified": 1737806078,
@@ -479,11 +516,11 @@
},
"nixpkgs-unstable_2": {
"locked": {
- "lastModified": 1737746512,
- "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=",
+ "lastModified": 1737885589,
+ "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "825479c345a7f806485b7f00dbe3abb50641b083",
+ "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github"
},
"original": {
@@ -495,11 +532,11 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1737469691,
- "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=",
+ "lastModified": 1737746512,
+ "narHash": "sha256-nU6AezEX4EuahTO1YopzueAXfjFfmCHylYEFCagduHU=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab",
+ "rev": "825479c345a7f806485b7f00dbe3abb50641b083",
"type": "github"
},
"original": {
@@ -527,11 +564,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1737672001,
- "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=",
+ "lastModified": 1737885640,
+ "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8",
+ "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7",
"type": "github"
},
"original": {
@@ -641,6 +678,7 @@
"isd": "isd",
"kmonad": "kmonad",
"musnix": "musnix",
+ "niri": "niri",
"nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4",
@@ -651,6 +689,27 @@
}
},
"rust-overlay": {
+ "inputs": {
+ "nixpkgs": [
+ "niri",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1733106880,
+ "narHash": "sha256-aJmAIjZfWfPSWSExwrYBLRgXVvgF5LP1vaeUGOOIQ98=",
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "rev": "e66c0d43abf5bdefb664c3583ca8994983c332ae",
+ "type": "github"
+ },
+ "original": {
+ "owner": "oxalica",
+ "repo": "rust-overlay",
+ "type": "github"
+ }
+ },
+ "rust-overlay_2": {
"inputs": {
"nixpkgs": [
"wezterm",
@@ -821,7 +880,7 @@
"nixpkgs": [
"nixpkgs"
],
- "rust-overlay": "rust-overlay",
+ "rust-overlay": "rust-overlay_2",
"zlib": "zlib"
},
"locked": {
diff --git a/flake.nix b/flake.nix
index b535044..a15cce2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -55,6 +55,11 @@
url = "github:paperwm/PaperWM";
inputs.nixpkgs.follows = "nixpkgs";
};
+
+ niri = {
+ url = "github:YaLTeR/niri";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
};
outputs = {nixpkgs, home-manager, sops-nix, kmonad, musnix, self, ... } @ inputs:
diff --git a/home/home.nix b/home/home.nix
index 0b8784c..97f35d5 100644
--- a/home/home.nix
+++ b/home/home.nix
@@ -20,7 +20,6 @@
inputs.affinity-nix.packages.x86_64-linux.designer
guix
- # uv
unstable.thonny
@@ -121,9 +120,10 @@
serapeum
]))
- fuzzel
+ # fuzzel
kdlfmt
+ kdotool
ccl
racket
gdu
@@ -136,6 +136,7 @@
openssl.out
nixfmt-rfc-style
wl-clipboard
+ unstable.clipse
maim
php
rustup
@@ -285,7 +286,7 @@
onlyoffice-desktopeditors
libreoffice
hyphenDicts.en_US
- plexamp
+ unstable.plexamp
rmpc
resources
carla
@@ -330,7 +331,11 @@
parinfer-rust-emacs
dockfmt
+ unstable.playerctl
mioctl
+ rmpc
+ unstable.door-knocker
+ unstable.hyprpicker
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
@@ -395,6 +400,9 @@
BW_CLIENTID = "$(cat ${config.sops.defaultSymlinkPath}/bw_client_id)";
BW_CLIENTSECRET = "$(cat ${config.sops.defaultSymlinkPath}/bw_api_key)";
NIXOS_OZONE_WL = "1";
+ GSK_RENDERER = "ngl";
+ MOZ_ENABLE_WAYLAND = 1;
+ DISPLAY = ":0";
};
stateVersion = "24.05";
@@ -429,13 +437,23 @@
programs = {
home-manager.enable = true;
- yambar = {
+ fuzzel = {
enable = true;
+ settings = {
+ main = {
+ terminal = "${pkgs.wezterm}/bin/wezterm";
+ };
+ };
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
+ yazi = {
+ enable = true;
+ enableFishIntegration = true;
+ package = pkgs.unstable.yazi;
+ };
fish = {
enable = true;
shellAliases = {
@@ -577,14 +595,27 @@
};
pandoc.enable = true;
password-store.enable = true;
- #waybar.enable = true;
+ wlogout = {
+ enable = true;
+ };
+ swaylock = {
+ enable = true;
+ };
+ waybar = {
+ enable = true;
+ package = pkgs.unstable.waybar;
+ systemd = {
+ enable = true;
+ # target = "graphical-session.target";
+ };
+ };
+ eww = {
+ enable = true;
+ configDir = ../dotfiles/dot_config/eww;
+ };
lazygit.enable = true;
jq.enable = true;
firefox.enable = true;
- # thunderbird = {
- # enable = true;
- # package = pkgs.thunderbird-latest;
- # };
rbw = {
enable = true;
package = pkgs.rbw-latest;
@@ -627,10 +658,10 @@
};
services = {
- # mpd = {
- # enable = true;
- # # musicDirectory = ;
- # };
+ playerctld = {
+ enable = true;
+ package = pkgs.unstable.playerctl;
+ };
mako = {
enable = true;
};
@@ -667,7 +698,6 @@
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"nl.hjdskes.gcolor3"
- "org.linuxshowplayer.LinuxShowPlayer"
];
systemd.user = {
@@ -702,6 +732,7 @@
};
# moving files!
+ xdg.configFile."waybar".source = ../dotfiles/dot_config/waybar;
xdg.configFile."just/justfile".source = ../dotfiles/dot_config/just/justfile;
xdg.configFile."starship.toml".source = ../dotfiles/dot_config/starship.toml;
xdg.configFile."ghostty".source = ../dotfiles/dot_config/ghostty;
diff --git a/packages/amplocker/package.nix b/packages/amplocker/package.nix
index edc5fd7..d3854af 100644
--- a/packages/amplocker/package.nix
+++ b/packages/amplocker/package.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "latest";
src = fetchurl {
url = "https://audioassaultdownloads.s3.amazonaws.com/AmpLocker/AmpLocker109/AmpLockerLinux.zip";
- sha256 = "sha256-adHle4A59DxJFR3KiLyuZp79vUK0QkGDnHRu6PWMVJQ=";
+ sha256 = "sha256-p4mmq/g0bA2d1ophcbXf/Tn2n0tkXzAKoLWUMe95RhU=";
};
nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
buildInputs = with pkgs; [
diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix
index c36d8a5..44c9ce2 100644
--- a/system/eddie/configuration.nix
+++ b/system/eddie/configuration.nix
@@ -212,7 +212,11 @@
vSync = true;
};
- programs.niri.enable = true;
+ programs.niri = {
+ enable = true;
+ package = inputs.niri.packages.x86_64-linux.default;
+ };
+
# programs.waybar.enable = true;
programs.nh = {