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 = {