diff --git a/home/default.nix b/home/default.nix index 13e87d35..d3a57b21 100644 --- a/home/default.nix +++ b/home/default.nix @@ -32,6 +32,53 @@ }; programs = { bash.enable = true; + fish.enable = true; + nushell.enable = true; + zsh = { + enable = true; + enableAutosuggestions = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + enableVteIntegration = true; + autocd = true; + dotDir = ".config/zsh"; + historySubstringSearch.enable = true; + history.path = "${config.xdg.dataHome}/zsh/history"; + initExtra = '' + xdg-query-program () { + FILETYPE=$(xdg-mime query filetype $@) + DEFAULT=$(xdg-mime query default $FILETYPE) + echo "$FILETYPE -> $DEFAULT" + } + rsync-local-config () { + HOST=$1 + for TARGET in bat git emacs/init.el starship.toml; do + SOURCE="${config.xdg.configHome}/$TARGET" + TMP_TARGET=/tmp/rsync-local-config + TMP_SOURCE=$TMP_TARGET + NIX_SED="${pkgs.gnused}/bin/sed -i 's|/nix/.*/bin/||g'" + NIX_REPLACE="$NIX_SED $TMP_TARGET" + if [[ -e ${config.xdg.configHome}/$TARGET ]]; then + if [[ -d $SOURCE ]]; then + SOURCE=$SOURCE/ + TMP_SOURCE=$TMP_SOURCE/ + NIX_REPLACE="${pkgs.fd}/bin/fd -g '**' $TMP_TARGET -tfile -x $NIX_SED {};" + fi + ${pkgs.rsync}/bin/rsync -avzL --exclude=".git*" $SOURCE $TMP_TARGET + ${pkgs.coreutils}/bin/chmod u+rw -R $TMP_SOURCE + ${pkgs.bash}/bin/sh -c "$NIX_REPLACE" + ${pkgs.rsync}/bin/rsync -avzL --delete --exclude=".git*" $TMP_SOURCE $HOST:.config/$TARGET + ${pkgs.coreutils}/bin/rm -rf $TMP_SOURCE + fi + done + } + ''; + oh-my-zsh = { + enable = true; + plugins = [ "colored-man-pages" "lol" "rand-quote" ]; + theme = ""; + }; + }; eza = { enable = true; git = true; @@ -51,6 +98,7 @@ nix-direnv.enable = true; enableBashIntegration = true; enableZshIntegration = true; + enableNushellIntegration = true; }; fzf = { enable = true; @@ -126,6 +174,8 @@ enable = true; enableBashIntegration = true; enableZshIntegration = true; + enableFishIntegration = true; + enableNushellIntegration = true; settings = { command_timeout = 1000; add_newline = true; @@ -232,50 +282,5 @@ bind c new-window -c "#{pane_current_path}" ''; }; - zsh = { - enable = true; - enableAutosuggestions = true; - enableCompletion = true; - syntaxHighlighting.enable = true; - enableVteIntegration = true; - autocd = true; - dotDir = ".config/zsh"; - historySubstringSearch.enable = true; - history.path = "${config.xdg.dataHome}/zsh/history"; - initExtra = '' - xdg-query-program () { - FILETYPE=$(xdg-mime query filetype $@) - DEFAULT=$(xdg-mime query default $FILETYPE) - echo "$FILETYPE -> $DEFAULT" - } - rsync-local-config () { - HOST=$1 - for TARGET in bat git emacs/init.el starship.toml; do - SOURCE="${config.xdg.configHome}/$TARGET" - TMP_TARGET=/tmp/rsync-local-config - TMP_SOURCE=$TMP_TARGET - NIX_SED="${pkgs.gnused}/bin/sed -i 's|/nix/.*/bin/||g'" - NIX_REPLACE="$NIX_SED $TMP_TARGET" - if [[ -e ${config.xdg.configHome}/$TARGET ]]; then - if [[ -d $SOURCE ]]; then - SOURCE=$SOURCE/ - TMP_SOURCE=$TMP_SOURCE/ - NIX_REPLACE="${pkgs.fd}/bin/fd -g '**' $TMP_TARGET -tfile -x $NIX_SED {};" - fi - ${pkgs.rsync}/bin/rsync -avzL --exclude=".git*" $SOURCE $TMP_TARGET - ${pkgs.coreutils}/bin/chmod u+rw -R $TMP_SOURCE - ${pkgs.bash}/bin/sh -c "$NIX_REPLACE" - ${pkgs.rsync}/bin/rsync -avzL --delete --exclude=".git*" $TMP_SOURCE $HOST:.config/$TARGET - ${pkgs.coreutils}/bin/rm -rf $TMP_SOURCE - fi - done - } - ''; - oh-my-zsh = { - enable = true; - plugins = [ "colored-man-pages" "lol" "rand-quote" ]; - theme = ""; - }; - }; }; } diff --git a/home/hyprland/config.nix b/home/hyprland/config.nix index 978f5409..cd135fe7 100644 --- a/home/hyprland/config.nix +++ b/home/hyprland/config.nix @@ -139,9 +139,11 @@ in '' windowrule = move onscreen 100%-820 60,(pavucontrol|.blueman-manager-wrapped|nm-connection-editor) windowrule = nomaximizerequest, ^(libreoffice).* windowrule = nofullscreenrequest, ^(libreoffice).* - windowrule = nofullscreenrequest,(Nxplayer.bin) - windowrule = nomaximizerequest,(Nxplayer.bin) - windowrule = group set always,(Nxplayer.bin) + windowrule = nofullscreenrequest,(org.remmina.Remmina|Nxplayer.bin) + windowrule = nomaximizerequest,(org.remmina.Remmina|Nxplayer.bin) + windowrule = float,(org.remmina.Remmina|Nxplayer.bin) + windowrule = minsize 1280 720,(org.remmina.Remmina|Nxplayer.bin) + windowrule = maxsize 1920 1080,(org.remmina.Remmina|Nxplayer.bin) windowrulev2 = float,title:(Open),class:(soffice) windowrulev2 = float,title:(Friends List),class:(steam) windowrulev2 = float,title:(Steam Settings),class:(steam) @@ -205,6 +207,7 @@ in '' bind = SUPER, R, moveworkspacetomonitor, name:remote current bind = SUPER, R, workspace, name:remote bind = SUPER SHIFT, R, movetoworkspace, name:remote + windowrule = workspace name:remote, (org.remmina.Remmina) windowrule = workspace name:remote, (Nxplayer.bin) # Special workspaces diff --git a/system/desktop.nix b/system/desktop.nix index 425b2901..92f3fe1f 100644 --- a/system/desktop.nix +++ b/system/desktop.nix @@ -11,8 +11,8 @@ protonvpn-cli protonvpn-gui transmission-gtk - fractal libreoffice + remmina minesweep-rs nomachine-client ];