Desktop usability adjustments #1
@@ -42,7 +42,7 @@ This will create an iso image in the result directory.
 | 
				
			|||||||
## Inspirations
 | 
					## Inspirations
 | 
				
			||||||
- https://github.com/the-nix-way/dev-templates
 | 
					- https://github.com/the-nix-way/dev-templates
 | 
				
			||||||
- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
 | 
					- https://fasterthanli.me/series/building-a-rust-service-with-nix/part-10
 | 
				
			||||||
- https://ianthehenry.com/posts/how-to-learn-nix/profiles/
 | 
					- https://ianthehenry.com/posts/how-to-learn-nix/profiles
 | 
				
			||||||
- https://github.com/JohnRTitor/nix-conf
 | 
					- https://github.com/JohnRTitor/nix-conf
 | 
				
			||||||
- https://github.com/mwaldleben/nix-config
 | 
					- https://github.com/mwaldleben/nix-config
 | 
				
			||||||
- https://github.com/anotherhadi/nixy
 | 
					- https://github.com/anotherhadi/nixy
 | 
				
			||||||
@@ -50,3 +50,4 @@ This will create an iso image in the result directory.
 | 
				
			|||||||
- https://github.com/Frost-Phoenix/nixos-config
 | 
					- https://github.com/Frost-Phoenix/nixos-config
 | 
				
			||||||
- https://github.com/elifouts/Dotfiles
 | 
					- https://github.com/elifouts/Dotfiles
 | 
				
			||||||
