niri, waybar, swaylock

This commit is contained in:
Matt Nish-Lapidus 2025-01-30 11:25:14 -05:00
parent f5a0090ea0
commit 41a49f8c2a
12 changed files with 383 additions and 246 deletions

View file

@ -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")
)

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,11 @@
name = "oxocarbon"
[palette]
background = "#161616"
text = "#dde1e6"
action = "#525252"
accent = "#33b1ff"
alert = "#ff7eb6"
error = "#e46876"
info = "#82cfff"
success = "#be95ff"

View file

@ -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

View file

@ -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} <i>{dynamic}</i>",
"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": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"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": "",
}
}
}

View file

@ -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;
}
}

View file

@ -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,

73
flake.lock generated
View file

@ -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",

View file

@ -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
];

View file

@ -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;

View file

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