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.nix106
1 files changed, 71 insertions, 35 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix
index 706eb241..02241bd0 100644
--- a/accounts/gkleen@sif/default.nix
+++ b/accounts/gkleen@sif/default.nix
@@ -49,7 +49,8 @@ let
49 ]; 49 ];
50 }; 50 };
51 51
52 lockCommand = "${lib.getExe' config.systemd.package "systemctl"} --user start gtklock.service"; 52 # lockCommand = "${lib.getExe' config.systemd.package "systemctl"} --user start gtklock.service";
53 lockCommand = "${lib.getExe' cfg.programs.quickshell.package "qs"} ipc call Lockscreen setLocked true";
53 54
54 editor = pkgs.symlinkJoin { 55 editor = pkgs.symlinkJoin {
55 inherit (cfg.services.emacs.package) name; 56 inherit (cfg.services.emacs.package) name;
@@ -70,9 +71,10 @@ in {
70 home-manager.users.${userName} = { 71 home-manager.users.${userName} = {
71 imports = [ 72 imports = [
72 ./libvirt 73 ./libvirt
73 ./niri 74 ./niri.nix
75 ./shell
74 ./synadm 76 ./synadm
75 flakeInputs.nix-index-database.hmModules.nix-index 77 flakeInputs.nix-index-database.homeModules.nix-index
76 flakeInputs.impermanence.nixosModules.home-manager.impermanence 78 flakeInputs.impermanence.nixosModules.home-manager.impermanence
77 ]; 79 ];
78 80
@@ -172,6 +174,7 @@ in {
172 }; 174 };
173 }; 175 };
174 }; 176 };
177 chromium.enable = true;
175 178
176 zathura = { 179 zathura = {
177 enable = true; 180 enable = true;
@@ -233,6 +236,7 @@ in {
233 config.programs.ssh.package 236 config.programs.ssh.package
234 gnused 237 gnused
235 miniserve 238 miniserve
239 p7zip
236 ]; 240 ];
237 execer = with pkgs; [ 241 execer = with pkgs; [
238 "cannot:${lib.getExe' rpm "rpm2cpio"}" 242 "cannot:${lib.getExe' rpm "rpm2cpio"}"
@@ -245,6 +249,7 @@ in {
245 "cannot:${lib.getExe less}" 249 "cannot:${lib.getExe less}"
246 "cannot:${lib.getExe' config.systemd.package "systemctl"}" 250 "cannot:${lib.getExe' config.systemd.package "systemctl"}"
247 "cannot:${lib.getExe config.programs.ssh.package}" 251 "cannot:${lib.getExe config.programs.ssh.package}"
252 "cannot:${lib.getExe' p7zip "7z"}"
248 ]; 253 ];
249 wrapper = with pkgs; [ 254 wrapper = with pkgs; [
250 "${lib.getExe' magickWrapped "magick"}:${lib.getExe' imagemagick "magick"}" 255 "${lib.getExe' magickWrapped "magick"}:${lib.getExe' imagemagick "magick"}"
@@ -283,6 +288,7 @@ in {
283 pro = "$HOME/projects/pro"; 288 pro = "$HOME/projects/pro";
284 media = "$HOME/media"; 289 media = "$HOME/media";
285 }; 290 };
291 nix-index.enable = true;
286 jq.colors = { 292 jq.colors = {
287 arrays = "1;37"; 293 arrays = "1;37";
288 "false" = "0;37"; 294 "false" = "0;37";
@@ -370,7 +376,7 @@ in {
370 376
371 services = { 377 services = {
372 wpaperd = { 378 wpaperd = {
373 enable = true; 379 enable = false;
374 settings.default = { 380 settings.default = {
375 path = "~/.wallpapers"; 381 path = "~/.wallpapers";
376 duration = "15m"; 382 duration = "15m";
@@ -445,20 +451,6 @@ in {
445 serverUrl = "https://etesync.yggdrasil.li"; 451 serverUrl = "https://etesync.yggdrasil.li";
446 }; 452 };
447 453
448 swayidle = {
449 enable = true;
450 events = [
451 { event = "before-sleep"; command = lockCommand; }
452 { event = "lock"; command = lockCommand; }
453 ];
454 timeouts = [
455 { timeout = 600; command = lockCommand; }
456 ];
457 extraArgs = [
458 "-w"
459 "idlehint" "30"
460 ];
461 };
462 poweralertd.enable = true; 454 poweralertd.enable = true;
463 }; 455 };
464 456
@@ -490,6 +482,8 @@ in {
490 name = "Paper-Mono-Dark"; 482 name = "Paper-Mono-Dark";
491 }; 483 };
492 }; 484 };
485 qt.enable = true;
486 qt.platformTheme.name = "gtk";
493 487
494 qt.kde.settings = { 488 qt.kde.settings = {
495 kwalletrc = { 489 kwalletrc = {
@@ -509,16 +503,16 @@ in {
509 wrappedYTMDesktop libsForQt5.qt5ct playerctl evince papers 503 wrappedYTMDesktop libsForQt5.qt5ct playerctl evince papers
510 thunderbird zoom-us xdg-desktop-portal steam steam-run 504 thunderbird zoom-us xdg-desktop-portal steam steam-run
511 wireshark virt-manager rclone cached-nix-shell worktime 505 wireshark virt-manager rclone cached-nix-shell worktime
512 fira-code-symbols libreoffice xournalpp google-chrome 506 fira-code-symbols libreoffice xournalpp
513 nixos-shell virt-viewer freerdp gnome-icon-theme 507 nixos-shell virt-viewer freerdp gnome-icon-theme
514 paper-icon-theme sshpassSecret weechat element-desktop 508 paper-icon-theme sshpassSecret weechat element-desktop
515 sieve-connect gimp3 inkscape udiskie glab nitrokey-app 509 sieve-connect gimp3 inkscape udiskie glab
516 pynitrokey gtklock wlrctl remmina openscad spice-record 510 gtklock wlrctl remmina openscad spice-record
517 libguestfs-with-appliance nerd-fonts.fira-mono 511 nerd-fonts.fira-mono
518 nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts 512 nerd-fonts.symbols-only nerd-fonts.fira-code powerline-fonts
519 swtpm (hunspellWithDicts (with hunspellDicts; [en_GB-large de_DE])) 513 swtpm (hunspell.withDicts (dicts: with dicts; [en_GB-large de_DE]))
520 libation libqalculate 514 libation libqalculate
521 ] ++ mapAttrsToList (_name: pkg: pkgs.callPackage pkg {}) (customUtils.nixImport { dir = ./utils; }); 515 ] ++ mapAttrsToList (_name: pkg: pkgs.callPackage pkg { inherit sources; }) (customUtils.nixImport { dir = ./utils; });
522 516
523 file = { 517 file = {
524 ".backup-munin".source = ./backup-patterns; 518 ".backup-munin".source = ./backup-patterns;
@@ -535,7 +529,7 @@ in {
535 sessionVariables = { 529 sessionVariables = {
536 # GDK_SCALE = 96.0 / 282.0; 530 # GDK_SCALE = 96.0 / 282.0;
537 # QT_AUTO_SCREEN_SCALE_FACTOR = 1; 531 # QT_AUTO_SCREEN_SCALE_FACTOR = 1;
538 QT_QPA_PLATFORMTHEME = "qt5ct"; 532 QT_QPA_PLATFORMTHEME = lib.mkForce "gtk3";
539 LIBVIRT_DEFAULT_URI = "qemu:///system"; 533 LIBVIRT_DEFAULT_URI = "qemu:///system";
540 STACK_XDG = 1; 534 STACK_XDG = 1;
541 EDITOR = lib.getExe' editor "emacsclient"; 535 EDITOR = lib.getExe' editor "emacsclient";
@@ -588,10 +582,10 @@ in {
588 "--subst-var-by" "ksshaskpass" (lib.getExe pkgs.kdePackages.ksshaskpass) 582 "--subst-var-by" "ksshaskpass" (lib.getExe pkgs.kdePackages.ksshaskpass)
589 ]; 583 ];
590 }; 584 };
591 "systemd/user/xdg-desktop-portal.service.d/after-graphical-session.conf".text = '' 585 # "systemd/user/xdg-desktop-portal.service.d/after-graphical-session.conf".text = ''
592 [Unit] 586 # [Unit]
593 After=graphical-session.target 587 # After=graphical-session.target
594 ''; 588 # '';
595 "systemd/user/home-manager.service.d/before-graphical-session.conf".text = '' 589 "systemd/user/home-manager.service.d/before-graphical-session.conf".text = ''
596 [Unit] 590 [Unit]
597 Before=graphical-session-pre.target 591 Before=graphical-session-pre.target
@@ -695,10 +689,10 @@ in {
695 ${lib.getExe' config.systemd.package "systemd-run"} --wait --user --slice-inherit \ 689 ${lib.getExe' config.systemd.package "systemd-run"} --wait --user --slice-inherit \
696 --property 'CPUAccounting=yes' --property 'CPUQuotaPeriodSec=50ms' \ 690 --property 'CPUAccounting=yes' --property 'CPUQuotaPeriodSec=50ms' \
697 -E DSCP=46 -E NIXOS_OZONE_WL \ 691 -E DSCP=46 -E NIXOS_OZONE_WL \
698 -- ${lib.getExe pkgs.dscp} ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ 692 -- ${lib.getExe pkgs.dscp} ${lib.getExe cfg.programs.chromium.package} \
699 --class=Rainbow \ 693 --class=Rainbow \
700 --app="https://web.openrainbow.com" \ 694 --app="https://web.openrainbow.com" \
701 --user-data-dir=''${HOME}/.config/google-chrome-rainbow 695 --user-data-dir=''${HOME}/.config/chromium-rainbow
702 ''); 696 '');
703 icon = pkgs.fetchurl { 697 icon = pkgs.fetchurl {
704 url = "https://web.openrainbow.com/rb/2.139.17/assets/skins/rainbow/images/homepage/logo__rainbow.svg"; 698 url = "https://web.openrainbow.com/rb/2.139.17/assets/skins/rainbow/images/homepage/logo__rainbow.svg";
@@ -712,10 +706,10 @@ in {
712 name = "Kimai"; 706 name = "Kimai";
713 exec = toString (pkgs.writeShellScript "kimai" '' 707 exec = toString (pkgs.writeShellScript "kimai" ''
714 exec -- \ 708 exec -- \
715 ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ 709 ${lib.getExe cfg.programs.chromium.package} \
716 --class=Kimai \ 710 --class=Kimai \
717 --app="https://kimai.yggdrasil.li" \ 711 --app="https://kimai.yggdrasil.li" \
718 --user-data-dir=''${HOME}/.config/google-chrome-kimai 712 --user-data-dir=''${HOME}/.config/chromium-kimai
719 ''); 713 '');
720 icon = pkgs.fetchurl { 714 icon = pkgs.fetchurl {
721 url = "https://www.kimai.org/images/kimai_logo.png"; 715 url = "https://www.kimai.org/images/kimai_logo.png";
@@ -730,10 +724,10 @@ in {
730 name = "Audiobookshelf"; 724 name = "Audiobookshelf";
731 exec = toString (pkgs.writeShellScript "audiobookshelf" '' 725 exec = toString (pkgs.writeShellScript "audiobookshelf" ''
732 exec -- \ 726 exec -- \
733 ${lib.getExe' pkgs.google-chrome "google-chrome-stable"} \ 727 ${lib.getExe cfg.programs.chromium.package} \
734 --class=Audiobookshelf \ 728 --class=Audiobookshelf \
735 --app="https://audiobookshelf.yggdrasil.li" \ 729 --app="https://audiobookshelf.yggdrasil.li" \
736 --user-data-dir=''${HOME}/.config/google-chrome-audiobookshelf 730 --user-data-dir=''${HOME}/.config/chromium-audiobookshelf
737 ''); 731 '');
738 icon = pkgs.fetchurl { 732 icon = pkgs.fetchurl {
739 url = "https://www.audiobookshelf.org/Logo.png"; 733 url = "https://www.audiobookshelf.org/Logo.png";
@@ -769,6 +763,48 @@ in {
769 color-scheme = "prefer-dark"; 763 color-scheme = "prefer-dark";
770 }; 764 };
771 }; 765 };
766
767 i18n.inputMethod = {
768 enable = true;
769 type = "fcitx5";
770 fcitx5 = {
771 waylandFrontend = true;
772 settings = {
773 globalOptions."Behavior/DisabledAddons" = {
774 "0" = "clipboard";
775 };
776 inputMethod = {
777 "Groups/0" = {
778 Name = "Default";
779 "Default Layout" = "us";
780 DefaultIM = "keyboard-us";
781 };
782 "Groups/0/Items/0" = {
783 Name = "keyboard-us";
784 Layout = "";
785 };
786 "GroupOrder"."0" = "Default";
787 };
788 addons = {
789 classicui.globalSection = {
790 "Vertical Candidate List" = "True";
791 Font = "Fira Sans 10";
792 MenuFont = "Fira Sans 10";
793 TrayFont = "Fira Sans Demi-Bold 10";
794 UseDarkTheme = "True";
795 };
796 quickphrase = {
797 globalSection = {
798 "Choose Modifier" = "None";
799 Spell = "True";
800 FallbackSpellLanguage = "en";
801 };
802 sections.TriggerKey."0" = "Super+E";
803 };
804 };
805 };
806 };
807 };
772 }; 808 };
773 }; 809 };
774} 810}