- https://github.com/nomadics9/nixcfg
 | 
					- https://github.com/nomadics9/nixcfg
 | 
				
			||||||
 | 
					- https://github.com/Daholli/nixos-config
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,52 +26,41 @@
 | 
				
			|||||||
      {
 | 
					      {
 | 
				
			||||||
        key = "ctrl+#";
 | 
					        key = "ctrl+#";
 | 
				
			||||||
        command = "editor.action.commentLine";
 | 
					        command = "editor.action.commentLine";
 | 
				
			||||||
        when = "textInputFocus";
 | 
					        when = "editorTextFocus";
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    userSettings = {
 | 
					    userSettings = {
 | 
				
			||||||
 | 
					      # visual
 | 
				
			||||||
 | 
					      "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
 | 
				
			||||||
 | 
					      "terminal.integrated.fontFamily" = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					      "workbench.iconTheme" = "vs-seti";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # telemetry
 | 
				
			||||||
      "telemetry.enableCrashReporter" = false;
 | 
					      "telemetry.enableCrashReporter" = false;
 | 
				
			||||||
      "telemetry.enableTelemetry" = false;
 | 
					      "telemetry.enableTelemetry" = false;
 | 
				
			||||||
 | 
					      "redhat.telemetry.enabled" = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # editor QOL
 | 
				
			||||||
 | 
					      "security.workspace.trust.untrustedFiles" = "open";
 | 
				
			||||||
 | 
					      "editor.wordWrap" = "on";
 | 
				
			||||||
 | 
					      "files.autoSave" = "onWindowChange";
 | 
				
			||||||
 | 
					      "files.autoSaveDelay" = 1000;
 | 
				
			||||||
 | 
					      "files.insertFinalNewline" = true;
 | 
				
			||||||
 | 
					      "files.trimTrailingWhitespace" = true;
 | 
				
			||||||
      "git.ignoreMissingGitWarning" = true;
 | 
					      "git.ignoreMissingGitWarning" = true;
 | 
				
			||||||
      "editor.suggestSelection" = "first";
 | 
					      "editor.suggestSelection" = "first";
 | 
				
			||||||
      "workbench.editorAssociations" = {
 | 
					 | 
				
			||||||
          "*.ipynb" = "jupyter-notebook";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      "workbench.startupEditor" = "newUntitledFile";
 | 
					      "workbench.startupEditor" = "newUntitledFile";
 | 
				
			||||||
      "editor.renderWhitespace" = "none";
 | 
					      "editor.renderWhitespace" = "none";
 | 
				
			||||||
      "editor.acceptSuggestionOnEnter" = "off";
 | 
					      "editor.acceptSuggestionOnEnter" = "off";
 | 
				
			||||||
      "explorer.confirmDelete" = false;
 | 
					      "explorer.confirmDelete" = false;
 | 
				
			||||||
      "git.confirmSync" = false;
 | 
					      "git.confirmSync" = false;
 | 
				
			||||||
      "workbench.iconTheme" = "vs-seti";
 | 
					      "git.enableSmartCommit" = true;
 | 
				
			||||||
      "editor.fontLigatures" = true;
 | 
					      "editor.fontLigatures" = true;
 | 
				
			||||||
      "explorer.confirmDragAndDrop" = false;
 | 
					      "explorer.confirmDragAndDrop" = false;
 | 
				
			||||||
      "editor.wordWrap" = "on";
 | 
					 | 
				
			||||||
      "settingsSync.ignoredSettings" = [
 | 
					 | 
				
			||||||
          "editor.fontFamily"
 | 
					 | 
				
			||||||
          "terminal.integrated.fontFamily"
 | 
					 | 
				
			||||||
          "-python.venvFolders"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      "jupyter.askForKernelRestart" = false;
 | 
					 | 
				
			||||||
      "security.workspace.trust.untrustedFiles" = "open";
 | 
					 | 
				
			||||||
      "notebook.cellToolbarLocation" = {
 | 
					 | 
				
			||||||
          "default" = "right";
 | 
					 | 
				
			||||||
          "jupyter-notebook" = "left";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      "git.enableSmartCommit" = true;
 | 
					 | 
				
			||||||
      "terminal.integrated.fontFamily" = "Fira Code";
 | 
					 | 
				
			||||||
      "settingsSync.ignoredExtensions" = [
 | 
					 | 
				
			||||||
          "ms-vscode-remote.remote-wsl"
 | 
					 | 
				
			||||||
          "ms-vscode-remote.remote-ssh-edit"
 | 
					 | 
				
			||||||
          "ms-vscode-remote.remote-ssh"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      "editor.bracketPairColorization.enabled" = true;
 | 
					 | 
				
			||||||
      "jupyter.widgetScriptSources" = [
 | 
					 | 
				
			||||||
          "jsdelivr.com"
 | 
					 | 
				
			||||||
          "unpkg.com"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      "diffEditor.renderSideBySide" = false;
 | 
					 | 
				
			||||||
      "editor.inlineSuggest.enabled" = true;
 | 
					      "editor.inlineSuggest.enabled" = true;
 | 
				
			||||||
 | 
					      "diffEditor.renderSideBySide" = false;
 | 
				
			||||||
      "github.copilot.enable" = {
 | 
					      "github.copilot.enable" = {
 | 
				
			||||||
          "*" = true;
 | 
					          "*" = true;
 | 
				
			||||||
          "plaintext" = true;
 | 
					          "plaintext" = true;
 | 
				
			||||||
@@ -79,7 +68,7 @@
 | 
				
			|||||||
          "scminput" = false;
 | 
					          "scminput" = false;
 | 
				
			||||||
          "yaml" = true;
 | 
					          "yaml" = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      "redhat.telemetry.enabled" = false;
 | 
					      "editor.bracketPairColorization.enabled" = true;
 | 
				
			||||||
      "git.autofetch" = true;
 | 
					      "git.autofetch" = true;
 | 
				
			||||||
      "terminal.integrated.enableMultiLinePasteWarning" = false;
 | 
					      "terminal.integrated.enableMultiLinePasteWarning" = false;
 | 
				
			||||||
      "editor.unicodeHighlight.nonBasicASCII" = false;
 | 
					      "editor.unicodeHighlight.nonBasicASCII" = false;
 | 
				
			||||||
@@ -100,6 +89,23 @@
 | 
				
			|||||||
          "language-julia.interrupt"
 | 
					          "language-julia.interrupt"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      "diffEditor.hideUnchangedRegions.enabled" = true;
 | 
					      "diffEditor.hideUnchangedRegions.enabled" = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Python
 | 
				
			||||||
 | 
					      "jupyter.askForKernelRestart" = false;
 | 
				
			||||||
 | 
					      "workbench.editorAssociations" = {
 | 
				
			||||||
 | 
					          "*.ipynb" = "jupyter-notebook";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "notebook.cellToolbarLocation" = {
 | 
				
			||||||
 | 
					          "default" = "right";
 | 
				
			||||||
 | 
					          "jupyter-notebook" = "left";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      "jupyter.widgetScriptSources" = [
 | 
				
			||||||
 | 
					          "jsdelivr.com"
 | 
				
			||||||
 | 
					          "unpkg.com"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Typst
 | 
				
			||||||
      "[typst]" = {
 | 
					      "[typst]" = {
 | 
				
			||||||
          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
					          "editor.wordSeparators" = "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
@@ -109,7 +115,6 @@
 | 
				
			|||||||
      "tinymist.fontPaths" = [
 | 
					      "tinymist.fontPaths" = [
 | 
				
			||||||
          "./font"
 | 
					          "./font"
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'monospace', monospace";
 | 
					 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -154,27 +154,45 @@
 | 
				
			|||||||
        ", preferred, auto, 1" # automatically add any newly detected monitor
 | 
					        ", preferred, auto, 1" # automatically add any newly detected monitor
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      xwayland = {
 | 
				
			||||||
 | 
					        enabled = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      env = [
 | 
					      env = [
 | 
				
			||||||
 | 
					        # force apps to use wayland
 | 
				
			||||||
        "NIXOS_OZONE_WL,1"
 | 
					        "NIXOS_OZONE_WL,1"
 | 
				
			||||||
        "ELECTRON_OZONE_PLATFORM_HINT,wayland"
 | 
					        "ELECTRON_OZONE_PLATFORM_HINT,wayland"
 | 
				
			||||||
 | 
					        # set the scale factor for GDK apps
 | 
				
			||||||
 | 
					        "GDK_SCALE,1.5"
 | 
				
			||||||
 | 
					        "XCURSOR_SIZE,32"
 | 
				
			||||||
 | 
					        # set the scale factor for QT apps
 | 
				
			||||||
 | 
					        "QT_SCALE_FACTOR,1.5"
 | 
				
			||||||
 | 
					        # set the scale factor for GTK apps
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    plugins = [
 | 
					    # TODO - plugins are broken for now
 | 
				
			||||||
      # Global overview
 | 
					    # plugins = [
 | 
				
			||||||
      # inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
 | 
					    #   # Global overview
 | 
				
			||||||
      # Touch gestures: https://github.com/horriblename/hyprgrass
 | 
					    #   inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
 | 
				
			||||||
      # inputs.hyprgrass.packages.${pkgs.system}.default
 | 
					    #   # Touch gestures: https://github.com/horriblename/hyprgrass
 | 
				
			||||||
      # Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
 | 
					    #   inputs.hyprgrass.packages.${pkgs.system}.default
 | 
				
			||||||
      # inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops
 | 
					    # ];
 | 
				
			||||||
    ];
 | 
					
 | 
				
			||||||
 | 
					    # plugin = {
 | 
				
			||||||
 | 
					    #   touch_gestures = {
 | 
				
			||||||
 | 
					    #     sensitivity = 4.0;
 | 
				
			||||||
 | 
					    #     # must be >= 3
 | 
				
			||||||
 | 
					    #     workspace_swipe_fingers = 3;
 | 
				
			||||||
 | 
					    #   };
 | 
				
			||||||
 | 
					    # };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.network-manager-applet = {
 | 
					  # services.network-manager-applet = {
 | 
				
			||||||
    enable = true;
 | 
					  #   enable = true;
 | 
				
			||||||
  };
 | 
					  # };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.swaync.enable = true;
 | 
					  services.swaync.enable = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,8 @@
 | 
				
			|||||||
        blur_size = 10;
 | 
					        blur_size = 10;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      input-field = {
 | 
					      input-field = {
 | 
				
			||||||
        size = "20%, 5%";
 | 
					        monitor = "";
 | 
				
			||||||
 | 
					        size = "300, 60";
 | 
				
			||||||
        outline_thickness = 3;
 | 
					        outline_thickness = 3;
 | 
				
			||||||
        inner_color = "rgba(0, 0, 0, 0.0)";
 | 
					        inner_color = "rgba(0, 0, 0, 0.0)";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -28,11 +29,49 @@
 | 
				
			|||||||
        fade_on_empty = false;
 | 
					        fade_on_empty = false;
 | 
				
			||||||
        rounding = 15;
 | 
					        rounding = 15;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        position = "0, -20";
 | 
					        position = "0, -250";
 | 
				
			||||||
        halign = "center";
 | 
					        halign = "center";
 | 
				
			||||||
        valign = "center";
 | 
					        valign = "center";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					      label = [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          # Day-Month-Date
 | 
				
			||||||
 | 
					          monitor = "";
 | 
				
			||||||
 | 
					          text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
 | 
				
			||||||
 | 
					          # color = foreground;
 | 
				
			||||||
 | 
					          font_size = 28;
 | 
				
			||||||
 | 
					          # font_family = font + " Bold";
 | 
				
			||||||
 | 
					          position = "0, 490";
 | 
				
			||||||
 | 
					          halign = "center";
 | 
				
			||||||
 | 
					          valign = "center";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        # Time
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          monitor = "";
 | 
				
			||||||
 | 
					          text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
 | 
				
			||||||
 | 
					          # color = foreground;
 | 
				
			||||||
 | 
					          font_size = 160;
 | 
				
			||||||
 | 
					          # font_family = "steelfish outline regular";
 | 
				
			||||||
 | 
					          position = "0, 370";
 | 
				
			||||||
 | 
					          halign = "center";
 | 
				
			||||||
 | 
					          valign = "center";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        # USER
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          monitor = "";
 | 
				
			||||||
 | 
					          text = "    $USER";
 | 
				
			||||||
 | 
					          # color = foreground;
 | 
				
			||||||
 | 
					          outline_thickness = 2;
 | 
				
			||||||
 | 
					          dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
 | 
				
			||||||
 | 
					          dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
 | 
				
			||||||
 | 
					          dots_center = true;
 | 
				
			||||||
 | 
					          font_size = 18;
 | 
				
			||||||
 | 
					          # font_family = font + " Bold";
 | 
				
			||||||
 | 
					          position = "0, -180";
 | 
				
			||||||
 | 
					          halign = "center";
 | 
				
			||||||
 | 
					          valign = "center";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  # Style the lock screen
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -108,6 +108,10 @@
 | 
				
			|||||||
                    format-plugged = "{capacity}%  ";
 | 
					                    format-plugged = "{capacity}%  ";
 | 
				
			||||||
                    format-icons = [ "" "" "" "" "" "" ];
 | 
					                    format-icons = [ "" "" "" "" "" "" ];
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
 | 
					                "backlight" = {
 | 
				
			||||||
 | 
					                    "format" = "{percent}% {icon}",;
 | 
				
			||||||
 | 
					                    "format-icons" = ["" "" "" "" "" "" "" "" ""];
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
                "wireplumber" = {
 | 
					                "wireplumber" = {
 | 
				
			||||||
                    scroll-step = 10;
 | 
					                    scroll-step = 10;
 | 
				
			||||||
                    format = "{icon} {volume}%";# {format_source}";
 | 
					                    format = "{icon} {volume}%";# {format_source}";
 | 
				
			||||||
@@ -133,7 +137,6 @@
 | 
				
			|||||||
                "tray" = {
 | 
					                "tray" = {
 | 
				
			||||||
                    spacing = 5;
 | 
					                    spacing = 5;
 | 
				
			||||||
                };
 | 
					                };
 | 
				
			||||||
 | 
					 | 
				
			||||||
                "custom/notification" = {
 | 
					                "custom/notification" = {
 | 
				
			||||||
                    tooltip = false;
 | 
					                    tooltip = false;
 | 
				
			||||||
                    format = "{icon} {}";
 | 
					                    format = "{icon} {}";
 | 
				
			||||||
@@ -202,6 +205,12 @@
 | 
				
			|||||||
                padding: 3px;
 | 
					                padding: 3px;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            #battery.warning {
 | 
				
			||||||
 | 
					                background:rgba(240, 165, 0, 0.6);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            #battery.critical {
 | 
				
			||||||
 | 
					                background:rgba(255, 0, 0, 0.6);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        '';
 | 
					        '';
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,8 @@
 | 
				
			|||||||
            background_opacity = 0.8;
 | 
					            background_opacity = 0.8;
 | 
				
			||||||
            confirm_os_window_close = 0;
 | 
					            confirm_os_window_close = 0;
 | 
				
			||||||
            cursor_trail = 3;
 | 
					            cursor_trail = 3;
 | 
				
			||||||
 | 
					            cursor_trail_decay = "0.1 0.4";
 | 
				
			||||||
 | 
					            url_style = "curly";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        keybindings = {
 | 
					        keybindings = {
 | 
				
			||||||
            # copy and paste
 | 
					            # copy and paste
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user