some more fonts and customization
This commit is contained in:
		| @@ -2,10 +2,10 @@ | |||||||
|   description = "Nix config entry point"; |   description = "Nix config entry point"; | ||||||
|  |  | ||||||
|   inputs = { |   inputs = { | ||||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; |     nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; | ||||||
|     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; |     nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||||
|     # Home manager |     # Home manager | ||||||
|     home-manager.url = "github:nix-community/home-manager/release-24.11"; |     home-manager.url = "github:nix-community/home-manager/release-25.05"; | ||||||
|     home-manager.inputs.nixpkgs.follows = "nixpkgs"; |     home-manager.inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     # Managing flatpak apps |     # Managing flatpak apps | ||||||
|     nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; |     nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; | ||||||
|   | |||||||
| @@ -3,20 +3,119 @@ | |||||||
|   programs.vscode = { |   programs.vscode = { | ||||||
|     enable = true; |     enable = true; | ||||||
|  |  | ||||||
|     extensions = with pkgs.vscode-extensions; [ |     profiles = { | ||||||
|       # QOL |       default = { | ||||||
|       mhutchie.git-graph |         extensions = with pkgs.vscode-extensions; [ | ||||||
|       redhat.vscode-yaml |           # QOL | ||||||
|       github.copilot |           mhutchie.git-graph | ||||||
|  |           redhat.vscode-yaml | ||||||
|  |           github.copilot | ||||||
|  |  | ||||||
|       # python |           # python | ||||||
|       ms-python.python |           ms-python.python | ||||||
|       ms-python.isort |           ms-python.isort | ||||||
|       ms-python.debugpy |           ms-python.debugpy | ||||||
|       ms-python.vscode-pylance |           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 = [ |   imports = [ | ||||||
|  |     ./cursor.nix | ||||||
|     ./hyprland-customization.nix |     ./hyprland-customization.nix | ||||||
|     ./hyprpaper.nix |     ./hyprpaper.nix | ||||||
|     ./waybar.nix |     ./waybar.nix | ||||||
|   | |||||||
| @@ -26,6 +26,9 @@ | |||||||
|         "$mod, b, exec, $browser" |         "$mod, b, exec, $browser" | ||||||
|         "$mod, s, exec, $ide" |         "$mod, s, exec, $ide" | ||||||
|         "$mod, e, exec, nautilus" |         "$mod, e, exec, nautilus" | ||||||
|  |          | ||||||
|  |         # Lock screen | ||||||
|  |         "$mod+Shift, l, exec, hyprlock" | ||||||
|  |  | ||||||
|  |  | ||||||
|         "$mod+Shift, Q, killactive," # Close window |         "$mod+Shift, Q, killactive," # Close window | ||||||
| @@ -56,6 +59,9 @@ | |||||||
|         # "${pkgs.hyprpaper}/bin/hyprpaper" |         # "${pkgs.hyprpaper}/bin/hyprpaper" | ||||||
|         # hyprpaper is handled as its own service |         # hyprpaper is handled as its own service | ||||||
|         "${pkgs.waybar}/bin/waybar" |         "${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 = { |       general = { | ||||||
| @@ -144,35 +150,4 @@ | |||||||
|   }; |   }; | ||||||
|  |  | ||||||
|   services.swaync.enable = true; |   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 | with lib; let | ||||||
|   # wallpapers = builtins.path { path = ../../../wallpapers; }; |   wallpapers = builtins.readDir ../../../wallpapers; | ||||||
|  |  | ||||||
|   # wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: "${wallpaper}") wallpapers))}\")"; |   wallpaperBashArray = "(\"${strings.concatStrings (strings.intersperse "\" \"" (map (wallpaper: ../../../wallpapers + "/" + wallpaper) (attrNames wallpapers)))}\")"; | ||||||
|   # wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" '' |   wallpaperRandomizer = pkgs.writeShellScriptBin "wallpaperRandomizer" '' | ||||||
|   #   wallpapers=${wallpaperBashArray} |     wallpapers=${wallpaperBashArray} | ||||||
|   #   rand=$[$RANDOM % ''${#wallpapers[@]}] |     rand=$[$RANDOM % ''${#wallpapers[@]}] | ||||||
|   #   wallpaper=''${wallpapers[$rand]} |     wallpaper=''${wallpapers[$rand]} | ||||||
|  |  | ||||||
|   #   monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`) |     monitor=(`hyprctl monitors | grep Monitor | awk '{print $2}'`) | ||||||
|   #   hyprctl hyprpaper unload all |     hyprctl hyprpaper unload all | ||||||
|   #   hyprctl hyprpaper preload $wallpaper |     hyprctl hyprpaper preload $wallpaper | ||||||
|   #   for m in ''${monitor[@]}; do |     for m in ''${monitor[@]}; do | ||||||
|   #     hyprctl hyprpaper wallpaper "$m,$wallpaper" |       hyprctl hyprpaper wallpaper "$m,$wallpaper" | ||||||
|   #   done |     done | ||||||
|   # ''; |   ''; | ||||||
| in { | in { | ||||||
|   # home.packages = [wallpaperRandomizer]; |   home.packages = [wallpaperRandomizer]; | ||||||
|  |  | ||||||
|   # services.hyprpaper = { |   services.hyprpaper = { | ||||||
|   #   enable = true; |     enable = true; | ||||||
|  |  | ||||||
|   #   # settings = { |     # settings = { | ||||||
|   #   #   ipc = "on"; |     #   ipc = "on"; | ||||||
|   #   #   splash = false; |     #   splash = false; | ||||||
|   #   #   splash_offset = 2.0; |     #   splash_offset = 2.0; | ||||||
|   #   # }; |     # }; | ||||||
|   # }; |   }; | ||||||
|  |  | ||||||
|   # systemd.user = { |   systemd.user = { | ||||||
|   #   services.wallpaperRandomizer = { |     services.wallpaperRandomizer = { | ||||||
|   #     Install = {WantedBy = ["graphical-session.target"];}; |       Install = {WantedBy = ["graphical-session.target"];}; | ||||||
|  |  | ||||||
|   #     Unit = { |       Unit = { | ||||||
|   #       Description = "Set random desktop background using hyprpaper"; |         Description = "Set random desktop background using hyprpaper"; | ||||||
|   #       After = ["graphical-session-pre.target"]; |         After = ["graphical-session-pre.target"]; | ||||||
|   #       PartOf = ["graphical-session.target"]; |         PartOf = ["graphical-session.target"]; | ||||||
|   #     }; |       }; | ||||||
|  |  | ||||||
|   #     Service = { |       Service = { | ||||||
|   #       Type = "oneshot"; |         Type = "oneshot"; | ||||||
|   #       ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer"; |         ExecStart = "${wallpaperRandomizer}/bin/wallpaperRandomizer"; | ||||||
|   #       IOSchedulingClass = "idle"; |         IOSchedulingClass = "idle"; | ||||||
|   #     }; |       }; | ||||||
|   #   }; |     }; | ||||||
|  |  | ||||||
|   #   timers.wallpaperRandomizer = { |     timers.wallpaperRandomizer = { | ||||||
|   #     Unit = {Description = "Set random desktop background using hyprpaper on an interval";}; |       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 |     # waybar requires font-awesome | ||||||
|     home.packages = [ |     home.packages = [ | ||||||
|         pkgs.font-awesome |         # fira code now contains ligatures and font-awesome | ||||||
|         pkgs.font-awesome_5 |         nerd-fonts.fira-code | ||||||
|         pkgs.fira-code |  | ||||||
|         pkgs.pavucontrol |         pkgs.pavucontrol | ||||||
|     ]; |     ]; | ||||||
|  |  | ||||||
| @@ -141,7 +140,7 @@ | |||||||
|                 border: none; |                 border: none; | ||||||
|                 border-radius: 0; |                 border-radius: 0; | ||||||
|                 /* `otf-font-awesome` is required to be installed for icons */ |                 /* `otf-font-awesome` is required to be installed for icons */ | ||||||
|                 font-family: Liberation Mono; |                 font-family: FiraCode Nerd Font; | ||||||
|                 min-height: 20px; |                 min-height: 20px; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,8 +4,20 @@ | |||||||
|  |  | ||||||
|   xdg.portal = { |   xdg.portal = { | ||||||
|     enable = true; |     enable = true; | ||||||
|  |     configPackages [ pkgs.hyprland ]; | ||||||
|  |  | ||||||
|     extraPortals = [ |     extraPortals = [ | ||||||
|         pkgs.xdg-desktop-portal-gtk |         pkgs.xdg-desktop-portal-gtk | ||||||
|     ]; |     ]; | ||||||
|   }; |   }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   xdg.userDirs = { | ||||||
|  |     enable = true; | ||||||
|  |     createDirectories = true; | ||||||
|  |     desktop = "Desktop"; | ||||||
|  |     documents = "Documents"; | ||||||
|  |     downloads = "Downloads"; | ||||||
|  |     pictures = "Pictures"; | ||||||
|  |   }; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -17,16 +17,18 @@ | |||||||
|           enable = true; |           enable = true; | ||||||
|         }; |         }; | ||||||
|         hardware.nvidia = { |         hardware.nvidia = { | ||||||
|           # prime = { |  | ||||||
|           #   nvidiaBusId = "PCI:1:0:0"; |  | ||||||
|           #   intelBusId = "PCI:0:2:0"; |  | ||||||
|           # }; |  | ||||||
|           modesetting.enable = true; |           modesetting.enable = true; | ||||||
|           powerManagement.enable = true; |           powerManagement.enable = true; | ||||||
|           powerManagement.finegrained = false; |           powerManagement.finegrained = false; | ||||||
|           open = false; |           open = false; | ||||||
|           nvidiaSettings = false; |           nvidiaSettings = false; | ||||||
|  |  | ||||||
|  |           prime = { | ||||||
|  |             sync.enable = true; | ||||||
|  |             nvidiaBusId = "PCI:1:0:0"; | ||||||
|  |             intelBusId = "PCI:0:2:0"; | ||||||
|  |           }; | ||||||
|  |  | ||||||
|           package = config.boot.kernelPackages.nvidiaPackages.mkDriver { |           package = config.boot.kernelPackages.nvidiaPackages.mkDriver { | ||||||
|             version = "565.77"; |             version = "565.77"; | ||||||
|             sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw="; |             sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw="; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user