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";
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";
# 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";
# Managing flatpak apps
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";

View File

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

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 = [
./cursor.nix
./hyprland-customization.nix
./hyprpaper.nix
./waybar.nix

View File

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

View File

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

View File

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

View File

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

View File

@ -17,16 +17,18 @@
enable = true;
};
hardware.nvidia = {
# prime = {
# nvidiaBusId = "PCI:1:0:0";
# intelBusId = "PCI:0:2:0";
# };
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = false;
prime = {
sync.enable = true;
nvidiaBusId = "PCI:1:0:0";
intelBusId = "PCI:0:2:0";
};
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "565.77";
sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";