diff --git a/dotfiles/dot_config/eww/eww.yuck b/dotfiles/dot_config/eww/eww.yuck
index 7b70028..d461476 100644
--- a/dotfiles/dot_config/eww/eww.yuck
+++ b/dotfiles/dot_config/eww/eww.yuck
@@ -1,4 +1,4 @@
-(defwindow example
+(defwindow mainbar
:monitor 0
:geometry (geometry :x "0%"
:y "20px"
@@ -9,4 +9,4 @@
:reserve (struts :distance "40px" :side "top")
:windowtype "dock"
:wm-ignore false
- "example content")
+ )
diff --git a/dotfiles/dot_config/fish/functions/flakeup.fish b/dotfiles/dot_config/fish/functions/flakeup.fish
index 20272c8..ed53d26 100644
--- a/dotfiles/dot_config/fish/functions/flakeup.fish
+++ b/dotfiles/dot_config/fish/functions/flakeup.fish
@@ -1,5 +1,5 @@
#!/usr/bin/env fish
function flakeup --description 'update flake sources'
- sudo nix flake update --flake /home/emenel/source/nixos-config
+ nix flake update --flake /home/emenel/source/nixos-config
end
diff --git a/dotfiles/dot_config/halloy/config.toml b/dotfiles/dot_config/halloy/config.toml
new file mode 100644
index 0000000..684d065
--- /dev/null
+++ b/dotfiles/dot_config/halloy/config.toml
@@ -0,0 +1,25 @@
+# Halloy config.
+#
+# For a complete list of available options,
+# please visit https://halloy.squidowl.org/configuration/index.html
+
+theme = "oxocarbon"
+
+[font]
+family = "Jetbrains-Mono"
+size = 18
+
+[servers.liberachat]
+nickname = "emenel"
+nick_password_file = "/home/emenel/.config/halloy/password"
+server = "irc.libera.chat"
+channels = ["#halloy", "#shirakumo", "#guix", "#nonguix", "#msg", "#systemcrafters"]
+
+[servers.oftc]
+nickname = "emenel"
+nick_password_file = "/home/emenel/.config/halloy/password"
+server = "irc.oftc.net"
+channels = ["#suckless"]
+
+[buffer.channel.topic]
+enabled = true
diff --git a/dotfiles/dot_config/halloy/themes/oxocarbon.toml b/dotfiles/dot_config/halloy/themes/oxocarbon.toml
new file mode 100644
index 0000000..ae001f3
--- /dev/null
+++ b/dotfiles/dot_config/halloy/themes/oxocarbon.toml
@@ -0,0 +1,11 @@
+name = "oxocarbon"
+
+[palette]
+background = "#161616"
+text = "#dde1e6"
+action = "#525252"
+accent = "#33b1ff"
+alert = "#ff7eb6"
+error = "#e46876"
+info = "#82cfff"
+success = "#be95ff"
diff --git a/dotfiles/dot_config/niri/config.kdl b/dotfiles/dot_config/niri/config.kdl
index 68e9d6e..fd23cea 100644
--- a/dotfiles/dot_config/niri/config.kdl
+++ b/dotfiles/dot_config/niri/config.kdl
@@ -3,6 +3,10 @@
// Check the wiki for a full description of the configuration:
// https://github.com/YaLTeR/niri/wiki/Configuration:-Overview
+debug {
+ wait-for-frame-completion-before-queueing
+}
+
input {
keyboard {
xkb {
@@ -12,16 +16,16 @@ input {
touchpad {
natural-scroll
- // accel-speed 0.2
- // accel-profile "flat"
- // scroll-method "two-finger"
- // disabled-on-external-mouse
+ scroll-method "two-finger"
+ dwt
+ tap-button-map "left-right-middle"
+ click-method "clickfinger"
}
mouse {
natural-scroll
- accel-speed 0.2
- accel-profile "flat"
+ accel-speed 0.1
+ accel-profile "adaptive"
}
workspace-auto-back-and-forth
@@ -34,23 +38,35 @@ output "eDP-1" {
transform "normal"
}
-output "DP-3" {
+output "PNP(BNQ) BenQ PD2725U N2N00414019" {
mode "3840x2160@59.997"
background-color "#000000"
- scale 1.1
+ scale 1
transform "normal"
}
environment {
DISPLAY ":0"
- //QT_QPA_PLATFORM "wayland"
+ QT_QPA_PLATFORM "wayland"
//XDG_CURRENT_DESKTOP "niri"
//XDG_SESSION_TYPE "wayland"
+ MOZ_ENABLE_WAYLAND "1"
+}
+
+/-switch-events {
+ lid-close { spawn "swaylock"; }
+}
+
+cursor {
+ xcursor-theme "Bibata-Modern-Classic"
+ xcursor-size 24
+ hide-after-inactive-ms 30000
}
layout {
gaps 10
center-focused-column "never"
+ always-center-single-column
preset-column-widths {
proportion 0.33333
proportion 0.5
@@ -58,27 +74,34 @@ layout {
}
default-column-width { proportion 0.5; }
+
focus-ring {
- off
+ //active-color "#d8bfffee"
+ active-gradient from="#d8bfffdd" to="#BD93FF99" angle=0 in="srgb-linear"
+ width 2
}
border {
- active-color "#424242"
- inactive-color "#323232"
- width 1
+ //active-gradient from="#ffbb66aa" to="#ffc880aa" angle=45 in="oklch longer hue"
+ inactive-gradient from="#333333" to="#000000" angle=180 in="srgb-linear"
+ active-color "#000"
+ //inactive-color "#323232"
+ width 2
}
}
+prefer-no-csd
+
workspace "main"
workspace "scratchpad"
-// prefer-no-csd
-
-// spawn-at-startup "mako"
-// spawn-at-startup "fuzzel"
-// spawn-at-startup "eww" "daemon"
+spawn-at-startup "maestral_qt"
spawn-at-startup "xwayland-satellite" ":0"
spawn-at-startup "clipse" "-listen"
+spawn-at-startup "waybar"
+spawn-at-startup "eww" "daemon"
+spawn-at-startup "swayosd-server"
+spawn-at-startup "bitwarden"
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
@@ -87,18 +110,19 @@ animations {
}
window-rule {
- match app-id="plexamp"
+ match app-id="Calculator"
+ match app-id="Color Picker"
+ match app-id="Volume Control"
+ open-floating true
+}
+
+window-rule {
+ match app-id="Plexamp"
+ match app-id="scratchpad"
open-on-workspace "scratchpad"
open-floating true
}
-// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules
-// Work around WezTerm initial configure bug
-// by setting an empty default-column-width.
-window-rule {
- match app-id=r#"^org\.wezfurlong\.wezterm$"#
- default-column-width {}
-}
// Open the Firefox picture-in-picture player as floating by default.
window-rule {
@@ -110,25 +134,34 @@ window-rule {
}
window-rule {
- geometry-corner-radius 12
+ geometry-corner-radius 8
clip-to-geometry true
}
+/-window-rule {
+ match is-active=false
+ opacity 0.75
+}
+
binds {
// shows a list of important hotkeys.
Mod+Shift+Slash { show-hotkey-overlay; }
// Suggested binds for running programs: terminal, app launcher, screen locker.
Mod+T { spawn "wezterm"; }
+ Mod+E { spawn "emacsclient"; }
Mod+Space { spawn "fuzzel"; }
Super+Alt+L { spawn "swaylock"; }
// Example volume keys mappings for PipeWire & WirePlumber.
// The allow-when-locked=true property makes them work even when the session is locked.
- XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
- XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
- XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
- XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
+ XF86AudioRaiseVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "raise"; }
+ XF86AudioLowerVolume allow-when-locked=true { spawn "swayosd-client" "--output-volume" "lower"; }
+ XF86AudioMute allow-when-locked=true { spawn "swayosd-client" "--output-volume" "mute-toggle"; }
+ XF86AudioMicMute allow-when-locked=true { spawn "swayosd-client" "--input-volume" "mute-toggle"; }
+
+ XF86MonBrightnessUp allow-when-locked=true { spawn "swayosd-client" "--brightness" "raise"; }
+ XF86MonBrightnessDown allow-when-locked=true { spawn "swayosd-client" "--brightness" "lower"; }
Mod+Q { close-window; }
@@ -185,8 +218,8 @@ binds {
Mod+Page_Up { focus-workspace-up; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
- Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
- Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
+ Mod+Alt+Down { move-column-to-workspace-down; }
+ Mod+Alt+Up { move-column-to-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
@@ -279,9 +312,9 @@ binds {
Mod+Shift+Equal { set-window-height "+10%"; }
// Move the focused window between the floating and the tiling layout.
- Mod+X { toggle-window-floating; }
+ Mod+Ctrl+X { toggle-window-floating; }
// Mod+Shift+X { switch-focus-between-floating-and-tiling; }
- Mod+Shift+X { focus-workspace "scratchpad"; }
+ Mod+X { focus-workspace "scratchpad"; }
// Actions to switch layouts.
// Note: if you uncomment these, make sure you do NOT have
diff --git a/dotfiles/dot_config/waybar/config b/dotfiles/dot_config/waybar/config
index 5a2f5e5..ecef951 100644
--- a/dotfiles/dot_config/waybar/config
+++ b/dotfiles/dot_config/waybar/config
@@ -1,51 +1,104 @@
{
- "modules-left": ["clock", "niri/workspaces", "custom/media"],
- "modules-center": ["niri/window"],
- "modules-right": ["tray", "pulseaudio", "idle_inhibitor", "custom/power"],
+ "modules-left": [
+ "clock",
+ "niri/workspaces",
+ "wlr/taskbar",
+ "mpris"
+ ],
+ "modules-center": [
+ "niri/window"
+ ],
+ "modules-right": [
+ "tray",
+ "cpu",
+ "memory",
+ "network",
+ "wireplumber",
+ "power-profiles-daemon",
+ "upower"
+ ],
- "network": {
- "format-wifi": "{essid} ({signalStrength}%) ",
- "format-ethernet": "{ifname} ",
- "format-disconnected": "",
- "max-length": 50,
- "on-click": "kitty -e 'nmtui'"
+ "power-profiles-daemon": {
+ "format": "{icon}",
+ "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
+ "tooltip": true,
+ "format-icons": {
+ "default": "",
+ "performance": "",
+ "balanced": "",
+ "power-saver": ""
+ }
+ },
+ "memory": {
+ "interval": 30,
+ "format": "{used:0.1f}G/{total:0.1f}G ",
+ "on-click": "gnome-system-monitor"
+ },
+ "cpu": {
+ "interval": 10,
+ "format": "{}% ",
+ "max-length": 10,
+ "on-click": "gnome-system-monitor"
+ },
+ "network": {
+ "format-wifi": "{essid} ",
+ "format-ethernet": "{ifname} ",
+ "format-disconnected": "",
+ "max-length": 50,
+ "on-click": "wezterm -e 'nmtui'"
+ },
+ "tray": {
+ "icon-size": 20,
+ "spacing": 10
+ },
+ "clock": {
+ "format": "{:%a %d %b %Y %I:%M}",
+ "on-click": "gnome-calendar",
+ },
+ "wireplumber": {
+ "format": "{volume}% {icon}",
+ "format-muted": "",
+ "on-click": "helvum",
+ "format-icons": [
+ "",
+ "",
+ ""
+ ],
+ "on-click": "pavucontrol"
+ },
+ "mpris": {
+ "format": "{player_icon} {dynamic}",
+ "format-paused": "{status_icon} {dynamic}",
+ "dynamic-len": 100,
+ "player-icons": {
+ "default": "▶",
},
- "idle_inhibitor": {
- "format": "{icon}",
- "format-icons": {
- "activated": "",
- "deactivated": ""
- },
+ "status-icons": {
+ "paused": "⏸"
},
- "tray": {
- "icon-size": 15,
- "spacing": 10
+ },
+ "wlr/taskbar": {
+ "format": "{icon}",
+ "icon-size": 20,
+ "icon-theme": "Numix-Circle",
+ "tooltip-format": "{title}",
+ "on-click": "activate",
+ "app_ids-mapping": {
+ "firefoxdeveloperedition": "firefox-developer-edition"
},
- "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"
- }
+ "ignore-list": [
+ "Signal"
+ ],
+ "rewrite": {
+ "Firefox Web Browser": "Firefox",
+ "Foot Server": "Terminal"
+ }
+ },
+ "niri/workspaces": {
+ "format": "{icon}",
+ "format-icons": {
+ "main": "",
+ "scratchpad": "",
+ }
+ }
}
diff --git a/dotfiles/dot_config/waybar/style.css b/dotfiles/dot_config/waybar/style.css
index 7653e28..7e29e33 100644
--- a/dotfiles/dot_config/waybar/style.css
+++ b/dotfiles/dot_config/waybar/style.css
@@ -1,6 +1,6 @@
* {
border: none;
- font-size: 14px;
+ font-size: 12pt;
font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
min-height: 25px;
}
@@ -10,28 +10,26 @@ window#waybar {
margin: 5px;
}
-#custom-logo {
- padding: 0 10px;
-}
-
.modules-right {
padding-left: 5px;
- border-radius: 15px 0 0 15px;
margin-top: 2px;
- background: #000000;
+ color: #ccc;
}
.modules-center {
padding: 0 15px;
margin-top: 2px;
- border-radius: 15px 15px 15px 15px;
- background: #000000;
+ color: #ccc;
}
.modules-left {
- border-radius: 0 15px 15px 0;
margin-top: 2px;
- background: #000000;
+ color: #ccc;
+ padding-right: 5px;
+}
+
+#network {
+ padding: 0 10px 0 15px;
}
#battery,
@@ -40,7 +38,7 @@ window#waybar {
#custom-powerDraw,
#bluetooth,
#pulseaudio,
-#network,
+#wireplumber,
#disk,
#memory,
#backlight,
@@ -53,10 +51,7 @@ window#waybar {
#window,
#workspaces,
#clock {
- padding: 0 5px;
-}
-#pulseaudio {
- padding-top: 3px;
+ padding: 0 20px;
}
#temperature.critical,
@@ -65,11 +60,8 @@ window#waybar {
padding-top: 0;
}
-
-
-
#clock{
- color: #5fd1fa;
+ color: #d8bfff;
}
#battery.charging {
@@ -92,10 +84,30 @@ window#waybar {
animation-direction: alternate;
}
+#mpris {
+ margin-left: 15px;
+}
+
+#workspaces button {
+ color: #666;
+}
+
+#workspaces button.empty {
+ color: #222;
+}
+
+#workspaces button.focused
+{
+ color: #ccc;
+}
+
+#taskbar button.active {
+ background: #333;
+}
@keyframes blink {
- to {
- background-color: #ffffff;
- color: #000000;
- }
+ to {
+ background-color: #ffffff;
+ color: #000000;
+ }
}
diff --git a/dotfiles/dot_config/wezterm/wezterm.lua b/dotfiles/dot_config/wezterm/wezterm.lua
index 2810d06..34936db 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 = 13
+config.font_size = 14
config.font = wezterm.font {
family = 'JetBrains Mono',
weight = 'Medium'
@@ -74,7 +74,7 @@ config.background = {
}
}
--- config.window_decorations = "TITLE|RESIZE"
+config.window_decorations = "RESIZE"
config.window_padding = {
left = 12,
diff --git a/flake.lock b/flake.lock
index adfc1be..bbde985 100644
--- a/flake.lock
+++ b/flake.lock
@@ -185,11 +185,11 @@
"zig": "zig"
},
"locked": {
- "lastModified": 1737779447,
- "narHash": "sha256-+iVqQXAUJshUYgxOHfke54Ux4f/aggl1yub86KNx2tE=",
+ "lastModified": 1738250323,
+ "narHash": "sha256-Vk04Vlpp1TpSMT8uZpPS+b9inUQ6jwCSiZvzAAo9nrc=",
"owner": "ghostty-org",
"repo": "ghostty",
- "rev": "71e62f96fa4d286eda835048428d5be96e9f87c1",
+ "rev": "a62b26cd2fac4d3685aeec6aeebeaf2ad5300fc9",
"type": "github"
},
"original": {
@@ -263,11 +263,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1737968762,
- "narHash": "sha256-xiPARGKwocaMtv+U/rgi+h2g56CZZEmrcl7ldRaslq8=",
+ "lastModified": 1738228963,
+ "narHash": "sha256-Ee5hVHM7AWxaq7XJN6xiZztTZX8csdXernjqaTW5r9I=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "e1ae908bcc30af792b0bb0a52e53b03d2577255e",
+ "rev": "d963ed335b890a70ed53eecf14cdb21528eda9b8",
"type": "github"
},
"original": {
@@ -290,11 +290,11 @@
"uv2nix": "uv2nix"
},
"locked": {
- "lastModified": 1737961863,
- "narHash": "sha256-OTkGVz75+CuRnwng+fwdv0LuRzDX5TesFMAN5uRjOaI=",
+ "lastModified": 1738047527,
+ "narHash": "sha256-LkiDTiWM+PupXSsw6SUs4PqIwgSAWZxnuPXAE6T7Z0Q=",
"owner": "isd-project",
"repo": "isd",
- "rev": "9c1a95c5cc66fa847f46e5f76c71022daf5ec1fa",
+ "rev": "369fd55c0e57079f5eca2291c013f74a5dcf3c10",
"type": "github"
},
"original": {
@@ -303,30 +303,6 @@
"type": "github"
}
},
- "kmonad": {
- "inputs": {
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "dir": "nix",
- "lastModified": 1737901920,
- "narHash": "sha256-weoy9VW/QL8xVc63Wd/1PMB2acZxttMFp3d1Q08ss/0=",
- "ref": "refs/heads/master",
- "rev": "b527946b680ee2af25b99fc6bf9386cf175cc02f",
- "revCount": 911,
- "submodules": true,
- "type": "git",
- "url": "https://github.com/kmonad/kmonad?dir=nix"
- },
- "original": {
- "dir": "nix",
- "submodules": true,
- "type": "git",
- "url": "https://github.com/kmonad/kmonad?dir=nix"
- }
- },
"libpng": {
"flake": false,
"locked": {
@@ -373,11 +349,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
- "lastModified": 1737956052,
- "narHash": "sha256-Gr+tkCSuhQ5NT04hv/PoHExCgbuqRA/GZQv+le40LNY=",
+ "lastModified": 1738246636,
+ "narHash": "sha256-01BwBqPiv0G9bx2oe2kyj1voSQJtc1nx+EWJZ1ZOirg=",
"owner": "YaLTeR",
"repo": "niri",
- "rev": "9b4d73f13a6906537faf01b5c5e5e2fee9dd602e",
+ "rev": "a169e0335d2773edd31a1959a3ff4fca994a422a",
"type": "github"
},
"original": {
@@ -438,11 +414,11 @@
},
"nix-flatpak": {
"locked": {
- "lastModified": 1737806078,
- "narHash": "sha256-FjgNPBLMCpmwtJT5LiQYkM2lDY+yAmW1ZN1Idx7QeDg=",
+ "lastModified": 1738175805,
+ "narHash": "sha256-fPjaARmK522JLJ7wxFebxG4eE/3HHSmuAA78iAZ+A7g=",
"owner": "gmodena",
"repo": "nix-flatpak",
- "rev": "83cc6a28afc4155fd3fe28274f6b5287f51ed2b6",
+ "rev": "d4c75a33c4a7a16bf87cfd804fb5444a1ec53d49",
"type": "github"
},
"original": {
@@ -516,11 +492,11 @@
},
"nixpkgs-unstable_2": {
"locked": {
- "lastModified": 1737885589,
- "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
+ "lastModified": 1738142207,
+ "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
+ "rev": "9d3ae807ebd2981d593cddd0080856873139aa40",
"type": "github"
},
"original": {
@@ -532,11 +508,11 @@
},
"nixpkgs_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": {
@@ -564,11 +540,11 @@
},
"nixpkgs_4": {
"locked": {
- "lastModified": 1737885640,
- "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=",
+ "lastModified": 1738163270,
+ "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7",
+ "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0",
"type": "github"
},
"original": {
@@ -676,7 +652,6 @@
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"isd": "isd",
- "kmonad": "kmonad",
"musnix": "musnix",
"niri": "niri",
"nix-flatpak": "nix-flatpak",
diff --git a/flake.nix b/flake.nix
index a15cce2..532c9cf 100644
--- a/flake.nix
+++ b/flake.nix
@@ -17,10 +17,10 @@
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch
- kmonad = {
- url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
- inputs.nixpkgs.follows = "nixpkgs";
- };
+ # kmonad = {
+ # url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
+ # inputs.nixpkgs.follows = "nixpkgs";
+ # };
musnix = {
url = "github:musnix/musnix";
@@ -39,6 +39,7 @@
ghostty = {
url = "github:ghostty-org/ghostty";
+
};
affinity-nix = {
@@ -62,7 +63,7 @@
};
};
- outputs = {nixpkgs, home-manager, sops-nix, kmonad, musnix, self, ... } @ inputs:
+ outputs = {nixpkgs, home-manager, sops-nix, musnix, self, ... } @ inputs:
let
inherit (self) outputs;
# Supported systems for your flake packages, shell, etc.
@@ -90,7 +91,7 @@
modules = [
sops-nix.nixosModules.sops
inputs.nix-flatpak.nixosModules.nix-flatpak
- kmonad.nixosModules.default
+ # inputs.kmonad.nixosModules.default
musnix.nixosModules.musnix
./system/eddie/configuration.nix
];
diff --git a/home/home.nix b/home/home.nix
index 97f35d5..efba34c 100644
--- a/home/home.nix
+++ b/home/home.nix
@@ -120,8 +120,6 @@
serapeum
]))
- # fuzzel
-
kdlfmt
kdotool
ccl
@@ -129,7 +127,6 @@
gdu
poppler_utils
editorconfig-core-c
- # clang-tools
cljfmt
libxml2
gdtoolkit_4
@@ -146,7 +143,6 @@
libsecret
samba4Full
shellcheck
- # waylandpp.dev
wayland-utils
libffi.dev
nodejs_18
@@ -158,9 +154,7 @@
ftgl
gperf
numbat
- # libGLU
glpng
- # libGL
nurl
freecad
procs
@@ -193,7 +187,6 @@
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
-
via
vial
bitwarden-cli
@@ -201,22 +194,18 @@
tailscale
trayscale
font-manager
-
scribus
pdfarranger
tdf
pdfchain
pdftk
ghostscript
-
zathura
-
gpu-viewer
mesa-demos
gnomeExtensions.just-perfection
gnomeExtensions.dash-to-dock
- # gnomeExtensions.solaar-extension
gnomeExtensions.paperwm
gnomeExtensions.custom-hot-corners-extended
gnomeExtensions.media-controls
@@ -226,9 +215,10 @@
gnome-software
gnome-tweaks
gnome-photos
- gpaste
+ gnome-keyring
ulauncher
+ unstable.nwg-look
soundconverter
gtop
wmctrl
@@ -238,6 +228,7 @@
whitesur-cursors
whitesur-icon-theme
bibata-cursors
+ adwaita-qt
icloudpd
squirreldisk
@@ -259,14 +250,13 @@
wine = wineWowPackages.stagingFull;
})
+ unstable.swayosd
spice
spice-gtk
spice-protocol
virt-viewer
virt-manager
bfg-repo-cleaner
- # opensnitch
- # opensnitch-ui
thunderbird-latest
emojify
smile
@@ -274,7 +264,7 @@
impression
zoom-us
nyxt
- ungoogled-chromium
+ unstable.ungoogled-chromium
obsidian
vlc
unstable.polychromatic
@@ -330,12 +320,13 @@
ardour
parinfer-rust-emacs
dockfmt
-
+ impala
unstable.playerctl
mioctl
rmpc
unstable.door-knocker
unstable.hyprpicker
+ unstable.halloy
# Audio plugins (LV2, VST2, VST3, LADSPA)
eq10q
@@ -402,12 +393,24 @@
NIXOS_OZONE_WL = "1";
GSK_RENDERER = "ngl";
MOZ_ENABLE_WAYLAND = 1;
- DISPLAY = ":0";
+ };
+
+ pointerCursor = {
+ package = pkgs.bibata-cursors;
+ name = "Bibtata-Modern-Classic";
+ size = 24;
+ gtk.enable = true;
+ x11.enable = true;
};
stateVersion = "24.05";
};
+ # gtk.cursorTheme = {
+ # name = "Bibata-Modern-Classic";
+ # package = pkgs.bibata-cursors;
+ # };
+
fonts.fontconfig = {
enable = true;
};
@@ -442,6 +445,24 @@
settings = {
main = {
terminal = "${pkgs.wezterm}/bin/wezterm";
+ dpi-aware = true;
+ };
+ border = {
+ radius = 8;
+ width = 2;
+ };
+ colors = {
+ background="1e1e2edd";
+ text="cdd6f4ff";
+ prompt="bac2deff";
+ placeholder="7f849cff";
+ input="cdd6f4ff";
+ match="f5c2e7ff";
+ selection="585b70ff";
+ selection-text="cdd6f4ff";
+ selection-match="f5c2e7ff";
+ counter="7f849cff";
+ border="f5c2e7ff";
};
};
};
@@ -475,15 +496,6 @@
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
};
}
- # {
- # name = "zellij.fish";
- # src = pkgs.fetchFromGitHub {
- # owner = "kpbaks";
- # repo = "zellij.fish";
- # rev = "0b2393b48b55a7f3b200b5a12ac0cf26444b7172";
- # sha256 = "sha256-Nxo6usCI5tqLJ/CZ1YXtCFJ+piy1DGlzFIi9/HSgDIk=";
- # };
- # }
];
};
starship = {
@@ -494,9 +506,10 @@
msmtp.enable = true;
emacs = {
enable = true;
- package = (pkgs.emacs.override {
- withXwidgets = true;
+ package = (pkgs.emacs29-pgtk.override {
withGTK3 = true;
+ # withPGTK = true;
+ withXwidgets = true;
withNativeCompilation = true;
withTreeSitter = true;
withImageMagick = true;
@@ -513,8 +526,8 @@
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.tree-sitter-langs
- epkgs.gpastel
- epkgs.emacs-everywhere
+ # epkgs.gpastel
+ epkgs.pdf-tools
];
};
ripgrep = {
@@ -532,12 +545,6 @@
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
};
- # zellij = {
- # enable = true;
- # package = pkgs.unstable.zellij;
- # enableFishIntegration = true;
- # enableBashIntegration = true;
- # };
bat = {
enable = true;
};
@@ -604,10 +611,10 @@
waybar = {
enable = true;
package = pkgs.unstable.waybar;
- systemd = {
- enable = true;
- # target = "graphical-session.target";
- };
+ # systemd = {
+ # enable = true;
+ # # target = "graphical-session.target";
+ # };
};
eww = {
enable = true;
@@ -628,6 +635,10 @@
primary-color = "#333333";
};
+ "org/gnome/desktop/interface" = {
+ color-scheme = "prefer-dark";
+ };
+
"org/gnome/shell/keybindings" = {
shift-overview-up = ["disabled"];
shift-overview-down = ["disabled"];
@@ -658,16 +669,30 @@
};
services = {
+ swayidle = {
+ enable = true;
+ extraArgs = [ "-w" ];
+ timeouts = [
+ { timeout = 60; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
+ { timeout = 90; command = "${pkgs.systemd}/bin/systemctl suspend"; }
+ ];
+ events = [
+ { event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -fF"; }
+ { event = "lock"; command = "lock"; }
+ ];
+ };
playerctld = {
enable = true;
package = pkgs.unstable.playerctl;
};
mako = {
enable = true;
+ defaultTimeout = 10000;
};
flatpak.enable = true;
syncthing = {
enable = true;
+ # tray.enable = true;
};
borgmatic = {
enable = true;
@@ -678,7 +703,14 @@
emacs = {
enable = true;
defaultEditor = true;
- package = pkgs.emacs;
+ package = (pkgs.emacs29-pgtk.override {
+ withGTK3 = true;
+ # withPGTK = true;
+ withXwidgets = true;
+ withNativeCompilation = true;
+ withTreeSitter = true;
+ withImageMagick = true;
+ });
socketActivation.enable = true;
client = {
enable = true;
@@ -708,30 +740,31 @@
MOZ_ENABLE_WAYLAND = 1;
};
services = {
- syncthingtray = {
- Service.ExecStart = lib.mkForce "${pkgs.syncthingtray}/bin/syncthingtray --wait";
- };
+ # syncthingtray = {
+ # Service.ExecStart = lib.mkForce "${pkgs.syncthingtray}/bin/syncthingtray --wait";
+ # };
- ulauncher = {
- Unit = {
- Description = "Start Ulauncher";
- After = "graphical-session.target";
- };
+ # ulauncher = {
+ # Unit = {
+ # Description = "Start Ulauncher";
+ # After = "graphical-session.target";
+ # };
- Install = {
- WantedBy = [ "graphical-session.target" ];
- };
+ # Install = {
+ # WantedBy = [ "graphical-session.target" ];
+ # };
- Service = {
- Restart = "always";
- RestartSec = 1;
- ExecStart = "${pkgs.ulauncher}/bin/ulauncher --hide-window";
- };
- };
+ # Service = {
+ # Restart = "always";
+ # RestartSec = 1;
+ # ExecStart = "${pkgs.ulauncher}/bin/ulauncher --hide-window";
+ # };
+ # };
};
};
# moving files!
+ xdg.configFile."halloy/config.toml".source = ../dotfiles/dot_config/halloy/config.toml;
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;
@@ -756,28 +789,6 @@
xdg.configFile."emacs".enable = false;
- xdg.configFile."zellij/config.kdl".text = ''
- theme "molokai-dark"
- pane_frames false
- default_shell "fish"
- copy_on_select false
-
- keybinds {
- shared {
- bind "Ctrl Alt Left" { GoToPreviousTab; }
- bind "Ctrl Alt Right" { GoToNextTab; }
- bind "Ctrl Alt Up" { FocusPreviousPane; }
- bind "Ctrl Alt Down" { FocusNextPane; }
- bind "Ctrl Enter" { NewPane "Down"; }
- bind "Ctrl Shift Enter" { NewPane "Right"; }
- }
- locked {
- bind "Ctrl t" { NewTab; }
- bind "Ctrl w" { CloseTab; }
- }
- }
- '';
-
home.file.".msmtprc".source = ../dotfiles/dot_msmtprc;
home.file.".mbsyncrc".source = ../dotfiles/dot_mbsyncrc;
xdg.configFile."isyncrc".enable = false;
diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix
index 44c9ce2..77d7971 100644
--- a/system/eddie/configuration.nix
+++ b/system/eddie/configuration.nix
@@ -82,7 +82,7 @@
systemd-boot.configurationLimit = 8;
efi.canTouchEfiVariables = true;
};
- kernelPackages = pkgs.unstable.linuxPackages_6_12;
+ kernelPackages = pkgs.unstable.linuxPackages_latest;
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "snd-virmidi" ];
kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" ];
};
@@ -176,9 +176,20 @@
hostName = "eddie";
domain = "local";
nameservers = [ "1.1.1.1" "1.0.0.1" ];
+ # wireless = {
+ # iwd = {
+ # enable = true;
+ # settings = {
+ # Settings = {
+ # AutoConnect = true;
+ # };
+ # };
+ # };
+ # };
networkmanager = {
enable = true;
wifi.powersave = true;
+ # wifi.backend = "iwd";
};
};
@@ -257,6 +268,8 @@
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal
+ pkgs.xdg-desktop-portal-wlr
+ pkgs.gnome-keyring
];
};
@@ -330,6 +343,8 @@
};
};
+ programs.light.enable = true;
+
programs.steam = {
enable = true;
protontricks.enable = true;
@@ -368,6 +383,7 @@
services.kmonad = {
enable = true;
+ package = pkgs.unstable.kmonad;
keyboards = {
sinc = {
device = "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd";
@@ -381,7 +397,7 @@
};
};
- programs.virt-manager.enable = true;
+ # programs.virt-manager.enable = true;
# virtualisation = {
# libvirtd = {