diff options
| -rw-r--r-- | _sources/generated.json | 20 | ||||
| -rw-r--r-- | _sources/generated.nix | 14 | ||||
| -rw-r--r-- | accounts/gkleen@sif/default.nix | 222 | ||||
| -rw-r--r-- | accounts/gkleen@sif/dunst-settings.nix | 10 | ||||
| -rw-r--r-- | accounts/gkleen@sif/dunstrc.d/20-kitty.conf | 3 | ||||
| -rw-r--r-- | accounts/gkleen@sif/emacs.el | 4 | ||||
| -rw-r--r-- | accounts/gkleen@sif/hyprland.nix | 229 | ||||
| -rw-r--r-- | accounts/gkleen@sif/systemd.nix | 1 | ||||
| -rw-r--r-- | accounts/gkleen@sif/zshrc | 4 | ||||
| -rw-r--r-- | hosts/sif/default.nix | 29 | ||||
| -rw-r--r-- | nvfetcher.toml | 4 |
11 files changed, 520 insertions, 20 deletions
diff --git a/_sources/generated.json b/_sources/generated.json index 87d6c357..a7dba77c 100644 --- a/_sources/generated.json +++ b/_sources/generated.json | |||
| @@ -324,6 +324,26 @@ | |||
| 324 | }, | 324 | }, |
| 325 | "version": "2.3.0" | 325 | "version": "2.3.0" |
| 326 | }, | 326 | }, |
| 327 | "tomorrow-night-paradise-theme": { | ||
| 328 | "cargoLocks": null, | ||
| 329 | "date": "2012-06-04", | ||
| 330 | "extract": null, | ||
| 331 | "name": "tomorrow-night-paradise-theme", | ||
| 332 | "passthru": null, | ||
| 333 | "pinned": false, | ||
| 334 | "src": { | ||
| 335 | "deepClone": false, | ||
| 336 | "fetchSubmodules": false, | ||
| 337 | "leaveDotGit": false, | ||
| 338 | "name": null, | ||
| 339 | "rev": "70225a5bf90d495e13a9260bfdc268632ece0801", | ||
| 340 | "sha256": "sha256-5EhngRD5Xq8bUUeoY6Jmpsvszsk8fM8eQcfhbLs5WI8=", | ||
| 341 | "sparseCheckout": [], | ||
| 342 | "type": "git", | ||
| 343 | "url": "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||
| 344 | }, | ||
| 345 | "version": "70225a5bf90d495e13a9260bfdc268632ece0801" | ||
| 346 | }, | ||
| 327 | "v4l2loopback": { | 347 | "v4l2loopback": { |
| 328 | "cargoLocks": null, | 348 | "cargoLocks": null, |
| 329 | "date": "2024-05-24", | 349 | "date": "2024-05-24", |
diff --git a/_sources/generated.nix b/_sources/generated.nix index cb6022ab..7050dab8 100644 --- a/_sources/generated.nix +++ b/_sources/generated.nix | |||
| @@ -199,6 +199,20 @@ | |||
| 199 | sha256 = "sha256-+pRvc5mr2PEkG05IzPjUrE6Yr8EwG4zA/3DEU8GVA1E="; | 199 | sha256 = "sha256-+pRvc5mr2PEkG05IzPjUrE6Yr8EwG4zA/3DEU8GVA1E="; |
| 200 | }; | 200 | }; |
| 201 | }; | 201 | }; |
| 202 | tomorrow-night-paradise-theme = { | ||
| 203 | pname = "tomorrow-night-paradise-theme"; | ||
| 204 | version = "70225a5bf90d495e13a9260bfdc268632ece0801"; | ||
| 205 | src = fetchgit { | ||
| 206 | url = "https://github.com/jimeh/tomorrow-night-paradise-theme.el"; | ||
| 207 | rev = "70225a5bf90d495e13a9260bfdc268632ece0801"; | ||
| 208 | fetchSubmodules = false; | ||
| 209 | deepClone = false; | ||
| 210 | leaveDotGit = false; | ||
| 211 | sparseCheckout = [ ]; | ||
| 212 | sha256 = "sha256-5EhngRD5Xq8bUUeoY6Jmpsvszsk8fM8eQcfhbLs5WI8="; | ||
| 213 | }; | ||
| 214 | date = "2012-06-04"; | ||
| 215 | }; | ||
| 202 | v4l2loopback = { | 216 | v4l2loopback = { |
| 203 | pname = "v4l2loopback"; | 217 | pname = "v4l2loopback"; |
| 204 | version = "2d44c2f3a33844dfd9928dc536288283289bbc34"; | 218 | version = "2d44c2f3a33844dfd9928dc536288283289bbc34"; |
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 8e567a4f..5c90808c 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
| @@ -41,7 +41,6 @@ let | |||
| 41 | wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } '' | 41 | wrapElectron = { package, bin ? package.meta.mainProgram or package.pname or (pkgs.lib.strings.nameFromURL package.name "-"), outBin ? bin, sandbox ? true }: pkgs.runCommand "${package.name}-wrapped" { buildInputs = with pkgs; [ makeWrapper ]; } '' |
| 42 | mkdir -p "$out/bin" | 42 | mkdir -p "$out/bin" |
| 43 | makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ | 43 | makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ |
| 44 | --add-flags '--force-device-scale-factor=1.6' \ | ||
| 45 | ${optionalString (!sandbox) "--add-flags '--no-sandbox'"} | 44 | ${optionalString (!sandbox) "--add-flags '--no-sandbox'"} |
| 46 | ''; | 45 | ''; |
| 47 | 46 | ||
| @@ -158,6 +157,7 @@ in { | |||
| 158 | 157 | ||
| 159 | emacs = { | 158 | emacs = { |
| 160 | enable = true; | 159 | enable = true; |
| 160 | package = pkgs.emacs29-pgtk; | ||
| 161 | extraPackages = epkgs: with epkgs; [ | 161 | extraPackages = epkgs: with epkgs; [ |
| 162 | evil evil-dvorak undo-tree magit haskell-mode nix-mode | 162 | evil evil-dvorak undo-tree magit haskell-mode nix-mode |
| 163 | yaml-mode json-mode shakespeare-mode smart-mode-line | 163 | yaml-mode json-mode shakespeare-mode smart-mode-line |
| @@ -166,14 +166,19 @@ in { | |||
| 166 | use-package-ensure-system-package git-gutter emacsScratch | 166 | use-package-ensure-system-package git-gutter emacsScratch |
| 167 | edit-server mediawiki editorconfig typescript-mode | 167 | edit-server mediawiki editorconfig typescript-mode |
| 168 | markdown-mode nftables-mode rustic lsp-mode lsp-ui | 168 | markdown-mode nftables-mode rustic lsp-mode lsp-ui |
| 169 | direnv company projectile | 169 | direnv company projectile tomorrow-night-paradise-theme |
| 170 | ]; | 170 | ]; |
| 171 | overrides = self: super: { | ||
| 172 | tomorrow-night-paradise-theme = super.trivialBuild { | ||
| 173 | inherit (sources.tomorrow-night-paradise-theme) pname version src; | ||
| 174 | }; | ||
| 175 | }; | ||
| 171 | }; | 176 | }; |
| 172 | firefox = { | 177 | firefox = { |
| 173 | enable = true; | 178 | enable = true; |
| 174 | profiles.default = { | 179 | profiles.default = { |
| 175 | settings = { | 180 | settings = { |
| 176 | "layout.css.devPixelsPerPx" = "0.5833"; | 181 | # "layout.css.devPixelsPerPx" = "0.5833"; |
| 177 | "browser.tabs.drawInTitlebar" = false; | 182 | "browser.tabs.drawInTitlebar" = false; |
| 178 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | 183 | "toolkit.legacyUserProfileCustomizations.stylesheets" = true; |
| 179 | "dom.security.https_only_mode" = true; | 184 | "dom.security.https_only_mode" = true; |
| @@ -223,7 +228,7 @@ in { | |||
| 223 | docs = "$HOME/documents"; | 228 | docs = "$HOME/documents"; |
| 224 | dl = "$HOME/Downloads"; | 229 | dl = "$HOME/Downloads"; |
| 225 | scrot = "$HOME/screenshots"; | 230 | scrot = "$HOME/screenshots"; |
| 226 | flk = "$HOME/config/nixos-flakes"; | 231 | flk = "$HOME/projects/machines"; |
| 227 | rz = "$HOME/projects/rz"; | 232 | rz = "$HOME/projects/rz"; |
| 228 | pro = "$HOME/projects/pro"; | 233 | pro = "$HOME/projects/pro"; |
| 229 | }; | 234 | }; |
| @@ -240,6 +245,150 @@ in { | |||
| 240 | gitProtocol = "ssh"; | 245 | gitProtocol = "ssh"; |
| 241 | }; | 246 | }; |
| 242 | }; | 247 | }; |
| 248 | |||
| 249 | kitty = { | ||
| 250 | enable = true; | ||
| 251 | font = { | ||
| 252 | package = pkgs.fira; | ||
| 253 | name = "FiraMono Nerd Font"; | ||
| 254 | size = 10; | ||
| 255 | }; | ||
| 256 | settings = { | ||
| 257 | enable_audio_bell = false; | ||
| 258 | update_check_interval = 0; | ||
| 259 | strip_trailing_spaces = "smart"; | ||
| 260 | focus_follows_mouse = true; | ||
| 261 | visual_bell_duration = "0.1"; | ||
| 262 | visual_bell_color = "#26240d"; | ||
| 263 | tab_bar_style = "powerline"; | ||
| 264 | tab_powerline_style = "slanted"; | ||
| 265 | notify_on_cmd_finish = "invisible 30.0"; | ||
| 266 | }; | ||
| 267 | }; | ||
| 268 | wofi = { | ||
| 269 | enable = true; | ||
| 270 | settings = { | ||
| 271 | location = "top"; | ||
| 272 | run-always_parse_args = true; | ||
| 273 | run-show_all = false; | ||
| 274 | }; | ||
| 275 | }; | ||
| 276 | waybar = { | ||
| 277 | enable = true; | ||
| 278 | systemd = { | ||
| 279 | enable = true; | ||
| 280 | target = "hyprland-session.target"; | ||
| 281 | }; | ||
| 282 | settings.mainBar = { | ||
| 283 | layer = "top"; | ||
| 284 | position = "top"; | ||
| 285 | height = 14; | ||
| 286 | output = [ "eDP-1" ]; | ||
| 287 | modules-left = [ "hyprland/workspaces" ]; | ||
| 288 | modules-center = [ "hyprland/window" ]; | ||
| 289 | modules-right = [ "clock" "tray" "battery" ]; | ||
| 290 | |||
| 291 | clock = { | ||
| 292 | interval = 1; | ||
| 293 | timezone = "Europe/Berlin"; | ||
| 294 | format = "W{:%V-%u %F %H:%M:%S%Ez}"; | ||
| 295 | tooltip-format = "<tt><small>{calendar}</small></tt>"; | ||
| 296 | calendar = { | ||
| 297 | mode = "year"; | ||
| 298 | mode-mon-col = 3; | ||
| 299 | week-pos = "right"; | ||
| 300 | on-scroll = 1; | ||
| 301 | format = { | ||
| 302 | months = "<span color='#ffead3'><b>{}</b></span>"; | ||
| 303 | days = "<span color='#ecc6d9'><b>{}</b></span>"; | ||
| 304 | weeks = "<span color='#99ffdd'><b>W{}</b></span>"; | ||
| 305 | weekdays = "<span color='#ffcc66'><b>{}</b></span>"; | ||
| 306 | today = "<span color='#ff6699'><b><u>{}</u></b></span>"; | ||
| 307 | }; | ||
| 308 | }; | ||
| 309 | }; | ||
| 310 | battery = { | ||
| 311 | format = "{icon}"; | ||
| 312 | format-icons = ["" "" "" "" ""]; | ||
| 313 | tooltip-format = "{capacity}% {timeTo}"; | ||
| 314 | }; | ||
| 315 | icon = { | ||
| 316 | icon-size = 12; | ||
| 317 | show-passive-items = true; | ||
| 318 | spacing = 2; | ||
| 319 | }; | ||
| 320 | }; | ||
| 321 | style = '' | ||
| 322 | * { | ||
| 323 | border: none; | ||
| 324 | font-family: "Fira Sans"; | ||
| 325 | font-size: 10pt; | ||
| 326 | min-height: 0; | ||
| 327 | } | ||
| 328 | |||
| 329 | window#waybar { | ||
| 330 | background-color: rgba(0, 0, 0, 0.5); | ||
| 331 | color: #ffffff; | ||
| 332 | } | ||
| 333 | |||
| 334 | label.module { | ||
| 335 | margin: 0 5px; | ||
| 336 | } | ||
| 337 | |||
| 338 | #workspaces button.visible { | ||
| 339 | color: @blue; | ||
| 340 | } | ||
| 341 | #workspaces button.active { | ||
| 342 | color: @green; | ||
| 343 | } | ||
| 344 | #workspaces button.urgent { | ||
| 345 | color: @red; | ||
| 346 | } | ||
| 347 | ''; | ||
| 348 | }; | ||
| 349 | wpaperd = { | ||
| 350 | enable = true; | ||
| 351 | settings.default = { | ||
| 352 | path = "~/.wallpapers"; | ||
| 353 | duration = "8h"; | ||
| 354 | mode = "center"; | ||
| 355 | }; | ||
| 356 | }; | ||
| 357 | hyprlock = { | ||
| 358 | enable = false; | ||
| 359 | settings = { | ||
| 360 | general = { | ||
| 361 | disable_loading_bar = false; | ||
| 362 | grace = 60; | ||
| 363 | hide_cursor = true; | ||
| 364 | no_fade_in = false; | ||
| 365 | }; | ||
| 366 | |||
| 367 | background = [ | ||
| 368 | { | ||
| 369 | path = "screenshot"; | ||
| 370 | blur_passes = 3; | ||
| 371 | blur_size = 8; | ||
| 372 | } | ||
| 373 | ]; | ||
| 374 | |||
| 375 | input-field = [ | ||
| 376 | { | ||
| 377 | size = "200, 50"; | ||
| 378 | position = "0, -80"; | ||
| 379 | monitor = ""; | ||
| 380 | dots_center = true; | ||
| 381 | fade_on_empty = false; | ||
| 382 | font_color = "rgb(202, 211, 245)"; | ||
| 383 | inner_color = "rgb(91, 96, 120)"; | ||
| 384 | outer_color = "rgb(24, 25, 38)"; | ||
| 385 | outline_thickness = 5; | ||
| 386 | placeholder_text = "'<span foreground=\"##cad3f5\">Password...</span>'"; | ||
| 387 | shadow_passes = 2; | ||
| 388 | } | ||
| 389 | ]; | ||
| 390 | }; | ||
| 391 | }; | ||
| 243 | }; | 392 | }; |
| 244 | 393 | ||
| 245 | services = { | 394 | services = { |
| @@ -265,10 +414,10 @@ in { | |||
| 265 | ''; | 414 | ''; |
| 266 | }; | 415 | }; |
| 267 | taffybar = { | 416 | taffybar = { |
| 268 | enable = true; | 417 | enable = false; |
| 269 | package = import ./taffybar { haskellPackages = deHaskell; }; | 418 | package = import ./taffybar { haskellPackages = deHaskell; }; |
| 270 | }; | 419 | }; |
| 271 | status-notifier-watcher.enable = true; | 420 | # status-notifier-watcher.enable = true; |
| 272 | xembed-sni-proxy.enable = true; | 421 | xembed-sni-proxy.enable = true; |
| 273 | pasystray.enable = true; | 422 | pasystray.enable = true; |
| 274 | udiskie = { | 423 | udiskie = { |
| @@ -284,7 +433,7 @@ in { | |||
| 284 | }; | 433 | }; |
| 285 | }; | 434 | }; |
| 286 | unclutter = { | 435 | unclutter = { |
| 287 | enable = true; | 436 | enable = false; |
| 288 | timeout = 5; | 437 | timeout = 5; |
| 289 | }; | 438 | }; |
| 290 | network-manager-applet.enable = true; | 439 | network-manager-applet.enable = true; |
| @@ -324,7 +473,7 @@ in { | |||
| 324 | }; | 473 | }; |
| 325 | 474 | ||
| 326 | screen-locker = { | 475 | screen-locker = { |
| 327 | enable = true; | 476 | enable = false; |
| 328 | lockCmd = toString (pkgs.writeShellScript "lock" '' | 477 | lockCmd = toString (pkgs.writeShellScript "lock" '' |
| 329 | ${pkgs.playerctl}/bin/playerctl -a status | ${pkgs.gnugrep}/bin/grep -q "Playing" && exit 0 | 478 | ${pkgs.playerctl}/bin/playerctl -a status | ${pkgs.gnugrep}/bin/grep -q "Playing" && exit 0 |
| 330 | 479 | ||
| @@ -344,6 +493,46 @@ in { | |||
| 344 | enable = true; | 493 | enable = true; |
| 345 | serverUrl = "https://etesync.yggdrasil.li"; | 494 | serverUrl = "https://etesync.yggdrasil.li"; |
| 346 | }; | 495 | }; |
| 496 | |||
| 497 | hypridle = { | ||
| 498 | enable = false; | ||
| 499 | settings = { | ||
| 500 | general = { | ||
| 501 | after_sleep_cmd = "hyprctl dispatch dpms on"; | ||
| 502 | before_sleep_cmd = "hyprlock"; | ||
| 503 | ignore_dbus_inhibit = false; | ||
| 504 | ignore_systemd_inhibit = false; | ||
| 505 | lock_cmd = "hyprlock"; | ||
| 506 | }; | ||
| 507 | |||
| 508 | listener = [ | ||
| 509 | { | ||
| 510 | timeout = 300; | ||
| 511 | on-timeout = "hyprlock"; | ||
| 512 | } | ||
| 513 | { | ||
| 514 | timeout = 600; | ||
| 515 | on-timeout = "hyprctl dispatch dpms off"; | ||
| 516 | on-resume = "hyprctl dispatch dpms on"; | ||
| 517 | } | ||
| 518 | ]; | ||
| 519 | }; | ||
| 520 | }; | ||
| 521 | swayidle = { | ||
| 522 | enable = true; | ||
| 523 | events = [ | ||
| 524 | { event = "before-sleep"; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
| 525 | { event = "after-resume"; command = "${cfg.wayland.windowManager.hyprland.package}/bin/hyprctl dispatch dpms on"; } | ||
| 526 | { event = "lock"; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
| 527 | ]; | ||
| 528 | timeouts = [ | ||
| 529 | { timeout = 300; | ||
| 530 | command = "${cfg.wayland.windowManager.hyprland.package}/binhyprctl dispatch dpms off"; | ||
| 531 | resumeCommand = "${cfg.wayland.windowManager.hyprland.package}/binhyprctl dispatch dpms on"; | ||
| 532 | } | ||
| 533 | { timeout = 330; command = "${lib.getExe pkgs.gtklock} -d"; } | ||
| 534 | ]; | ||
| 535 | }; | ||
| 347 | }; | 536 | }; |
| 348 | 537 | ||
| 349 | home.pointerCursor = { | 538 | home.pointerCursor = { |
| @@ -363,7 +552,7 @@ in { | |||
| 363 | font = { | 552 | font = { |
| 364 | package = pkgs.fira; | 553 | package = pkgs.fira; |
| 365 | name = "Fira Sans"; | 554 | name = "Fira Sans"; |
| 366 | size = 6; | 555 | size = 10; |
| 367 | }; | 556 | }; |
| 368 | theme = { | 557 | theme = { |
| 369 | package = pkgs.equilux-theme; | 558 | package = pkgs.equilux-theme; |
| @@ -402,7 +591,7 @@ in { | |||
| 402 | matrix-synapse-tools.synadm wrappedRocketChatDesktop | 591 | matrix-synapse-tools.synadm wrappedRocketChatDesktop |
| 403 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs | 592 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs |
| 404 | sieve-connect gimp inkscape udiskie glab scrot nitrokey-app | 593 | sieve-connect gimp inkscape udiskie glab scrot nitrokey-app |
| 405 | pynitrokey | 594 | pynitrokey gtklock wlrctl |
| 406 | ]; | 595 | ]; |
| 407 | 596 | ||
| 408 | file = { | 597 | file = { |
| @@ -419,8 +608,8 @@ in { | |||
| 419 | }; | 608 | }; |
| 420 | 609 | ||
| 421 | sessionVariables = { | 610 | sessionVariables = { |
| 422 | GDK_SCALE = 96.0 / 282.0; | 611 | # GDK_SCALE = 96.0 / 282.0; |
| 423 | QT_AUTO_SCREEN_SCALE_FACTOR = 1; | 612 | # QT_AUTO_SCREEN_SCALE_FACTOR = 1; |
| 424 | QT_QPA_PLATFORMTHEME = "qt5ct"; | 613 | QT_QPA_PLATFORMTHEME = "qt5ct"; |
| 425 | LIBVIRT_DEFAULT_URI = "qemu:///system"; | 614 | LIBVIRT_DEFAULT_URI = "qemu:///system"; |
| 426 | STACK_XDG = 1; | 615 | STACK_XDG = 1; |
| @@ -451,6 +640,10 @@ in { | |||
| 451 | recommend-stack-upgrade = false; | 640 | recommend-stack-upgrade = false; |
| 452 | }; | 641 | }; |
| 453 | }; | 642 | }; |
| 643 | "gtklock/config.ini" = { | ||
| 644 | source = (pkgs.formats.ini {}).generate "config.ini" { | ||
| 645 | }; | ||
| 646 | }; | ||
| 454 | }; | 647 | }; |
| 455 | 648 | ||
| 456 | xdg.dataFile = { | 649 | xdg.dataFile = { |
| @@ -509,6 +702,11 @@ in { | |||
| 509 | color-scheme = "prefer-dark"; | 702 | color-scheme = "prefer-dark"; |
| 510 | }; | 703 | }; |
| 511 | }; | 704 | }; |
| 705 | |||
| 706 | wayland.windowManager.hyprland = { | ||
| 707 | enable = true; | ||
| 708 | settings = import ./hyprland.nix inputs; | ||
| 709 | }; | ||
| 512 | }; | 710 | }; |
| 513 | }; | 711 | }; |
| 514 | } | 712 | } |
diff --git a/accounts/gkleen@sif/dunst-settings.nix b/accounts/gkleen@sif/dunst-settings.nix index 61bd12a6..90fffcc5 100644 --- a/accounts/gkleen@sif/dunst-settings.nix +++ b/accounts/gkleen@sif/dunst-settings.nix | |||
| @@ -1,14 +1,14 @@ | |||
| 1 | { pkgs, ... }: | 1 | { pkgs, ... }: |
| 2 | { | 2 | { |
| 3 | global = { | 3 | global = { |
| 4 | font = "Fira Sans 6"; | 4 | font = "Fira Sans 12"; |
| 5 | markup = "full"; | 5 | markup = "full"; |
| 6 | format = "<i>%s</i> %p\\n%b"; | 6 | format = "<i>%s</i> %p\\n%b"; |
| 7 | alignment = "left"; | 7 | alignment = "left"; |
| 8 | # geometry = "1216x10-32+64"; | 8 | # geometry = "1216x10-32+64"; |
| 9 | width = 250; | 9 | width = 500; |
| 10 | height = 50; | 10 | height = 100; |
| 11 | offset = "16x25"; | 11 | offset = "4x4"; |
| 12 | origin = "top-right"; | 12 | origin = "top-right"; |
| 13 | shrink = true; | 13 | shrink = true; |
| 14 | monitor = 0; | 14 | monitor = 0; |
| @@ -33,7 +33,7 @@ | |||
| 33 | sort = false; | 33 | sort = false; |
| 34 | sticky_history = false; | 34 | sticky_history = false; |
| 35 | 35 | ||
| 36 | dmenu = "${pkgs.dmenu}/bin/dmenu"; | 36 | dmenu = "wofi --show dmenu"; |
| 37 | browser = "${pkgs.xdg-utils}/bin/xdg-open"; | 37 | browser = "${pkgs.xdg-utils}/bin/xdg-open"; |
| 38 | }; | 38 | }; |
| 39 | # shortcuts = { | 39 | # shortcuts = { |
diff --git a/accounts/gkleen@sif/dunstrc.d/20-kitty.conf b/accounts/gkleen@sif/dunstrc.d/20-kitty.conf new file mode 100644 index 00000000..b27ee27e --- /dev/null +++ b/accounts/gkleen@sif/dunstrc.d/20-kitty.conf | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | [kitty] | ||
| 2 | appname=kitty | ||
| 3 | urgency=low | ||
diff --git a/accounts/gkleen@sif/emacs.el b/accounts/gkleen@sif/emacs.el index 0eed3bce..48daa951 100644 --- a/accounts/gkleen@sif/emacs.el +++ b/accounts/gkleen@sif/emacs.el | |||
| @@ -5,7 +5,9 @@ | |||
| 5 | (setq inhibit-startup-message t) | 5 | (setq inhibit-startup-message t) |
| 6 | (defalias 'yes-or-no-p 'y-or-n-p) | 6 | (defalias 'yes-or-no-p 'y-or-n-p) |
| 7 | 7 | ||
| 8 | (set-face-attribute 'default nil :font "Fira Code" :height 49) | 8 | ;; (set-face-attribute 'default nil :font "Fira Code" :height 49) |
| 9 | (set-frame-font "Fira Code 8" nil nil) | ||
| 10 | (load-theme 'modus-vivendi t) | ||
| 9 | 11 | ||
| 10 | (require 'package) | 12 | (require 'package) |
| 11 | (setq package-archives nil) | 13 | (setq package-archives nil) |
diff --git a/accounts/gkleen@sif/hyprland.nix b/accounts/gkleen@sif/hyprland.nix new file mode 100644 index 00000000..9b20f89e --- /dev/null +++ b/accounts/gkleen@sif/hyprland.nix | |||
| @@ -0,0 +1,229 @@ | |||
| 1 | { pkgs, lib, ... }: | ||
| 2 | { | ||
| 3 | monitor = [ | ||
| 4 | ",preferred,auto,auto" | ||
| 5 | "eDP-1,3840x2160@59.99900,auto,1.5" | ||
| 6 | ]; | ||
| 7 | |||
| 8 | "$terminal" = "kitty"; | ||
| 9 | "$menu" = "wofi --show run"; | ||
| 10 | |||
| 11 | exec-once = [ | ||
| 12 | "wpaperd" | ||
| 13 | ]; | ||
| 14 | |||
| 15 | env = [ | ||
| 16 | # "XCURSOR_SIZE,12" | ||
| 17 | "NIXOS_OZONE_WL,1" | ||
| 18 | "QT_QPA_PLATFORM,wayland" | ||
| 19 | "GDK_BACKEND,wayland" | ||
| 20 | "GDK_SCALE,0.66" | ||
| 21 | "QT_AUTO_SCREEN_SCALE_FACTOR,1" | ||
| 22 | ]; | ||
| 23 | |||
| 24 | xwayland.force_zero_scaling = true; | ||
| 25 | |||
| 26 | general = { | ||
| 27 | gaps_in = 3; | ||
| 28 | gaps_out = 9; | ||
| 29 | "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; | ||
| 30 | "col.inactive_border" = "rgba(595959aa)"; | ||
| 31 | |||
| 32 | resize_on_border = false; | ||
| 33 | |||
| 34 | allow_tearing = false; | ||
| 35 | |||
| 36 | layout = "dwindle"; | ||
| 37 | }; | ||
| 38 | |||
| 39 | decoration = { | ||
| 40 | rounding = 5; | ||
| 41 | |||
| 42 | active_opacity = 1.0; | ||
| 43 | inactive_opacity = 1.0; | ||
| 44 | |||
| 45 | drop_shadow = false; | ||
| 46 | shadow_range = 4; | ||
| 47 | shadow_render_power = 3; | ||
| 48 | "col.shadow" = "rgba(1a1a1aee)"; | ||
| 49 | |||
| 50 | blur = { | ||
| 51 | enabled = true; | ||
| 52 | size = 3; | ||
| 53 | passes = 1; | ||
| 54 | |||
| 55 | vibrancy = 0.1696; | ||
| 56 | }; | ||
| 57 | }; | ||
| 58 | |||
| 59 | animations = { | ||
| 60 | enabled = true; | ||
| 61 | bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; | ||
| 62 | animation = [ | ||
| 63 | "windows, 1, 3, default, popin 80%" | ||
| 64 | "windowsMove, 0" | ||
| 65 | # "windows, 1, 7, myBezier" | ||
| 66 | # "windowsOut, 1, 7, myBezier, popin 80%" | ||
| 67 | "border, 1, 10, default" | ||
| 68 | "borderangle, 1, 8, default" | ||
| 69 | "fade, 1, 3, default" | ||
| 70 | "workspaces, 1, 3, default, fade" | ||
| 71 | # "workspaces, 1, 6, default" | ||
| 72 | ]; | ||
| 73 | }; | ||
| 74 | |||
| 75 | dwindle = { | ||
| 76 | pseudotile = true; | ||
| 77 | preserve_split = true; | ||
| 78 | }; | ||
| 79 | |||
| 80 | master = { | ||
| 81 | new_status = "master"; | ||
| 82 | }; | ||
| 83 | |||
| 84 | misc = { | ||
| 85 | force_default_wallpaper = -1; | ||
| 86 | disable_hyprland_logo = false; | ||
| 87 | }; | ||
| 88 | |||
| 89 | input = { | ||
| 90 | kb_layout = "us,us"; | ||
| 91 | kb_variant = "dvp,"; | ||
| 92 | kb_model = ""; | ||
| 93 | kb_options = "compose:caps,grp:win_space_toggle"; | ||
| 94 | kb_rules = ""; | ||
| 95 | |||
| 96 | follow_mouse = 1; | ||
| 97 | |||
| 98 | sensitivity = 0; | ||
| 99 | |||
| 100 | touchpad = { | ||
| 101 | natural_scroll = false; | ||
| 102 | }; | ||
| 103 | }; | ||
| 104 | |||
| 105 | device = [ | ||
| 106 | { name = "synaptics-tm3512-010"; | ||
| 107 | sensitivity = 0.4; | ||
| 108 | } | ||
| 109 | { name = "tpps/2-elan-trackpoint"; | ||
| 110 | sensitivity = 0.2; | ||
| 111 | } | ||
| 112 | ]; | ||
| 113 | |||
| 114 | gestures = { | ||
| 115 | workspace_swipe = false; | ||
| 116 | }; | ||
| 117 | |||
| 118 | dwindle = { | ||
| 119 | # no_gaps_when_only = 1; | ||
| 120 | }; | ||
| 121 | |||
| 122 | "$mainMod" = "SUPER"; | ||
| 123 | |||
| 124 | bind = [ | ||
| 125 | "$mainMod, Q, exec, $terminal" | ||
| 126 | "$mainMod, C, killactive" | ||
| 127 | "$mainMod, M, exit" | ||
| 128 | "$mainMod, V, togglefloating" | ||
| 129 | "$mainMod, R, exec, $menu" | ||
| 130 | "$mainMod, P, pseudo," | ||
| 131 | "$mainMod, J, togglesplit," | ||
| 132 | |||
| 133 | # "$mainMod SHIFT, L, exec, loginctl lock-session" | ||
| 134 | "$mainMod SHIFT, L, exec, gtklock -d" | ||
| 135 | "$mainMod SHIFT, S, exec, systemctl suspend" | ||
| 136 | |||
| 137 | "$mainMod, left, movefocus, l" | ||
| 138 | "$mainMod, right, movefocus, r" | ||
| 139 | "$mainMod, up, movefocus, u" | ||
| 140 | "$mainMod, down, movefocus, d" | ||
| 141 | "$mainMod SHIFT, left, swapwindow, l" | ||
| 142 | "$mainMod SHIFT, right, swapwindow, r" | ||
| 143 | "$mainMod SHIFT, up, swapwindow, u" | ||
| 144 | "$mainMod SHIFT, down, swapwindow, d" | ||
| 145 | |||
| 146 | "$mainMod, T, cyclenext" | ||
| 147 | |||
| 148 | "$mainMod SHIFT, N, movecurrentworkspacetomonitor, +1" | ||
| 149 | |||
| 150 | "$mainMod, F, fullscreen, 1" | ||
| 151 | "$mainMod SHIFT, F, fullscreen, 0" | ||
| 152 | |||
| 153 | "$mainMod, code:14, workspace, 1" | ||
| 154 | "$mainMod, code:17, workspace, 2" | ||
| 155 | "$mainMod, code:13, workspace, 3" | ||
| 156 | "$mainMod, code:18, workspace, 4" | ||
| 157 | "$mainMod, code:12, workspace, 5" | ||
| 158 | "$mainMod, code:19, workspace, 6" | ||
| 159 | "$mainMod, code:11, workspace, 7" | ||
| 160 | "$mainMod, code:20, workspace, 8" | ||
| 161 | "$mainMod, code:15, workspace, 9" | ||
| 162 | "$mainMod, code:16, workspace, 10" | ||
| 163 | |||
| 164 | "$mainMod SHIFT, code:14, movetoworkspacesilent, 1" | ||
| 165 | "$mainMod SHIFT, code:17, movetoworkspacesilent, 2" | ||
| 166 | "$mainMod SHIFT, code:13, movetoworkspacesilent, 3" | ||
| 167 | "$mainMod SHIFT, code:18, movetoworkspacesilent, 4" | ||
| 168 | "$mainMod SHIFT, code:12, movetoworkspacesilent, 5" | ||
| 169 | "$mainMod SHIFT, code:19, movetoworkspacesilent, 6" | ||
| 170 | "$mainMod SHIFT, code:11, movetoworkspacesilent, 7" | ||
| 171 | "$mainMod SHIFT, code:20, movetoworkspacesilent, 8" | ||
| 172 | "$mainMod SHIFT, code:15, movetoworkspacesilent, 9" | ||
| 173 | "$mainMod SHIFT, code:16, movetoworkspacesilent, 10" | ||
| 174 | |||
| 175 | "CTRL, space, exec, dunstctl close" | ||
| 176 | "CTRL SHIFT, space, exec, dunstctl close-all" | ||
| 177 | "CTRL, period, exec, dunstctl context" | ||
| 178 | "CTRL, comma, exec, dunstctl history-pop" | ||
| 179 | |||
| 180 | "$mainMod ALT, E, exec, emacsclient -c" | ||
| 181 | |||
| 182 | ", XF86MonBrightnessUp, exec, brightnessctl s +5%" | ||
| 183 | ", XF86MonBrightnessDown, exec, brightnessctl s 5%-" | ||
| 184 | ", XF86AudioRaiseVolume, exec, pamixer -i 2" | ||
| 185 | ", XF86AudioLowerVolume, exec, pamixer -d 2" | ||
| 186 | ", XF86AudioMute, exec, pamixer -t" | ||
| 187 | |||
| 188 | ", Print, exec, ${pkgs.writeShellScript "screenshot" '' | ||
| 189 | export PATH="${lib.makeBinPath (with pkgs; [ grim slurp wl-clipboard-rs coreutils ])}:$PATH" | ||
| 190 | |||
| 191 | outFile="$HOME/screenshots/$(date +"%Y-%m-%dT%H:%M:%S").png" | ||
| 192 | grim -g "$(slurp -b 00000080 -c FFFFFFFF -s 00000000 -w 1)" "$outFile" | ||
| 193 | wl-copy --type image/png <"$outFile" | ||
| 194 | ''}" | ||
| 195 | |||
| 196 | "$mainMod CTRL, return, togglespecialworkspace, term" | ||
| 197 | "$mainMod CTRL, e, togglespecialworkspace, edit" | ||
| 198 | "$mainMod CTRL, a, togglespecialworkspace, pavucontrol" | ||
| 199 | "$mainMod CTRL, o, togglespecialworkspace, easyeffects" | ||
| 200 | "$mainMod CTRL, b, togglespecialworkspace, blueman" | ||
| 201 | "$mainMod CTRL, p, togglespecialworkspace, keepass" | ||
| 202 | ]; | ||
| 203 | bindm = [ | ||
| 204 | "$mainMod, mouse:272, movewindow" | ||
| 205 | "$mainMod, mouse:273, resizewindow" | ||
| 206 | ]; | ||
| 207 | |||
| 208 | windowrulev2 = [ | ||
| 209 | "suppressevent maximize, class:.*" | ||
| 210 | "maximize, class:^(Element|thunderbird)$" | ||
| 211 | "workspace special:keepass, class:^org\.keepassxc\.KeePassXC$" | ||
| 212 | # "group set always lock invade, class:^Element$" | ||
| 213 | ]; | ||
| 214 | |||
| 215 | workspace = [ | ||
| 216 | "s[true], gapsout:200" | ||
| 217 | |||
| 218 | "special:term, on-created-empty:kitty" | ||
| 219 | "special:edit, on-created-empty:emacsclient -c" | ||
| 220 | "special:pavucontrol, on-created-empty:pavucontrol" | ||
| 221 | "special:easyeffects, on-created-empty:easyeffects" | ||
| 222 | "special:blueman, on-created-empty:blueman-manager" | ||
| 223 | "special:keepass, on-created-empty:keepassxc" | ||
| 224 | ]; | ||
| 225 | |||
| 226 | layerrule = [ | ||
| 227 | "blur, waybar" | ||
| 228 | ]; | ||
| 229 | } | ||
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index fe69a757..1397ca62 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
| @@ -149,6 +149,7 @@ in { | |||
| 149 | BusName = "org.keepassxc.KeePassXC.MainWindow"; | 149 | BusName = "org.keepassxc.KeePassXC.MainWindow"; |
| 150 | WorkingDirectory = "~"; | 150 | WorkingDirectory = "~"; |
| 151 | ExecStart = "${pkgs.keepassxc}/bin/keepassxc"; | 151 | ExecStart = "${pkgs.keepassxc}/bin/keepassxc"; |
| 152 | Environment = [ "QT_QPA_PLATFORM=wayland" ]; | ||
| 152 | }; | 153 | }; |
| 153 | Unit = { | 154 | Unit = { |
| 154 | Requires = ["graphical-session-pre.target"]; | 155 | Requires = ["graphical-session-pre.target"]; |
diff --git a/accounts/gkleen@sif/zshrc b/accounts/gkleen@sif/zshrc index 16079c89..83e86270 100644 --- a/accounts/gkleen@sif/zshrc +++ b/accounts/gkleen@sif/zshrc | |||
| @@ -481,4 +481,6 @@ export EDITOR=emacsclient | |||
| 481 | 481 | ||
| 482 | bindkey -e | 482 | bindkey -e |
| 483 | bindkey ';5C' emacs-forward-word | 483 | bindkey ';5C' emacs-forward-word |
| 484 | bindkey ';5D' emacs-backward-word \ No newline at end of file | 484 | bindkey ';5D' emacs-backward-word |
| 485 | bindkey '^[[1;5C' emacs-forward-word | ||
| 486 | bindkey '^[[1;5D' emacs-backward-word \ No newline at end of file | ||
diff --git a/hosts/sif/default.nix b/hosts/sif/default.nix index f505874b..809e2ace 100644 --- a/hosts/sif/default.nix +++ b/hosts/sif/default.nix | |||
| @@ -388,7 +388,7 @@ in { | |||
| 388 | exportConfiguration = true; | 388 | exportConfiguration = true; |
| 389 | 389 | ||
| 390 | displayManager.lightdm = { | 390 | displayManager.lightdm = { |
| 391 | enable = true; | 391 | enable = false; |
| 392 | greeters.gtk = { | 392 | greeters.gtk = { |
| 393 | clock-format = "%H:%M %a %b %_d"; | 393 | clock-format = "%H:%M %a %b %_d"; |
| 394 | indicators = ["~host" "~spacer" "~clock" "~session" "~power"]; | 394 | indicators = ["~host" "~spacer" "~clock" "~session" "~power"]; |
| @@ -413,7 +413,32 @@ in { | |||
| 413 | }; | 413 | }; |
| 414 | }; | 414 | }; |
| 415 | libinput.enable = true; | 415 | libinput.enable = true; |
| 416 | |||
| 417 | greetd = { | ||
| 418 | enable = true; | ||
| 419 | }; | ||
| 420 | }; | ||
| 421 | |||
| 422 | programs.regreet = { | ||
| 423 | enable = true; | ||
| 424 | theme = { | ||
| 425 | package = pkgs.equilux-theme; | ||
| 426 | name = "Equilux-compact"; | ||
| 427 | }; | ||
| 428 | iconTheme = { | ||
| 429 | package = pkgs.paper-icon-theme; | ||
| 430 | name = "Paper"; | ||
| 431 | }; | ||
| 432 | font = { | ||
| 433 | package = pkgs.fira; | ||
| 434 | name = "Fira Sans"; | ||
| 435 | # size = 6; | ||
| 436 | }; | ||
| 437 | settings = { | ||
| 438 | GTK.application_prefer_dark_theme = true; | ||
| 439 | }; | ||
| 416 | }; | 440 | }; |
| 441 | programs.hyprland.enable = true; | ||
| 417 | 442 | ||
| 418 | systemd.tmpfiles.rules = [ | 443 | systemd.tmpfiles.rules = [ |
| 419 | "d /var/lib/lightdm/.cache/lightdm-gtk-greeter 1770 lightdm lightdm -" | 444 | "d /var/lib/lightdm/.cache/lightdm-gtk-greeter 1770 lightdm lightdm -" |
| @@ -692,6 +717,8 @@ in { | |||
| 692 | ]; | 717 | ]; |
| 693 | }; | 718 | }; |
| 694 | 719 | ||
| 720 | security.pam.services.gtklock = {}; | ||
| 721 | |||
| 695 | system.stateVersion = "24.11"; | 722 | system.stateVersion = "24.11"; |
| 696 | }; | 723 | }; |
| 697 | } | 724 | } |
diff --git a/nvfetcher.toml b/nvfetcher.toml index bdde5795..d40a8d3a 100644 --- a/nvfetcher.toml +++ b/nvfetcher.toml | |||
| @@ -89,3 +89,7 @@ fetch.tarball = "https://downloads.open-mesh.org/batman/stable/sources/batman-ad | |||
| 89 | src.github_tag = "bk2204/scutiger" | 89 | src.github_tag = "bk2204/scutiger" |
| 90 | src.prefix = "v" | 90 | src.prefix = "v" |
| 91 | fetch.tarball = "https://github.com/bk2204/scutiger/archive/refs/tags/v$ver.tar.gz" | 91 | fetch.tarball = "https://github.com/bk2204/scutiger/archive/refs/tags/v$ver.tar.gz" |
| 92 | |||
| 93 | [tomorrow-night-paradise-theme] | ||
| 94 | src.git = "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||
| 95 | fetch.git = "https://github.com/jimeh/tomorrow-night-paradise-theme.el" | ||
