diff options
Diffstat (limited to 'accounts/gkleen@sif/default.nix')
| -rw-r--r-- | accounts/gkleen@sif/default.nix | 172 |
1 files changed, 11 insertions, 161 deletions
diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 3a051a7a..231913d9 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix | |||
| @@ -4,13 +4,6 @@ with lib; | |||
| 4 | 4 | ||
| 5 | let | 5 | let |
| 6 | cfg = config.home-manager.users.${userName}; | 6 | cfg = config.home-manager.users.${userName}; |
| 7 | deHaskell = flakeInputs.nixpkgs-stable.legacyPackages.x86_64-linux.haskell.packages.ghc92.override (oldAttrs: { | ||
| 8 | overrides = pkgs.lib.composeExtensions (oldAttrs.overrides or (_: _: {})) | ||
| 9 | (hself: hsuper: { | ||
| 10 | dbus = pkgs.haskell.lib.doJailbreak hsuper.dbus; | ||
| 11 | }); | ||
| 12 | }); | ||
| 13 | xmonad = import ./xmonad deHaskell; | ||
| 14 | emacsScratch = pkgs.stdenv.mkDerivation (sources.emacs-scratch_el // rec { | 7 | emacsScratch = pkgs.stdenv.mkDerivation (sources.emacs-scratch_el // rec { |
| 15 | phases = [ "installPhase" ]; | 8 | phases = [ "installPhase" ]; |
| 16 | 9 | ||
| @@ -151,15 +144,6 @@ in { | |||
| 151 | 144 | ||
| 152 | config = { | 145 | config = { |
| 153 | services.displayManager.defaultSession = "Hyprland"; # "none+xmonad"; | 146 | services.displayManager.defaultSession = "Hyprland"; # "none+xmonad"; |
| 154 | services.xserver = { | ||
| 155 | windowManager.session = [{ | ||
| 156 | name = "xmonad"; | ||
| 157 | start = '' | ||
| 158 | ${pkgs.systemd}/bin/systemd-cat -t xmonad -- ${pkgs.coreutils}/bin/env -u SHLVL -- ${xmonad}/bin/xmonad & | ||
| 159 | waitPID=$! | ||
| 160 | ''; | ||
| 161 | }]; | ||
| 162 | }; | ||
| 163 | 147 | ||
| 164 | home-manager.users.${userName} = { | 148 | home-manager.users.${userName} = { |
| 165 | imports = [ | 149 | imports = [ |
| @@ -254,12 +238,8 @@ in { | |||
| 254 | }; | 238 | }; |
| 255 | }; | 239 | }; |
| 256 | 240 | ||
| 257 | alacritty = { | ||
| 258 | enable = true; | ||
| 259 | settings = import ./alacritty.nix; | ||
| 260 | }; | ||
| 261 | |||
| 262 | zathura.enable = true; | 241 | zathura.enable = true; |
| 242 | imv.enable = true; | ||
| 263 | 243 | ||
| 264 | mpv.config = { | 244 | mpv.config = { |
| 265 | demuxer-max-bytes = 1073741824; | 245 | demuxer-max-bytes = 1073741824; |
| @@ -267,24 +247,6 @@ in { | |||
| 267 | # gpu-api = "vulkan"; | 247 | # gpu-api = "vulkan"; |
| 268 | }; | 248 | }; |
| 269 | 249 | ||
| 270 | autorandr = { | ||
| 271 | enable = true; | ||
| 272 | hooks = { | ||
| 273 | preswitch = { | ||
| 274 | "stop-tray" = '' | ||
| 275 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target | ||
| 276 | ''; | ||
| 277 | }; | ||
| 278 | postswitch = { | ||
| 279 | # "restart-compton" = "${pkgs.systemd}/bin/systemctl --user try-restart picom"; | ||
| 280 | "restart-tray" = '' | ||
| 281 | ${pkgs.systemd}/bin/systemctl --user try-restart tray.target | ||
| 282 | ''; | ||
| 283 | }; | ||
| 284 | }; | ||
| 285 | profiles = customUtils.nixImport rec { dir = ./autorandr-profiles; _import = name: _base: import "${toString dir}/${name}" inputs; }; | ||
| 286 | }; | ||
| 287 | |||
| 288 | zsh.initExtra = "source ${./zshrc}"; | 250 | zsh.initExtra = "source ${./zshrc}"; |
| 289 | zsh.dirHashes = let | 251 | zsh.dirHashes = let |
| 290 | flakeHashes = mapAttrs' (n: v: nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; | 252 | flakeHashes = mapAttrs' (n: v: nameValuePair (inputNames.${n} or n) (toString v)) flakeInputs; |
| @@ -333,14 +295,6 @@ in { | |||
| 333 | # notify_on_cmd_finish = "invisible 120"; | 295 | # notify_on_cmd_finish = "invisible 120"; |
| 334 | }; | 296 | }; |
| 335 | }; | 297 | }; |
| 336 | wofi = { | ||
| 337 | enable = true; | ||
| 338 | settings = { | ||
| 339 | location = "top"; | ||
| 340 | run-always_parse_args = true; | ||
| 341 | run-show_all = false; | ||
| 342 | }; | ||
| 343 | }; | ||
| 344 | waybar = { | 298 | waybar = { |
| 345 | enable = true; | 299 | enable = true; |
| 346 | systemd = { | 300 | systemd = { |
| @@ -605,41 +559,6 @@ in { | |||
| 605 | mode = "center"; | 559 | mode = "center"; |
| 606 | }; | 560 | }; |
| 607 | }; | 561 | }; |
| 608 | hyprlock = { | ||
| 609 | enable = false; | ||
| 610 | settings = { | ||
| 611 | general = { | ||
| 612 | disable_loading_bar = false; | ||
| 613 | grace = 60; | ||
| 614 | hide_cursor = true; | ||
| 615 | no_fade_in = false; | ||
| 616 | }; | ||
| 617 | |||
| 618 | background = [ | ||
| 619 | { | ||
| 620 | path = "screenshot"; | ||
| 621 | blur_passes = 3; | ||
| 622 | blur_size = 8; | ||
| 623 | } | ||
| 624 | ]; | ||
| 625 | |||
| 626 | input-field = [ | ||
| 627 | { | ||
| 628 | size = "200, 50"; | ||
| 629 | position = "0, -80"; | ||
| 630 | monitor = ""; | ||
| 631 | dots_center = true; | ||
| 632 | fade_on_empty = false; | ||
| 633 | font_color = "rgb(202, 211, 245)"; | ||
| 634 | inner_color = "rgb(91, 96, 120)"; | ||
| 635 | outer_color = "rgb(24, 25, 38)"; | ||
| 636 | outline_thickness = 5; | ||
| 637 | placeholder_text = "'<span foreground=\"##cad3f5\">Password...</span>'"; | ||
| 638 | shadow_passes = 2; | ||
| 639 | } | ||
| 640 | ]; | ||
| 641 | }; | ||
| 642 | }; | ||
| 643 | fuzzel = { | 562 | fuzzel = { |
| 644 | enable = true; | 563 | enable = true; |
| 645 | settings = { | 564 | settings = { |
| @@ -690,13 +609,7 @@ in { | |||
| 690 | grab | 609 | grab |
| 691 | ''; | 610 | ''; |
| 692 | }; | 611 | }; |
| 693 | taffybar = { | ||
| 694 | enable = false; | ||
| 695 | package = import ./taffybar { haskellPackages = deHaskell; }; | ||
| 696 | }; | ||
| 697 | # status-notifier-watcher.enable = true; | ||
| 698 | xembed-sni-proxy.enable = true; | 612 | xembed-sni-proxy.enable = true; |
| 699 | pasystray.enable = false; | ||
| 700 | udiskie = { | 613 | udiskie = { |
| 701 | enable = true; | 614 | enable = true; |
| 702 | automount = false; | 615 | automount = false; |
| @@ -709,23 +622,9 @@ in { | |||
| 709 | }; | 622 | }; |
| 710 | }; | 623 | }; |
| 711 | }; | 624 | }; |
| 712 | unclutter = { | ||
| 713 | enable = false; | ||
| 714 | timeout = 5; | ||
| 715 | }; | ||
| 716 | network-manager-applet.enable = true; | 625 | network-manager-applet.enable = true; |
| 717 | blueman-applet.enable = true; | 626 | blueman-applet.enable = true; |
| 718 | 627 | ||
| 719 | sxhkd = { | ||
| 720 | enable = true; | ||
| 721 | keybindings = { | ||
| 722 | "button8" = "${muteScript}/bin/mute unmute"; | ||
| 723 | "@button8" = "${muteScript}/bin/mute mute"; | ||
| 724 | "button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 1"; | ||
| 725 | "@button9" = "${pkgs.pulseaudio}/bin/pacmd set-sink-mute @DEFAULT_SINK@ 0"; | ||
| 726 | }; | ||
| 727 | }; | ||
| 728 | |||
| 729 | unison = { | 628 | unison = { |
| 730 | enable = true; | 629 | enable = true; |
| 731 | pairs = { | 630 | pairs = { |
| @@ -746,24 +645,6 @@ in { | |||
| 746 | 645 | ||
| 747 | easyeffects = { | 646 | easyeffects = { |
| 748 | enable = true; | 647 | enable = true; |
| 749 | preset = "LoudnessEqualizer"; | ||
| 750 | }; | ||
| 751 | |||
| 752 | screen-locker = { | ||
| 753 | enable = false; | ||
| 754 | lockCmd = toString (pkgs.writeShellScript "lock" '' | ||
| 755 | ${pkgs.playerctl}/bin/playerctl -a status | ${pkgs.gnugrep}/bin/grep -q "Playing" && exit 0 | ||
| 756 | |||
| 757 | cleanup() { | ||
| 758 | ${cfg.services.dunst.package}/bin/dunstctl set-paused false | ||
| 759 | } | ||
| 760 | trap cleanup EXIT INT TERM | ||
| 761 | |||
| 762 | # ${pkgs.playerctl}/bin/playerctl -a pause | ||
| 763 | ${cfg.services.dunst.package}/bin/dunstctl set-paused true | ||
| 764 | ${pkgs.xsecurelock}/bin/xsecurelock | ||
| 765 | ''); | ||
| 766 | xss-lock.extraOptions = ["--transfer-sleep-lock"]; | ||
| 767 | }; | 648 | }; |
| 768 | 649 | ||
| 769 | etesync-dav = { | 650 | etesync-dav = { |
| @@ -771,30 +652,6 @@ in { | |||
| 771 | serverUrl = "https://etesync.yggdrasil.li"; | 652 | serverUrl = "https://etesync.yggdrasil.li"; |
| 772 | }; | 653 | }; |
| 773 | 654 | ||
| 774 | hypridle = { | ||
| 775 | enable = false; | ||
| 776 | settings = { | ||
| 777 | general = { | ||
| 778 | after_sleep_cmd = "hyprctl dispatch dpms on"; | ||
| 779 | before_sleep_cmd = "hyprlock"; | ||
| 780 | ignore_dbus_inhibit = false; | ||
| 781 | ignore_systemd_inhibit = false; | ||
| 782 | lock_cmd = "hyprlock"; | ||
| 783 | }; | ||
| 784 | |||
| 785 | listener = [ | ||
| 786 | { | ||
| 787 | timeout = 300; | ||
| 788 | on-timeout = "hyprlock"; | ||
| 789 | } | ||
| 790 | { | ||
| 791 | timeout = 600; | ||
| 792 | on-timeout = "hyprctl dispatch dpms off"; | ||
| 793 | on-resume = "hyprctl dispatch dpms on"; | ||
| 794 | } | ||
| 795 | ]; | ||
| 796 | }; | ||
| 797 | }; | ||
| 798 | swayidle = { | 655 | swayidle = { |
| 799 | enable = true; | 656 | enable = true; |
| 800 | events = [ | 657 | events = [ |
| @@ -856,33 +713,23 @@ in { | |||
| 856 | }; | 713 | }; |
| 857 | }; | 714 | }; |
| 858 | 715 | ||
| 859 | xsession = { | 716 | xsession.preferStatusNotifierItems = true; |
| 860 | enable = true; | ||
| 861 | |||
| 862 | initExtra = '' | ||
| 863 | ${pkgs.xorg.xinput}/bin/xinput disable 'Synaptics TM3512-010' | ||
| 864 | ${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keysym Caps_Lock = Multi_key' | ||
| 865 | ''; | ||
| 866 | |||
| 867 | preferStatusNotifierItems = true; | ||
| 868 | }; | ||
| 869 | 717 | ||
| 870 | xresources.properties = import ./xresources.nix; | 718 | xresources.properties = import ./xresources.nix; |
| 871 | 719 | ||
| 872 | home = { | 720 | home = { |
| 873 | packages = with pkgs; [ | 721 | packages = with pkgs; [ |
| 874 | fira fira-code powerline-fonts nerdfonts pavucontrol | 722 | fira fira-code powerline-fonts nerdfonts pavucontrol |
| 875 | wrappedKeepassxc sxiv xclip mumble pulseaudio-ctl pamixer | 723 | wrappedKeepassxc wl-clipboard-rs mumble pulseaudio-ctl |
| 876 | libnotify synergy xorg.xbacklight screen-message | 724 | pamixer libnotify screen-message wrappedYTMDesktop qt5ct |
| 877 | wrappedYTMDesktop qt5ct playerctl evince thunderbird | 725 | playerctl evince thunderbird zoom-us steam steam-run |
| 878 | zoom-us steam steam-run wireshark virt-manager | 726 | wireshark virt-manager rclone cached-nix-shell worktime |
| 879 | rclone cached-nix-shell xournal xmonad worktime | ||
| 880 | fira-code-symbols libreoffice xournalpp google-chrome | 727 | fira-code-symbols libreoffice xournalpp google-chrome |
| 881 | nixos-shell virt-viewer freerdp gnome-icon-theme | 728 | nixos-shell virt-viewer freerdp gnome-icon-theme |
| 882 | paper-icon-theme sshpassSecret weechat element-desktop | 729 | paper-icon-theme sshpassSecret weechat element-desktop |
| 883 | matrix-synapse-tools.synadm | 730 | matrix-synapse-tools.synadm |
| 884 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs | 731 | flakeInputs.deploy-rs.packages.${config.nixpkgs.system}.deploy-rs |
| 885 | sieve-connect gimp inkscape udiskie glab scrot nitrokey-app | 732 | sieve-connect gimp inkscape udiskie glab nitrokey-app |
| 886 | pynitrokey gtklock wlrctl nvidiaOffloadScript | 733 | pynitrokey gtklock wlrctl nvidiaOffloadScript |
| 887 | ]; | 734 | ]; |
| 888 | 735 | ||
| @@ -935,6 +782,9 @@ in { | |||
| 935 | "gtklock/config.ini" = { | 782 | "gtklock/config.ini" = { |
| 936 | source = (pkgs.formats.ini {}).generate "config.ini" { | 783 | source = (pkgs.formats.ini {}).generate "config.ini" { |
| 937 | main = { | 784 | main = { |
| 785 | idle-hide = true; | ||
| 786 | follow-focus = true; | ||
| 787 | start-hidden = true; | ||
| 938 | }; | 788 | }; |
| 939 | }; | 789 | }; |
| 940 | }; | 790 | }; |
| @@ -1035,7 +885,7 @@ in { | |||
| 1035 | doFilter = n: v: (filters.${n} or id) (filter (d: d != "emacs.desktop") v); | 885 | doFilter = n: v: (filters.${n} or id) (filter (d: d != "emacs.desktop") v); |
| 1036 | in mapAttrs doFilter (cfg.lib.xdg.mimeAssociations [ | 886 | in mapAttrs doFilter (cfg.lib.xdg.mimeAssociations [ |
| 1037 | cfg.programs.zathura.package | 887 | cfg.programs.zathura.package |
| 1038 | pkgs.sxiv | 888 | cfg.programs.imv.package |
| 1039 | cfg.programs.emacs.package | 889 | cfg.programs.emacs.package |
| 1040 | cfg.programs.firefox.package | 890 | cfg.programs.firefox.package |
| 1041 | ]) // { | 891 | ]) // { |
