some more fonts and customization
This commit is contained in:
		| @@ -3,20 +3,119 @@ | ||||
|   programs.vscode = { | ||||
|     enable = true; | ||||
|  | ||||
|     extensions = with pkgs.vscode-extensions; [ | ||||
|       # QOL | ||||
|       mhutchie.git-graph | ||||
|       redhat.vscode-yaml | ||||
|       github.copilot | ||||
|     profiles = { | ||||
|       default = { | ||||
|         extensions = with pkgs.vscode-extensions; [ | ||||
|           # QOL | ||||
|           mhutchie.git-graph | ||||
|           redhat.vscode-yaml | ||||
|           github.copilot | ||||
|  | ||||
|       # python | ||||
|       ms-python.python | ||||
|       ms-python.isort | ||||
|       ms-python.debugpy | ||||
|       ms-python.vscode-pylance | ||||
|           # python | ||||
|           ms-python.python | ||||
|           ms-python.isort | ||||
|           ms-python.debugpy | ||||
|           ms-python.vscode-pylance | ||||
|  | ||||
|           # Nix language | ||||
|           jnoortheen.nix-ide | ||||
|         ]; | ||||
|       }; | ||||
|  | ||||
|       keybindings = { | ||||
|         "ctrl+shift+." = "workbench.action.terminal.focus"; | ||||
|         "ctlr+#" = "editor.action.commentLine"; | ||||
|       }; | ||||
|  | ||||
|       userSettings = '' | ||||
|         { | ||||
|           "telemetry.enableCrashReporter": false, | ||||
|           "telemetry.enableTelemetry": false, | ||||
|           "git.ignoreMissingGitWarning": true, | ||||
|           "editor.suggestSelection": "first", | ||||
|           "workbench.editorAssociations": { | ||||
|               "*.ipynb": "jupyter-notebook" | ||||
|           }, | ||||
|           "workbench.startupEditor": "newUntitledFile", | ||||
|           "editor.renderWhitespace": "none", | ||||
|           "editor.acceptSuggestionOnEnter": "off", | ||||
|           "explorer.confirmDelete": false, | ||||
|           "git.confirmSync": false, | ||||
|           "workbench.iconTheme": "vs-seti", | ||||
|           "editor.fontLigatures": true, | ||||
|           "explorer.confirmDragAndDrop": false, | ||||
|           "editor.wordWrap": "on", | ||||
|           "files.associations": { | ||||
|           }, | ||||
|           "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" | ||||
|           ], | ||||
|               "%DOC%.tex" | ||||
|           ], | ||||
|           "diffEditor.renderSideBySide": false, | ||||
|           "editor.inlineSuggest.enabled": true, | ||||
|               "suppressLineUncommittedWarning": true | ||||
|           }, | ||||
|           "github.copilot.enable": { | ||||
|               "*": true, | ||||
|               "plaintext": true, | ||||
|               "markdown": true, | ||||
|               "scminput": false, | ||||
|               "yaml": true | ||||
|           }, | ||||
|           "redhat.telemetry.enabled": false, | ||||
|           "git.autofetch": true, | ||||
|           "terminal.integrated.enableMultiLinePasteWarning": false, | ||||
|           "editor.unicodeHighlight.nonBasicASCII": false, | ||||
|           "jupyter.disableJupyterAutoStart": true, | ||||
|           "editor.unicodeHighlight.invisibleCharacters": false, | ||||
|           "editor.unicodeHighlight.ambiguousCharacters": false, | ||||
|           "diffEditor.ignoreTrimWhitespace": false, | ||||
|           "update.showReleaseNotes": false, | ||||
|           "terminal.external.linuxExec": "kitty", | ||||
|           "window.dialogStyle": "custom", | ||||
|           "window.titleBarStyle": "custom", | ||||
|           "github.copilot.editor.enableAutoCompletions": true, | ||||
|           "window.menuBarVisibility": "compact", | ||||
|           "workbench.colorTheme": "Default Light+", | ||||
|           "github.copilot.advanced": {}, | ||||
|           "git.openRepositoryInParentFolders": "never", | ||||
|           "terminal.integrated.commandsToSkipShell": [ | ||||
|               "language-julia.interrupt" | ||||
|           ], | ||||
|           "diffEditor.hideUnchangedRegions.enabled": true, | ||||
|           "[typst]": { | ||||
|               "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?" | ||||
|           }, | ||||
|           "[typst-code]": { | ||||
|               "editor.wordSeparators": "`~!@#$%^&*()=+[{]}\\|;:'\",.<>/?" | ||||
|           }, | ||||
|           "tinymist.fontPaths": [ | ||||
|               "./font" | ||||
|           ], | ||||
|           "editor.fontFamily": "'FiraCode Nerd Font Mono', 'monospace', monospace", | ||||
|         }; | ||||
|       ''; | ||||
|     }; | ||||
|  | ||||
|       # Nix language | ||||
|       jnoortheen.nix-ide | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
|   | ||||
							
								
								
									
										32
									
								
								modules/home-manager/hypr/cursor.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								modules/home-manager/hypr/cursor.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| {inputs, pkgs, ...}:  | ||||
