diff options
Diffstat (limited to 'accounts/gkleen@sif/default.nix')
-rw-r--r-- | accounts/gkleen@sif/default.nix | 88 |
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; |