summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/gkleen@sif/default.nix')
-rw-r--r--accounts/gkleen@sif/default.nix88
1 files changed, 74 insertions, 14 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix
index dc505f6d..1cb7c751 100644
--- a/accounts/gkleen@sif/default.nix
+++ b/accounts/gkleen@sif/default.nix
@@ -38,15 +38,25 @@ let
38 --prefix PATH : ${pkgs.pulseaudio}/bin 38 --prefix PATH : ${pkgs.pulseaudio}/bin
39 ''; 39 '';
40 }; 40 };
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.symlinkJoin {
42 mkdir -p "$out/bin" 42 name = "${package.name}-wrapped";
43 makeWrapper ${package}/bin/${bin} $out/bin/${outBin} \ 43 buildInputs = with pkgs; [ makeWrapper ];
44 ${optionalString (!sandbox) "--add-flags '--no-sandbox'"} 44 paths = [ package ];
45 ''; 45 inherit bin outBin;
46 postBuild = ''
47 hidden=$out/bin/."$(basename "$bin")"-wrapped
48 while [ -e "$hidden" ]; do
49 hidden="''${hidden}_"
50 done
51 mv "$out/bin/$bin" "$hidden"
52 makeWrapper "$hidden" "$out/bin/$outBin" \
53 ${optionalString (!sandbox) "--add-flags '--no-sandbox'"}
54 '';
55 };
46 56
47 wrappedChrome = wrapElectron { package = pkgs.google-chrome; outBin = "google-chrome"; }; 57 wrappedChrome = wrapElectron { package = pkgs.google-chrome; outBin = "google-chrome"; };
48 wrappedZulip = wrapElectron { package = pkgs.zulip; bin = "zulip"; outBin = "zulip"; }; 58 wrappedZulip = wrapElectron { package = pkgs.zulip; bin = "zulip"; outBin = "zulip"; };
49 wrappedElementDesktop = wrapElectron { package = pkgs.element-desktop; bin = "element-desktop"; outBin = "element"; }; 59 wrappedElementDesktop = wrapElectron { package = pkgs.element-desktop; bin = "element-desktop"; };
50 wrappedRocketChatDesktop = wrapElectron { package = pkgs.rocketchat-desktop; bin = "rocketchat-desktop"; outBin = "rocketchat"; }; 60 wrappedRocketChatDesktop = wrapElectron { package = pkgs.rocketchat-desktop; bin = "rocketchat-desktop"; outBin = "rocketchat"; };
51 wrappedYTMDesktop = wrapElectron { package = pkgs.ytmdesktop; sandbox = false; }; 61 wrappedYTMDesktop = wrapElectron { package = pkgs.ytmdesktop; sandbox = false; };
52 62
@@ -355,7 +365,7 @@ in {
355 }; 365 };
356 privacy = { 366 privacy = {
357 icon-spacing = 6; 367 icon-spacing = 6;
358 icon-size = 12; 368 icon-size = 11;
359 modules = [ { type = "screenshare"; } { type = "audio-in"; } ]; 369 modules = [ { type = "screenshare"; } { type = "audio-in"; } ];
360 }; 370 };
361 idle_inhibitor = { 371 idle_inhibitor = {
@@ -423,7 +433,7 @@ in {
423 margin-right: 9px; 433 margin-right: 9px;
424 } 434 }
425 435
426 label.module { 436 .module {
427 margin: 0 5px; 437 margin: 0 5px;
428 } 438 }
429 439
@@ -448,8 +458,15 @@ in {
448 opacity: 0.6; 458 opacity: 0.6;
449 } 459 }
450 460
461 #tray {
462 margin: 0 2px;
463 }
451 #battery, #idle_inhibitor, #backlight { 464 #battery, #idle_inhibitor, #backlight {
452 color: @grey; 465 color: @grey;
466 margin: 0 5px 0 2px;
467 }
468 #backlight, #idle_inhibitor {
469 margin: 0 7px 0 2px;
453 } 470 }
454 #battery.warning { 471 #battery.warning {
455 color: @orange; 472 color: @orange;
@@ -464,10 +481,17 @@ in {
464 color: @white; 481 color: @white;
465 } 482 }
466 483
484 #idle_inhibitor {
485 padding-top: 1px;
486 margin: 0 9px 0 2px;
487 }
488
467 #privacy { 489 #privacy {
468 color: @red; 490 color: @red;
469 margin-right: 4px; 491 margin: -1px 2px 0px 5px;
470 margin-left: 2px; 492 }
493 #clock {
494 margin-right: 5px;
471 } 495 }
472 ''; 496 '';
473 }; 497 };
@@ -514,6 +538,29 @@ in {
514 ]; 538 ];
515 }; 539 };
516 }; 540 };
541 fuzzel = {
542 enable = true;
543 settings = {
544 main = {
545 terminal = lib.getExe pkgs.kitty;
546 layer = "overlay";
547 icon-theme = "Paper";
548 font = "Fira Sans";
549 };
550 colors = {
551 background = "000000aa";
552 text = "cdd6f4ff";
553 match = "94e2d5ff";
554 selection = "585b70ff";
555 selection-match = "94e2d5ff";
556 selection-text = "cdd6f4ff";
557 border = "b4befeff";
558 };
559 dmenu = {
560 exit-immediately-if-empty = true;
561 };
562 };
563 };
517 }; 564 };
518 565
519 services = { 566 services = {
@@ -709,12 +756,12 @@ in {
709 wrappedKeepassxc sxiv xclip mumble pulseaudio-ctl pamixer 756 wrappedKeepassxc sxiv xclip mumble pulseaudio-ctl pamixer
710 libnotify synergy xorg.xbacklight screen-message 757 libnotify synergy xorg.xbacklight screen-message
711 wrappedYTMDesktop qt5ct playerctl evince thunderbird 758 wrappedYTMDesktop qt5ct playerctl evince thunderbird
712 wrappedZulip zoom-us steam steam-run wireshark virt-manager 759 zoom-us steam steam-run wireshark virt-manager
713 rclone cached-nix-shell xournal xmonad worktime 760 rclone cached-nix-shell xournal xmonad worktime
714 fira-code-symbols libreoffice xournalpp wrappedChrome 761 fira-code-symbols libreoffice xournalpp google-chrome
715 nixos-shell virt-viewer freerdp gnome-icon-theme 762 nixos-shell virt-viewer freerdp gnome-icon-theme
716 paper-icon-theme sshpassSecret weechat wrappedElementDesktop 763 paper-icon-theme sshpassSecret weechat element-desktop
717 matrix-synapse-tools.synadm wrappedRocketChatDesktop 764 matrix-synapse-tools.synadm
718 flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs 765 flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs
719 sieve-connect gimp inkscape udiskie glab scrot nitrokey-app 766 sieve-connect gimp inkscape udiskie glab scrot nitrokey-app
720 pynitrokey gtklock wlrctl nvidiaOffloadScript 767 pynitrokey gtklock wlrctl nvidiaOffloadScript
@@ -816,6 +863,19 @@ in {
816 }; 863 };
817 }; 864 };
818 865
866 xdg.desktopEntries = {
867 element-lmu = {
868 name = "Element (LMU)";
869 exec = "element-desktop --profile=lmu %u";
870 icon = "element";
871 genericName = "Matrix Client";
872 categories = [ "Network" "InstantMessaging" "Chat" ];
873 settings = {
874 StartupWMClass = "Element";
875 };
876 };
877 };
878
819 fonts = { 879 fonts = {
820 fontconfig.enable = true; 880 fontconfig.enable = true;
821 lmu-hausschrift.enable = true; 881 lmu-hausschrift.enable = true;