| { | ||||
|     gtk = { | ||||
|         enable = true; | ||||
|         cursorTheme = { | ||||
|             package = pkgs.capitaine-cursors; | ||||
|             name = "capitaine-cursors-white"; | ||||
|             size = 32; | ||||
|         }; | ||||
|         # iconTheme = { | ||||
|         # name = "Papirus-Dark"; | ||||
|         # package = pkgs.papirus-icon-theme; | ||||
|         # }; | ||||
|         # theme = { | ||||
|         # name = "Materia-dark"; | ||||
|         # package = pkgs.materia-theme; | ||||
|         # }; | ||||
|         # font = { | ||||
|         # name = "Inter"; | ||||
|         # size = 11; | ||||
|         # package = pkgs.inter; | ||||
|         # }; | ||||
|     }; | ||||
|  | ||||
|  | ||||
|     home.pointerCursor = { | ||||
|         gtk.enable = true; | ||||
|         package = pkgs.capitaine-cursors; | ||||
|         name = "capitaine-cursors-white"; | ||||
|         size = 32; | ||||
|     }; | ||||
| } | ||||
| @@ -1,5 +1,6 @@ | ||||
| { | ||||
|   imports = [ | ||||
|     ./cursor.nix | ||||
|     ./hyprland-customization.nix | ||||
|     ./hyprpaper.nix | ||||
|     ./waybar.nix | ||||
|   | ||||
| @@ -26,6 +26,9 @@ | ||||
|         "$mod, b, exec, $browser" | ||||
|         "$mod, s, exec, $ide" | ||||
|         "$mod, e, exec, nautilus" | ||||
|          | ||||
|         # Lock screen | ||||
|         "$mod+Shift, l, exec, hyprlock" | ||||
|  | ||||
|  | ||||
|         "$mod+Shift, Q, killactive," # Close window | ||||
| @@ -56,6 +59,9 @@ | ||||
|         # "${pkgs.hyprpaper}/bin/hyprpaper" | ||||
|         # hyprpaper is handled as its own service | ||||
|         "${pkgs.waybar}/bin/waybar" | ||||
|         # Fixes cursor themes in gnome apps under hyprland | ||||
|         "gsettings set org.gnome.desktop.interface cursor-theme '${config.home.pointerCursor.name}'" | ||||
|         "gsettings set org.gnome.desktop.interface cursor-size ${toString home.pointerCursor.size}" | ||||
|       ]; | ||||
|  | ||||
|       general = { | ||||
| @@ -144,35 +150,4 @@ | ||||
|   }; | ||||
|  | ||||
|   services.swaync.enable = true; | ||||
|  | ||||
|  | ||||
|   gtk = { | ||||
|     enable = true; | ||||
|     cursorTheme = { | ||||
|       package = pkgs.capitaine-cursors; | ||||
|       name = "capitaine-cursors-white"; | ||||
|       size = 32; | ||||
|     }; | ||||
|     iconTheme = { | ||||
|       name = "Papirus-Dark"; | ||||
|       package = pkgs.papirus-icon-theme; | ||||
|     }; | ||||
|     theme = { | ||||
|       name = "Materia-dark"; | ||||
|       package = pkgs.materia-theme; | ||||
|     }; | ||||
|     font = { | ||||
|       name = "Inter"; | ||||
|       size = 11; | ||||
|       package = pkgs.inter; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|  | ||||
|   home.pointerCursor = { | ||||
|     gtk.enable = true; | ||||
|     package = pkgs.capitaine-cursors; | ||||
|     name = "capitaine-cursors-white"; | ||||
|     size = 32; | ||||
|   }; | ||||
| } | ||||
|   | ||||
| @@ -4,57 +4,57 @@ | ||||
|  ... | ||||
| }: | ||||
| with lib; let | ||||
|   # wallpapers = builtins.path { path = ../../../wallpapers; }; | ||||
|   wallpapers = builtins.readDir ../../../wallpapers; | ||||
|  | ||||
|   # wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: "${wallpaper}") wallpapers))}\")"; | ||||
|   # wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" '' | ||||
|   #   wallpapers=${wallpaperBashArray} | ||||
|   #   rand=$[$RANDOM % ''${#wallpapers[@]}] | ||||
|   #   wallpaper=''${wallpapers[$rand]} | ||||
|   wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: ../../../wallpapers + "/" + wallpaper) (attrNames wallpapers)))}\")"; | ||||
|   wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" '' | ||||
|     wallpapers=${wallpaperBashArray} | ||||
|     rand=$[$RANDOM % ''${#wallpapers[@]}] | ||||
|     wallpaper=''${wallpapers[$rand]} | ||||
|  | ||||
|   #   monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`) | ||||
|   #   hyprctl hyprpaper unload all | ||||
|   #   hyprctl hyprpaper preload $wallpaper | ||||
|   #   for m in ''${monitor[@]}; do | ||||
|   #     hyprctl hyprpaper wallpaper "$m,$wallpaper" | ||||
|   #   done | ||||
|   # ''; | ||||
|     monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`) | ||||
|     hyprctl hyprpaper unload all | ||||
|     hyprctl hyprpaper preload $wallpaper | ||||
|     for m in ''${monitor[@]}; do | ||||
|       hyprctl hyprpaper wallpaper "$m,$wallpaper" | ||||
|     done | ||||
|   ''; | ||||
| in { | ||||
|   # home.packages = [wallpaperRandomizer]; | ||||
|   home.packages = [wallpaperRandomizer]; | ||||
|  | ||||
|   # services.hyprpaper = { | ||||
|   #   enable = true; | ||||
|   services.hyprpaper = { | ||||
|     enable = true; | ||||
|  | ||||
|   #   # settings = { | ||||
|   #   #   ipc = "on"; | ||||
|   #   #   splash = false; | ||||
|   #   #   splash_offset = 2.0; | ||||
|   #   # }; | ||||
|   # }; | ||||
|     # settings = { | ||||
|     #   ipc = "on"; | ||||
|     #   splash = false; | ||||
|     #   splash_offset = 2.0; | ||||
|     # }; | ||||
|   }; | ||||
|  | ||||
|   # systemd.user = { | ||||
|   #   services.wallpaperRandomizer = { | ||||
|   #     Install = {WantedBy = ["graphical-session.target"];}; | ||||
|   systemd.user = { | ||||
|     services.wallpaperRandomizer = { | ||||
|       Install = {WantedBy = ["graphical-session.target"];}; | ||||
|  | ||||
|   #     Unit = { | ||||
|   #       Description = "Set random desktop background using hyprpaper"; | ||||
|   #       After = ["graphical-session-pre.target"]; | ||||
|   #       PartOf = ["graphical-session.target"]; | ||||
|   #     }; | ||||
|       Unit = { | ||||
|         Description = "Set random desktop background using hyprpaper"; | ||||
|         After = ["graphical-session-pre.target"]; | ||||
|         PartOf = ["graphical-session.target"]; | ||||
|       }; | ||||
|  | ||||
|   #     Service = { | ||||
|   #       Type = "oneshot"; | ||||
|   #       ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer"; | ||||
|   #       IOSchedulingClass = "idle"; | ||||
|   #     }; | ||||
|   #   }; | ||||
|       Service = { | ||||
|         Type = "oneshot"; | ||||
|         ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer"; | ||||
|         IOSchedulingClass = "idle"; | ||||
|       }; | ||||
|     }; | ||||
|  | ||||
|   #   timers.wallpaperRandomizer = { | ||||
|   #     Unit = {Description = "Set random desktop background using hyprpaper on an interval";}; | ||||
|     timers.wallpaperRandomizer = { | ||||
|       Unit = {Description = "Set random desktop background using hyprpaper on an interval";}; | ||||
|  | ||||
|   #     Timer = {OnUnitActiveSec = "6h";}; | ||||
|       Timer = {OnUnitActiveSec = "6h";}; | ||||
|  | ||||
|   #     Install = {WantedBy = ["timers.target"];}; | ||||
|   #   }; | ||||
|   # }; | ||||
|       Install = {WantedBy = ["timers.target"];}; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @@ -5,9 +5,8 @@ | ||||
|  | ||||
|     # waybar requires font-awesome | ||||
|     home.packages = [ | ||||
|         pkgs.font-awesome | ||||
|         pkgs.font-awesome_5 | ||||
|         pkgs.fira-code | ||||
|         # fira code now contains ligatures and font-awesome | ||||
|         nerd-fonts.fira-code | ||||
|         pkgs.pavucontrol | ||||
|     ]; | ||||
|  | ||||
| @@ -141,7 +140,7 @@ | ||||
|                 border: none; | ||||
|                 border-radius: 0; | ||||
|                 /* `otf-font-awesome` is required to be installed for icons */ | ||||
|                 font-family: Liberation Mono; | ||||
|                 font-family: FiraCode Nerd Font; | ||||
|                 min-height: 20px; | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -4,8 +4,20 @@ | ||||
|  | ||||
|   xdg.portal = { | ||||
|     enable = true; | ||||
|     configPackages [ pkgs.hyprland ]; | ||||
|  | ||||
|     extraPortals = [ | ||||
|         pkgs.xdg-desktop-portal-gtk | ||||
|     ]; | ||||
|   }; | ||||
|  | ||||
|  | ||||
|   xdg.userDirs = { | ||||
|     enable = true; | ||||
|     createDirectories = true; | ||||
|     desktop = "Desktop"; | ||||
|     documents = "Documents"; | ||||
|     downloads = "Downloads"; | ||||
|     pictures = "Pictures"; | ||||
|   }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user