some more fonts and customization

This commit is contained in:
Remy Moll 2025-03-05 16:39:35 +01:00
parent 3d32b6a4c5
commit 6b1058f6a4
9 changed files with 217 additions and 97 deletions

View File

@ -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";

View File

@ -3,6 +3,8 @@
programs.vscode = { programs.vscode = {
enable = true; enable = true;
profiles = {
default = {
extensions = with pkgs.vscode-extensions; [ extensions = with pkgs.vscode-extensions; [
# QOL # QOL
mhutchie.git-graph mhutchie.git-graph
@ -19,4 +21,101 @@
jnoortheen.nix-ide 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",
};
'';
};
} }

View 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;
};
}

View File

@ -1,5 +1,6 @@
{ {
imports = [ imports = [
./cursor.nix
./hyprland-customization.nix ./hyprland-customization.nix
./hyprpaper.nix ./hyprpaper.nix
./waybar.nix ./waybar.nix

View File

@ -27,6 +27,9 @@
"$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
"$mod, f, togglefloating," # Toggle Floating "$mod, f, togglefloating," # Toggle Floating
@ -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;
};
} }

View File

@ -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"];};
# }; };
# }; };
} }

View File

@ -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;
} }

View File

@ -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";
};
} }

View File

@ -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=";