this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update

Ben C 5e80d8d4 0b6dc291

+210 -215
+6 -6
flake.lock
··· 410 410 ] 411 411 }, 412 412 "locked": { 413 - "lastModified": 1762266885, 414 - "narHash": "sha256-THnfl16UGSjMXdDQZwIuFuDJj+tYjUHAl9w/DNpkuAw=", 413 + "lastModified": 1762296971, 414 + "narHash": "sha256-Jyv3L5rrUYpecON+9zyFz2VqgTSTsIG35fXuCyuCQv0=", 415 415 "owner": "nix-community", 416 416 "repo": "home-manager", 417 - "rev": "c39c07bf31dc080851377c04352fa06f197f0c1c", 417 + "rev": "34fe48801d2a5301b814eaa1efb496499d06cebc", 418 418 "type": "github" 419 419 }, 420 420 "original": { ··· 554 554 "systems": "systems_2" 555 555 }, 556 556 "locked": { 557 - "lastModified": 1762207388, 558 - "narHash": "sha256-+FvGHB57ZuJIYbI35qcyGsxhvKdeKlX7AomVD6M5sIg=", 557 + "lastModified": 1762293638, 558 + "narHash": "sha256-svsYLbxNq8EZoVtNF97wCAElZ2py5Q1p7viG6lTUixA=", 559 559 "owner": "nix-community", 560 560 "repo": "nixvim", 561 - "rev": "de1760ddfd3e67aa5d2251d7df9e6bad30c36692", 561 + "rev": "aa3a1dfb028cd09b8061862f9dd8d859467fc7ed", 562 562 "type": "github" 563 563 }, 564 564 "original": {
+192 -203
homeModules/gdi.nix
··· 1 - { inputs, ... }: 2 - { 1 + {inputs, ...}: { 3 2 config, 4 3 lib, 5 4 pkgs, 6 5 ... 7 - }: 8 - { 6 + }: { 9 7 options.cow.gdi = { 10 8 enable = lib.mkEnableOption "Cow GDI, a 'DE' by ur favorite polish cow"; 11 9 doIdle = lib.mkEnableOption "Screen locking and suspend with Hypridle"; 12 10 useUWSM = lib.mkEnableOption "Use UWSM to launch apps"; 13 11 }; 14 12 15 - config = 16 - let 17 - runCmd = cmd: if config.cow.gdi.useUWSM then "uwsm app -- ${cmd}" else cmd; 18 - launchDesktopApp = 19 - deskFile: 20 - if config.cow.gdi.useUWSM then 21 - "uwsm app -- ${deskFile}" 22 - else 23 - "${pkgs.gtk3}/bin/gtk-launch ${deskFile}"; 24 - screenOffCmd = "hyprctl dispatch dpms off; ${pkgs.swaynotificationcenter}/bin/swaync-client --inhibitor-add \"timeout\""; 25 - screenOnCmd = "hyprctl dispatch dpms on; ${pkgs.swaynotificationcenter}/bin/swaync-client --inhibitor-remove \"timeout\""; 26 - iconTheme = { 27 - name = "Tela-green"; 28 - package = pkgs.tela-icon-theme; 29 - }; 30 - cursorTheme = { 31 - name = "catppuccin-mocha-dark-cursors"; 32 - package = pkgs.catppuccin-cursors.mochaDark; 33 - size = 24; 34 - }; 35 - hyprThemeName = "${cursorTheme.name}-hypr"; 36 - hyprCursorTheme = 37 - let 38 - utils = "${pkgs.hyprcursor}/bin/hyprcursor-util"; 39 - in 40 - pkgs.runCommand hyprThemeName { } '' 41 - export PATH="$PATH:${pkgs.xcur2png}/bin" 42 - ${utils} -x ${cursorTheme.package}/share/icons/${cursorTheme.name} --output . 43 - mkdir -p $out/share/icons 44 - ${utils} -c ./extracted_${cursorTheme.name} --output . 45 - cp -r "./theme_Extracted Theme" $out/share/icons/${hyprThemeName} 46 - ''; 13 + config = let 14 + runCmd = cmd: 15 + if config.cow.gdi.useUWSM 16 + then "uwsm app -- ${cmd}" 17 + else cmd; 18 + launchDesktopApp = deskFile: 19 + if config.cow.gdi.useUWSM 20 + then "uwsm app -- ${deskFile}" 21 + else "${pkgs.gtk3}/bin/gtk-launch ${deskFile}"; 22 + screenOffCmd = "hyprctl dispatch dpms off; ${pkgs.swaynotificationcenter}/bin/swaync-client --inhibitor-add \"timeout\""; 23 + screenOnCmd = "hyprctl dispatch dpms on; ${pkgs.swaynotificationcenter}/bin/swaync-client --inhibitor-remove \"timeout\""; 24 + iconTheme = { 25 + name = "Tela-green"; 26 + package = pkgs.tela-icon-theme; 27 + }; 28 + cursorTheme = { 29 + name = "catppuccin-mocha-dark-cursors"; 30 + package = pkgs.catppuccin-cursors.mochaDark; 31 + size = 24; 32 + }; 33 + hyprThemeName = "${cursorTheme.name}-hypr"; 34 + hyprCursorTheme = let 35 + utils = "${pkgs.hyprcursor}/bin/hyprcursor-util"; 47 36 in 37 + pkgs.runCommand hyprThemeName {} '' 38 + export PATH="$PATH:${pkgs.xcur2png}/bin" 39 + ${utils} -x ${cursorTheme.package}/share/icons/${cursorTheme.name} --output . 40 + mkdir -p $out/share/icons 41 + ${utils} -c ./extracted_${cursorTheme.name} --output . 42 + cp -r "./theme_Extracted Theme" $out/share/icons/${hyprThemeName} 43 + ''; 44 + in 48 45 lib.mkIf config.cow.gdi.enable { 49 46 home.packages = with pkgs; [ 50 47 alsa-utils ··· 160 157 "3,horizontal,workspace" 161 158 "4,swipe,move" 162 159 ]; 163 - bind = 164 - let 165 - powerMenu = "rofi -modi 'p:${pkgs.rofi-power-menu}/bin/rofi-power-menu' -show p"; 166 - screenshot = "${pkgs.nushell}/bin/nu ${../res/screenshot.nu}"; 160 + bind = let 161 + powerMenu = "rofi -modi 'p:${pkgs.rofi-power-menu}/bin/rofi-power-menu' -show p"; 162 + screenshot = "${pkgs.nushell}/bin/nu ${../res/screenshot.nu}"; 167 163 168 - openTerminal = launchDesktopApp "org.wezfurlong.wezterm.desktop"; 169 - forEachWorkspace = 170 - { 171 - mod, 172 - dispatch, 173 - }: 174 - builtins.genList ( 175 - i: 176 - let 177 - num = builtins.toString i; 178 - in 179 - "${mod},${num},${dispatch},${if num == "0" then "10" else num}" 180 - ) 10; 181 - in 164 + openTerminal = launchDesktopApp "org.wezfurlong.wezterm.desktop"; 165 + forEachWorkspace = { 166 + mod, 167 + dispatch, 168 + }: 169 + builtins.genList ( 170 + i: let 171 + num = builtins.toString i; 172 + in "${mod},${num},${dispatch},${ 173 + if num == "0" 174 + then "10" 175 + else num 176 + }" 177 + ) 178 + 10; 179 + in 182 180 [ 183 181 "SUPER,M,submap,passthru" 184 182 ] ··· 210 208 "SUPER,B,exec,${runCmd "${pkgs.rofi-bluetooth}/bin/rofi-bluetooth"}" 211 209 "SUPER,Tab,exec,${runCmd "rofi -show window -show-icons"}" 212 210 ] 213 - ++ lib.optionals config.cow.yazi.enable [ "SUPER,E,exec,${launchDesktopApp "yazi.desktop"}" ] 211 + ++ lib.optionals config.cow.yazi.enable ["SUPER,E,exec,${launchDesktopApp "yazi.desktop"}"] 214 212 ++ [ 215 213 "SUPER,N,exec,${runCmd "${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"}" 216 214 "SUPER,A,exec,${runCmd "${pkgs.pavucontrol}/bin/pavucontrol --tab 5"}" ··· 366 364 367 365 catppuccin.rofi.enable = false; 368 366 369 - systemd.user.services = 370 - let 371 - target = config.wayland.systemd.target; 372 - mkShellService = 373 - { 374 - desc, 375 - service, 376 - }: 377 - { 378 - Install = { 379 - WantedBy = [ target ]; 380 - }; 367 + systemd.user.services = let 368 + target = config.wayland.systemd.target; 369 + mkShellService = { 370 + desc, 371 + service, 372 + }: { 373 + Install = { 374 + WantedBy = [target]; 375 + }; 381 376 382 - Unit = { 383 - ConditionEnvironment = "WAYLAND_DISPLAY"; 384 - Description = desc; 385 - After = [ target ]; 386 - PartOf = [ target ]; 387 - }; 377 + Unit = { 378 + ConditionEnvironment = "WAYLAND_DISPLAY"; 379 + Description = desc; 380 + After = [target]; 381 + PartOf = [target]; 382 + }; 388 383 389 - Service = service; 390 - }; 391 - in 392 - { 393 - battery-notif = mkShellService { 394 - desc = "Battery Notification Service"; 384 + Service = service; 385 + }; 386 + in { 387 + battery-notif = mkShellService { 388 + desc = "Battery Notification Service"; 395 389 396 - service = { 397 - ExecStart = "${pkgs.nushell}/bin/nu --plugins ${ 398 - inputs.nu_plugin_dbus.packages.${pkgs.system}.default 399 - } ${../res/battery_notif.nu}"; 400 - Restart = "on-failure"; 401 - RestartSec = "10"; 402 - }; 390 + service = { 391 + ExecStart = "${pkgs.nushell}/bin/nu --plugins ${ 392 + inputs.nu_plugin_dbus.packages.${pkgs.system}.default 393 + } ${../res/battery_notif.nu}"; 394 + Restart = "on-failure"; 395 + RestartSec = "10"; 403 396 }; 397 + }; 404 398 405 - mpris-idle-inhibit = mkShellService { 406 - desc = "MPRIS Idle Inhibitor"; 399 + mpris-idle-inhibit = mkShellService { 400 + desc = "MPRIS Idle Inhibitor"; 407 401 408 - service = { 409 - ExecStart = ''${ 402 + service = { 403 + ExecStart = ''${ 410 404 inputs.wayland-mpris-idle-inhibit.packages.${pkgs.system}.default 411 405 }/bin/wayland-mpris-idle-inhibit --ignore "kdeconnect" --ignore "playerctld"''; 412 - Restart = "on-failure"; 413 - RestartSec = "10"; 414 - }; 406 + Restart = "on-failure"; 407 + RestartSec = "10"; 415 408 }; 416 409 }; 410 + }; 417 411 418 412 qt = { 419 413 enable = true; ··· 446 440 settings = { 447 441 ipc = "on"; 448 442 splash = false; 449 - preload = [ "${config.cow.pictures.bg}" ]; 450 - wallpaper = [ ",${config.cow.pictures.bg}" ]; 443 + preload = ["${config.cow.pictures.bg}"]; 444 + wallpaper = [",${config.cow.pictures.bg}"]; 451 445 }; 452 446 }; 453 447 ··· 515 509 after_sleep_cmd = screenOnCmd; 516 510 }; 517 511 518 - listener = 519 - let 520 - lockTimeout = 120; 521 - in 522 - [ 523 - { 524 - timeout = lockTimeout; # Lock the screen after 2 minutes of inactivity 525 - on-timeout = "loginctl lock-session"; 526 - } 527 - { 528 - timeout = lockTimeout + 120; # Turn off the screen 2 minutes after locking 529 - on-timeout = screenOffCmd; 530 - on-resume = screenOnCmd; 531 - } 532 - { 533 - timeout = lockTimeout + 600; # Suspend 10 minutes after locking 534 - on-timeout = "systemctl suspend"; 535 - } 536 - ]; 512 + listener = let 513 + lockTimeout = 120; 514 + in [ 515 + { 516 + timeout = lockTimeout; # Lock the screen after 2 minutes of inactivity 517 + on-timeout = "loginctl lock-session"; 518 + } 519 + { 520 + timeout = lockTimeout + 120; # Turn off the screen 2 minutes after locking 521 + on-timeout = screenOffCmd; 522 + on-resume = screenOnCmd; 523 + } 524 + { 525 + timeout = lockTimeout + 600; # Suspend 10 minutes after locking 526 + on-timeout = "systemctl suspend"; 527 + } 528 + ]; 537 529 }; 538 530 }; 539 531 ··· 580 572 rofi-pulse-select 581 573 ]; 582 574 }; 583 - theme = 584 - let 585 - inherit (config.lib.formats.rasi) mkLiteral; 586 - in 587 - { 588 - "@import" = 589 - "${config.catppuccin.sources.rofi}/themes/catppuccin-${config.catppuccin.rofi.flavor}.rasi"; 590 - "*" = 591 - (builtins.mapAttrs (name: value: mkLiteral "@${value}") { 592 - "bg0" = "base"; 593 - "bg1" = "mantle"; 594 - "bg2" = "crust"; 595 - "bg3" = config.catppuccin.accent; 596 - "fg0" = "subtext1"; 597 - "fg1" = "text"; 598 - "fg2" = "subtext0"; 599 - "fg3" = "overlay0"; 600 - "fg4" = "surface0"; 601 - }) 602 - // { 603 - font = mkLiteral ''"Roboto 14"''; 604 - background-color = mkLiteral ''transparent''; 605 - text-color = mkLiteral ''@fg0''; 606 - margin = mkLiteral ''0px''; 607 - padding = mkLiteral ''0px''; 608 - spacing = mkLiteral ''0px''; 609 - }; 610 - "window" = { 611 - location = mkLiteral ''north''; 612 - y-offset = mkLiteral ''calc(50% - 176px)''; 613 - width = mkLiteral ''600''; 614 - border-radius = mkLiteral ''24px''; 615 - background-color = mkLiteral ''@bg0''; 616 - }; 617 - "mainbox" = { 618 - padding = mkLiteral ''12px''; 619 - }; 620 - "inputbar" = { 621 - background-color = mkLiteral ''@bg1''; 622 - border-color = mkLiteral ''@bg3''; 623 - border = mkLiteral ''2px''; 624 - border-radius = mkLiteral ''16px''; 625 - padding = mkLiteral ''8px 16px''; 626 - spacing = mkLiteral ''8px''; 627 - children = mkLiteral ''[ prompt, entry ]''; 628 - }; 629 - "prompt" = { 630 - text-color = mkLiteral ''@fg2''; 631 - }; 632 - "entry" = { 633 - placeholder = mkLiteral ''"Search"''; 634 - placeholder-color = mkLiteral ''@fg3''; 635 - }; 636 - "message" = { 637 - margin = mkLiteral ''12px 0 0''; 638 - border-radius = mkLiteral ''16px''; 639 - border-color = mkLiteral ''@bg2''; 640 - background-color = mkLiteral ''@bg2''; 641 - }; 642 - "textbox" = { 643 - padding = mkLiteral ''8px 24px''; 644 - }; 645 - "listview" = { 575 + theme = let 576 + inherit (config.lib.formats.rasi) mkLiteral; 577 + in { 578 + "@import" = "${config.catppuccin.sources.rofi}/themes/catppuccin-${config.catppuccin.rofi.flavor}.rasi"; 579 + "*" = 580 + (builtins.mapAttrs (name: value: mkLiteral "@${value}") { 581 + "bg0" = "base"; 582 + "bg1" = "mantle"; 583 + "bg2" = "crust"; 584 + "bg3" = config.catppuccin.accent; 585 + "fg0" = "subtext1"; 586 + "fg1" = "text"; 587 + "fg2" = "subtext0"; 588 + "fg3" = "overlay0"; 589 + "fg4" = "surface0"; 590 + }) 591 + // { 592 + font = mkLiteral ''"Roboto 14"''; 646 593 background-color = mkLiteral ''transparent''; 647 - margin = mkLiteral ''12px 0 0''; 648 - lines = mkLiteral ''8''; 649 - columns = mkLiteral ''2''; 650 - fixed-height = mkLiteral ''false''; 594 + text-color = mkLiteral ''@fg0''; 595 + margin = mkLiteral ''0px''; 596 + padding = mkLiteral ''0px''; 597 + spacing = mkLiteral ''0px''; 651 598 }; 652 - "element" = { 653 - padding = mkLiteral ''8px 16px''; 654 - spacing = mkLiteral ''8px''; 655 - border-radius = mkLiteral ''16px''; 656 - }; 657 - "element normal active" = { 658 - text-color = mkLiteral ''@bg3''; 659 - }; 660 - "element alternate active" = { 661 - text-color = mkLiteral ''@bg3''; 662 - }; 663 - "element selected normal, element selected active" = { 664 - text-color = mkLiteral ''@fg4''; 665 - background-color = mkLiteral ''@bg3''; 666 - }; 667 - "element-icon" = { 668 - size = mkLiteral ''1em''; 669 - vertical-align = mkLiteral ''0.5''; 670 - }; 671 - "element-text" = { 672 - text-color = mkLiteral ''inherit''; 673 - }; 599 + "window" = { 600 + location = mkLiteral ''north''; 601 + y-offset = mkLiteral ''calc(50% - 176px)''; 602 + width = mkLiteral ''600''; 603 + border-radius = mkLiteral ''24px''; 604 + background-color = mkLiteral ''@bg0''; 605 + }; 606 + "mainbox" = { 607 + padding = mkLiteral ''12px''; 674 608 }; 609 + "inputbar" = { 610 + background-color = mkLiteral ''@bg1''; 611 + border-color = mkLiteral ''@bg3''; 612 + border = mkLiteral ''2px''; 613 + border-radius = mkLiteral ''16px''; 614 + padding = mkLiteral ''8px 16px''; 615 + spacing = mkLiteral ''8px''; 616 + children = mkLiteral ''[ prompt, entry ]''; 617 + }; 618 + "prompt" = { 619 + text-color = mkLiteral ''@fg2''; 620 + }; 621 + "entry" = { 622 + placeholder = mkLiteral ''"Search"''; 623 + placeholder-color = mkLiteral ''@fg3''; 624 + }; 625 + "message" = { 626 + margin = mkLiteral ''12px 0 0''; 627 + border-radius = mkLiteral ''16px''; 628 + border-color = mkLiteral ''@bg2''; 629 + background-color = mkLiteral ''@bg2''; 630 + }; 631 + "textbox" = { 632 + padding = mkLiteral ''8px 24px''; 633 + }; 634 + "listview" = { 635 + background-color = mkLiteral ''transparent''; 636 + margin = mkLiteral ''12px 0 0''; 637 + lines = mkLiteral ''8''; 638 + columns = mkLiteral ''2''; 639 + fixed-height = mkLiteral ''false''; 640 + }; 641 + "element" = { 642 + padding = mkLiteral ''8px 16px''; 643 + spacing = mkLiteral ''8px''; 644 + border-radius = mkLiteral ''16px''; 645 + }; 646 + "element normal active" = { 647 + text-color = mkLiteral ''@bg3''; 648 + }; 649 + "element alternate active" = { 650 + text-color = mkLiteral ''@bg3''; 651 + }; 652 + "element selected normal, element selected active" = { 653 + text-color = mkLiteral ''@fg4''; 654 + background-color = mkLiteral ''@bg3''; 655 + }; 656 + "element-icon" = { 657 + size = mkLiteral ''1em''; 658 + vertical-align = mkLiteral ''0.5''; 659 + }; 660 + "element-text" = { 661 + text-color = mkLiteral ''inherit''; 662 + }; 663 + }; 675 664 location = "center"; 676 665 }; 677 666 nushell.extraConfig = ''
+2 -4
homeModules/user-bean.nix
··· 1 - { ... }: 2 - { 1 + {...}: { 3 2 pkgs, 4 3 lib, 5 4 config, 6 5 ... 7 - }: 8 - { 6 + }: { 9 7 options.cow.bean = { 10 8 enable = lib.mkEnableOption "Bean user presets"; 11 9 pubkey = lib.mkOption {
+9 -1
nixosConfigurations/aperture.nix
··· 18 18 users.users = let 19 19 secureRoot = "/nix/persist/secure"; 20 20 in { 21 - bean.hashedPasswordFile = "${secureRoot}/hashed-passwd"; 21 + bean = { 22 + hashedPasswordFile = "${secureRoot}/hashed-passwd"; 23 + extraGroups = [ 24 + "adbusers" 25 + "kvm" 26 + ]; 27 + }; 22 28 root.hashedPasswordFile = "${secureRoot}/hashed-passwd"; 23 29 }; 24 30 ··· 28 34 dev-name = "APERTURE"; 29 35 }; 30 36 }; 37 + 38 + programs.adb.enable = true; 31 39 32 40 cow = { 33 41 bean.sudoer = true;
+1 -1
nixosModules/user-bean.nix
··· 15 15 users.users.bean = { 16 16 isNormalUser = true; 17 17 description = "Ben C"; 18 - extraGroups = lib.optional config.cow.bean.sudoer "wheel"; 18 + extraGroups = lib.optionals config.cow.bean.sudoer ["wheel"]; 19 19 shell = pkgs.nushell; 20 20 openssh.authorizedKeys.keys = [pubkey]; 21 21 };